操作背景:在硬件升级,维护等情况下,我们需要将某些node隔离,使其脱离kubernetes集群的调度范围。
操作方法:使用kubectl的子命令cordon和uncordon将node进行隔离和恢复调度操作
查看node状态可以观察到node状态中增加了一项SchedulingDisabled,这样对于后续操作就不会在进行该node调度
使用kubectl cordon ha04对集群中node进行隔离
[root@ha01 ~]# kubectl cordon ha04 node/ha04 cordoned [root@ha01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION ha01 Ready master 8d v1.18.2 ha02 Ready master 8d v1.18.2 ha04 Ready,SchedulingDisabled <none> 8d v1.18.2
使用kubectl uncordon ha04对node进行恢复调度操作
[root@ha01 ~]# kubectl uncordon ha04 node/ha04 uncordoned [root@ha01 ~]# [root@ha01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION ha01 Ready master 8d v1.18.2 ha02 Ready master 8d v1.18.2 ha04 Ready <none> 8d v1.18.2