一.前言:

cordon与drain区别
drain设置为节点不可调度,kubectl get node的时候看到STATUS是NotReady,同时驱逐该Node上的pod到其他node节点上去;

cordon仅仅设置节点为不可调度,kubectl get node时,STATUS显示Ready,SchedulingDisable,但是不会驱逐该节点上的现存pod


二.处理流程:

1.设置node不可调度

kubectl cordon 172.16.21.26

注意:此时节点不可调度,不会有新的pod调度至此节点,但是使用kubectl get node查看到的节点状态是Ready状态


2.驱逐node上的pod,除了daemonset应用

kubectl drain 172.16.21.26 --ignore-daemonsets



3.更换或者修复数据磁盘动作



4.取消node不可调度,恢复可调度

kubectl uncordon 172.16.21.26