禁止master节点调度有两种方法:
一、是自带的命令
cordon 和 uncordon是k8s上的两个维护命令,一般用于节点出现问题时维护使用的。
kubectl cordon k8s-master01 #禁止节点调度
kubeclt uncordon k8s-master01 #允许节点调度
二、是通过添加污点来禁止调度
语法:
kubectl taint node [node] key=value[effect]
[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod示例:
kubectl taint nodes k8s-master01 node-role.kubernetes.io/master- #允许master调度
kubectl taint nodes k8s-master01 node-role.kubernetes.io/master=:NoSchedule #禁止master调度
三、查看污点
#设置污点
# kubectl describe node k8s-master01|grep Taints
Taints: node-role.kubernetes.io/master:NoSchedule
#去掉污点
# kubectl describe node k8s-node01|grep Taints
网友评论