一、Pod污点
什么是污点
污点(Taint)是使节点与Pod产生排斥的一类规则
污点策略如何实现的
污点策略通过嵌合在键值对上的污点标签进行声明
污点标签
-尽量不调度:PreferNoSchedule
-不会被调度:NoSchedule (彻底被拒绝,但是之前创建的Pod不会受影响)
-驱逐节点:NoExecute (不仅会影响新创建的。之前创建的Pod也会被删除)
管理污点标签
污点标签必须绑定在键值对上,格式为:key=value:[污点标签]
查看污点标签
kubectl describe nodes [节点名字]
[root@master ~]# kubectl describe nodes master
设置污点标签
kubectl taint node [节点名字] key=value:污点标签
[root@master ~]# kubectl describe nodes | grep Taint
Taints: node-role.kubernetes.io/control-plane:NoSchedule
Taints: <none>
Taints: <none>
Taints: <none>
Taints: <none>
Taints: <none>
#node-0001 设置污点策略
[root@master ~]# kubectl taint node node-0001 k=v1:PreferNoSchedule
node/node-0001 tainted
#node-0002 设置污点策略
[root@master ~]# kubectl taint node node-0002 k=v2:NoSchedule
node/node-0002 tainted
[root@master ~]# kubectl describe nodes | grep Taint
Taints: node-role.kubernetes.io/control-plane:NoSchedule
Taints: k=v1:PreferNoSchedule
Taints: k=v2:NoSchedule
Taints: <none>
Taints: <none>
Taints: <none>
删除污点标签
kubectl taint node [节点名字] key=value:污点标签-
[root@master ~]# kubectl taint node node-000{1..2} k-
node/node-0001 untainted
node/node-0002 untainted
[root@master ~]# kubectl describe nodes | grep Taints
Taints