我正在尝试创build一个具有特定关系的守护进程集,我只希望它在types为prod的节点上创buildPod。 我使用以下testing代码:
apiVersion:extensions / v1beta1
kind:DaemonSet
元数据:
名称:test0
命名空间:kube-system
规格:
模板:
元数据:
标签:
app:test0
规格:
亲和力:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- 键:键入
运营商:在
值:
- prod
容器:
- 名称: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开始,亲和力是Kubernetes的一部分,所以我不认为这会是问题吗?
自己find了解决scheme,显然我需要使用一个注释来代替:
...
规格:
模板:
元数据:
标签:
app:test0
注释:
scheduler.alpha.kubernetes.io/affinity:>
{
“nodeAffinity”:{
“必需的时间安排忽略时间执行”:{
“nodeSelectorTerms”:[
{
“matchExpressions”:[
{
“key”:“type”,
“运营商”:“在”,
“价值观”:[“prod”]
}
]
}
]
}
}
}
...