是否有办法禁止对SchedulingDisabled主节点执行pod调度?
如果吊舱使用此公差,则可以随时对其进行安排:
tolerations:
- operator: Exists
主节点具有以下污点:
Taints: node-role.kubernetes.io/master:NoSchedule
node.kubernetes.io/unschedulable:NoSchedule
Unschedulable: true
$ kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deploy-b976f9795-rc2t5 1/1 Running 0 5m51s 192.168.0.15 master01 <none> <none>
$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master01 Ready,SchedulingDisabled master 38h v1.15.3 10.12.0.51 <none> Ubuntu 18.04.3 LTS 4.15.0-62-generic docker://18.9.9
node01 Ready node 38h v1.15.3 10.12.0.62 <none> Ubuntu 18.04.3 LTS 4.15.0-62-generic docker://18.9.9
答案 0 :(得分:0)
如前所述,您正在使用Taints
Taints: node-role.kubernetes.io/master:NoSchedule
不允许将Pod分配给该节点。但是,您使用的是一种特殊情况:
带有运算符Exists的空键会匹配所有键,值和效果 意思是 这会容忍一切
tolerations:
- operator: "Exists"
空白效果会与所有带有键的效果匹配。
tolerations:
- key: "key"
operator: "Exists"
我唯一想到的就是使用Affinity,Node isolation或仅使用Node Name。