将aspnetcore webapi部署到minikube时出错

问题描述 投票:0回答:2

当我尝试执行此命令时kubectl apply -f mydeployment.yaml我收到错误错误:SchemaError(io.k8s.api.core.v1.ContainerState):无效对象没有其他属性。如何将我的aspnetcore webapi成功部署到我当地的Kubernetes集群?

我已经尝试通过运行命令choco upgrade minikube来升级minikube。它说我已经有了最新版本。 minikube v1.0.0是根据您的来源提供的最新版本。

我创建的deployment.yaml看起来像这样。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  labels:
    app: app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
        name: myfirstdockerapi
        image: myfirstdockerapi
        ports:
        - containerPort: 80
kubernetes minikube
2个回答
0
投票

在开始之前清理所有内容:

rm -rf ~/.minikube

根据文件:

您必须使用与群集的一个次要版本差异的kubectl版本。例如,v1.2客户端应该与v1.1,v1.2和v1.3 master一起使用。使用最新版本的kubectl有助于避免无法预料的问题。

在Github上的Minikube资源你可以找到here

避免交互问题 - 将默认Kubernetes版本更新为v1.14.0#3967注意:,我们还建议将kubectl更新到最新版本(v1.13 +)

有关minikube的最新版本,请遵循官方文档here

Kubernetes博客 - here, Stackoverlow here, Choco here

在附加部署中存在缩进问题(已更正),请再试一次。

spec:
  containers:
  - name: myfirstdockerapi
    image: myfirstdockerapi
    ports:
    - containerPort: 80

0
投票

containers元素需要一个列表,因此您需要在每个条目前加一个破折号。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  labels:
    app: app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
      - name: myfirstdockerapi
        image: myfirstdockerapi
        ports:
        - containerPort: 80

如果您不确定您是否可以使用kubectl来验证您的文件而不创建它:kubectl apply -f sample.yaml --validate --dry-run以防万一您的kubectl版本与您的kubernetes集群版本相匹配。

© www.soinside.com 2019 - 2024. All rights reserved.