操作背景:在硬件升級,維護等情況下,我們需要將某些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