我正在尝试创建一个具有特定亲和力的 DaemonSet,我希望它只在 type=prod 的节点上创建 Pod。我使用以下测试代码:
apiVersion:扩展/v1beta1 种类:守护程序集 元数据: 名称:test0 命名空间:kube 系统 规格: 模板: 元数据: 标签: 应用程序:test0 规格: 亲和力: 节点亲和性: requiredDuringSchedulingIgnoredDuringExecution: 节点选择器条款: - 匹配表达式: - 键:类型 运营商:在 价值观: - 产品 容器: - 名称:test0 图片:gcr.io/google_containers/pause:2.0
但是,kubectl 退出并出现以下错误:
error: error validating "test.yaml": error validating data: found invalid field affinity for v1.PodSpec; if you choose to ignore these errors, turn validation off with --validate=false
我不知道我在这里做错了什么。我也尝试将关联块放在模板块下,同样的错误。
不过,我应该注意到集群仍然是 Kubernetes 1.4.8。自 1.2 以来,Affinity 是 Kubernetes 的一部分,所以我认为这不是问题吗?
自己找到了解决方案,显然我需要使用注释:
你所拥有的对我来说看起来很完美,如果我猜测它为什么不起作用,可能是由于以下两个原因之一:
我正在使用它(只是摆弄一些东西作为实验),这似乎与你所拥有的非常相似,它按我的预期工作。