kubernetes - 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.v1.DaemonSetStatus 中缺少必填字段“currentNumberScheduled”,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.v1.DaemonSetStatus 中缺少必填字段“numberReady”];如果您选择忽略这些错误,请使用 --validate=false 关闭验证
但是在文档或谷歌的任何地方都没有关于这些必填字段的信息:(
解决方案
status: {}
创建资源时不要传入yaml。该字段仅用于从 API 服务器返回的状态信息。
推荐阅读
- java - 如何将 IntStream 转换为 List
? - javascript - Angular 多项目 tslint 规则配置
- html - VS Code 2017“本地主机拒绝连接”HTML文件
- python - 如何阻止信号到达自定义插槽
- python - Python 中的错误:未定义名称“df”
- junit - 带有 Spring JdbcTemplate 的 SimpleJdbcCall 的 Mockito
- python - 应用具有混合布尔值和数值的 pandas GroupBy
- reactjs - 是否聚合了多个 this.setState 调用的状态更改?
- javascript - 仅在 wordpress 简码页面上调用 js 方法
- android - 如何检索用户通过颤振谷歌放置自动完成屏幕选择的位置,以便创建路线?