kubernetesPod驱逐迁移drain⽤法
example
设置node不可调度
$kubectl cordon 172.16.21.26
$ kubectl drain foo --force
$ kubectl drain foo --grace-period=900
$ kubectl drain 172.16.21.26 --delete-local-data --ignore-daemonsets --force
nodeselector参数说明:
–delete-local-data: 即使pod使⽤了emptyDir也删除
–ignore-daemonsets: 忽略deamonset控制器的pod,如果不忽略,deamonset控制器控制的pod被删除后可能马上⼜在此节点上启动起来,会成为死循环;
–force: 不加force参数只会删除该NODE上由ReplicationController, ReplicaSet, DaemonSet,StatefulSet or Job创建的Pod,加了后还会删除’裸奔的pod’(没有绑定到任何replication controller) --pod-selector="" Label selector to filter pods on the node;按标签过滤掉不驱逐得pod
-l, --selector="" Selector (label query) to filter on
--skip-wait-for-delete-timeout=0 If pod DeletionTimestamp older than N seconds, skip waiting for the pod.  Seconds must be greater than 0 to skip.
--timeout=0s The length of time to wait before giving up, zero means infinite
观察pod重建情况后,对节点进⾏维护操作。
维护结束后对节点重新配置可以调度。
kubectl uncordon 172.16.21.26
[root@host131 Pod]# time -p kubectl delete pod testbox --grace-period=0  //--grace-period延时删除,以免带来⼀定的⿇烦
pod "testbox" deleted
real 8.08
user 0.10
sys 0.03
[root@host131 Pod]#

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。