部署到 Kubernetes 时出现未知字段错误

sai*_*ris 4 kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: django-k8-web-deployment
  labels:
    app: django-k8-web-deployment

spec:
  replicas: 3

  selector:
    matchLabels:
      app: django-k8-web-deployment

  template:
    metadata:
      labels:
        app: django-k8-web-deployment
    spec:
      containers:
        - name: django-k8s-web
          image: registry.digitalocean.com/chrisocean/django-k8s-web:latest
          envFrom:
            - secretRef:
              name: django-k8s-web-prod-env
          env:
            - name: PORT
              value: "8001"
          ports:
            - containerPort: 8001
      imagePullSecrets:
        - name: oceandev

Run Code Online (Sandbox Code Playgroud)

上面的yaml文件就是我想要在kubernetes中应用的。我在终端上运行了以下命令

kubectl apply -f k8s/apps/django-k8s-web.yaml
Run Code Online (Sandbox Code Playgroud)

然后我在终端上出现以下错误

kubectl apply -f k8s/apps/django-k8s-web.yaml
service/django-k8-web-service unchanged
Error from server (BadRequest): error when creating "k8s/apps/django-k8s-web.yaml": Deployment in version "v1" cannot be handled as a Deployment: strict decoding error: unknown field "spec.template.spec.containers[0].envFrom[0].name"
Run Code Online (Sandbox Code Playgroud)

谁知道如何解决这个问题?

我希望它应用 yaml 文件中的更改,但它不起作用。当我运行以下命令时

kubectl get pods
Run Code Online (Sandbox Code Playgroud)

Pod 的状态为待处理

小智 7

这是缩进的问题。

这是正确的deployment定义

apiVersion: apps/v1
kind: Deployment
metadata:
  name: django-k8-web-deployment
  labels:
    app: django-k8-web-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: django-k8-web-deployment
  template:
    metadata:
      labels:
        app: django-k8-web-deployment
    spec:
      containers:
      - name: django-k8s-web
        image: registry.digitalocean.com/chrisocean/django-k8s-web:latest
        envFrom:
        - secretRef:
            name: django-k8s-web-prod-env
        env:
        - name: PORT
          value: "8001"
        ports:
        - containerPort: 8001
      imagePullSecrets:
      - name: oceandev
Run Code Online (Sandbox Code Playgroud)