DaemonSet 中缺少必填字段

Missing required field in DaemonSet

我正在尝试 运行 遵循此文档 https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

的 Kubernetes 集群上的 Cadvisor

以下 yaml 文件的内容:

apiVersion: v1
kind: Namespace
metadata:
  name: kube-system
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: cadvisor
  namespace: kube-system
  labels:
    name: cadvisor
spec:
  selector:
    matchLabels:
      name: cadvisor
  template:
    metadata:
      labels:
        name: cadvisor
    spec:
      containers:
      - image: google/cadvisor:latest
        name: cadvisor
        ports:
        - containerPort: 8080
      restartPolicy: Always
status: {}

但是当我尝试部署它时:

kubectl apply -f cadvisor.daemonset.yaml

我得到输出 + 错误:

错误:验证错误 "cadvisor.daemonset.yaml":验证数据错误:[ValidationError(DaemonSet.status):io.k8s.api.apps 中缺少必填字段 "currentNumberScheduled" .v1.DaemonSetStatus, ValidationError(DaemonSet.status): io.k8s.api.apps.v1.DaemonSetStatus, 缺少必填字段 "numberMisscheduled", ValidationError(DaemonSet.status): 缺少必填字段io.k8s.api.apps.v1.DaemonSetStatus 中的字段 "desiredNumberScheduled",ValidationError(DaemonSet.status):io.k8s.api.apps.[=34 中缺少必填字段 "numberReady" =]];如果您选择忽略这些错误,请使用 --validate=false

关闭验证

但是文档中或 Google 上的任何地方都没有关于这些必填字段的信息:(

创建资源时不要在yaml中传递status: {}。该字段仅用于从 API 服务器返回的状态信息。