一.前言:
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