kubectl taint nodes
# 为节点设置污点
设置方式和 标签/注释 类似,但是污点具有一个额外属性。
kubectl taint nodes <节点名称> <键>=<值>:<效果>
# 同时设置多个污点,通过 空格 来分隔
kubectl taint nodes <节点名称> <键1>=<值1>:<效果1> <键2>=<值2>:<效果2> ...
# 通过 减号- 删除污点
kubectl taint nodes <节点名称> <键>-
1
2
3
4
5
6
7
2
3
4
5
6
7
效果:
NoSchedule
:后续新创建的 Pod 不会被调度到这个节点,该节点上现有的 Pod 继续运行。NoExecute
:和 NoSchedule 类似,但是会影响节点上现有的 Pod。如果这些 Pod 可以容忍污点,则可以继续运行;如果这些 Pod 不能容忍污点,则会被驱逐到其他节点上运行。PreferNoSchedule
:是 NoSchedule 的降级版本,控制平面在调度 Pod 的时候,会尽量避开这个节点,尽量不让 Pod 在该节点上运行。
示例:
kubectl taint nodes www.k12.com personality=bad:NoSchedule
1
编辑 (opens new window)