因此,我想弄清楚k8s中的污点如何工作,我在kubelet yaml规范中进行了以下设置,由于我只想将某些豆荚放在上面,因此我有点困惑在污点寄存器中的价值此节点...休息所有POD都应该掉落,或者对于其他任何吊舱,则特定吊舱节点的行为应不可计划。
--container-runtime=docker \
--register-node=true \
--allow-privileged=true \
--register-schedulable=false \
--register-with-taints=
--pod-manifest-path=/etc/kubernetes/manifests \
答案 0 :(得分:2)
--register-with-taints
的{{1}}参数是节点级参数,并在给定的污点列表中注册该节点。
Here是有关kubelet
的文档:
--register-with-taints
如果设置了--register-with-taints []api.Taint
Register the node with the given list of taints (comma separated "=:").
No-op if register-node is false.
,则其格式应为--register-with-taints
(或逗号分隔,类似于<key>=<value>:<effect>
)。
我只希望将某些吊舱放置在该节点上
为此:
<key1>=<value1>:<effect1>,<key2>=<value2>:<effect2>
的内容传递给--register-with-taints=key=value:NoSchedule
。这意味着除非具有匹配的容差,否则任何Pod都无法将调度到该节点上。现在,要允许将某个吊舱放置在此节点上,请在PodSpec yaml中为该吊舱指定与上述污点相匹配的公差。以下两个容忍度都与上面的污点“匹配”,因此具有以下任一容忍度的Pod可以将其调度到节点上:
kubelet
有关Kubernetes中的污点和容忍度的更多信息,请访问here。