worker节点如果需要进行升级或者维护,需要先排空该节点上的所有pod
排空节点pod采用drain
命令
kubectl drain--grace-period=120 --ignore-daemonsets=true
常用参数说明:
--grace-period 优雅的排空pod,不指定将采用默认时间 --ignore-daemonsets 忽略daemonsets守护进程,默认是false,基于kubeadm部署的集群需要设置为true --delete-emptydir-data 删除emptydir存储,默认为false --force 即使存在不受ReplicationController,ReplicaSet,Job,DaemonSet或StatefulSet管理的Pod,也要继续。
该命令会驱逐节点上的pod,在其他节点上重建,同时节点状态会变更为:SchedulingDisabled
节点上线:
kubectl uncordon
另外如果只是需要停止调度新pod到该节点,采用cordon
命令
kubectl cordon