k8s不常用設定-禁止master排程
阿新 • • 發佈:2020-07-13
禁止master節點排程
有兩種方法,一種是自帶的命令(越來越完善了)另一種是通過新增汙點來禁止排程。
1、自帶命令
cordon 和 uncordon是k8s上的兩個維護命令,一般用於節點出現問題時維護使用的。
kubectl cordon master禁止節點排程
kubeclt uncordon master 允許節點排程
2、設定汙點
語法:
kubectl taint node [node] key=value[effect]
[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]
NoSchedule: 一定不能被排程
PreferNoSchedule: 儘量不要排程
NoExecute: 不僅不會排程, 還會驅逐Node上已有的Pod
示例:
kubectl taint node k8s-master node-role.kubernetes.io/master-
允許master排程
kubectl taint nodes master node-role.kubernetes.io/master=:NoSchedule
禁止master排程
kubectl describe node master |grep Taints
檢視汙點
3、設定容忍master汙點
在 pod 的 spec 中設定 tolerations 欄位
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Equal"
value: ""
effect: "NoSchedule"