Kubernetes中的污点和容忍度
污点
通过给节点添加污点,可以拒绝 Pod 调度到节点上。
污点样式
<key>=[value]:<effect>
- value 可以为空
- effect
- NoSchedule, Pod 必须添加容忍度才能调度到这个节点。
- PreferNoSchedule, 没有可调度的节点,Pod 会调度到这个节点。(宽松版 NoSchedule)
- NoExecute, 不仅影响调度,也影响运行的 Pod,没有这个污点容忍度的运行 Pod 都会从这个节点删除。
例子
dedicated=foo:PreferNoSchedule
node-role.kubernetes.io/master:NoSchedule
node.kubernetes.io/unreachable:NoExecute
node.kubernetes.io/unreachable:NoSchedule
增加
kubectl taint node ln6 key1=value1:NoSchedule
# 增加多个
kubectl taint node ln6 key1=value1:NoSchedule key1=value1:PreferNoSchedule
一个 key 可以有多个 effect
删除 kubectl taint node ln6 key1=value1:NoSchedule- # 使用 key