kubernetes学习之cordon/drain/delete辨析

最近在进行k8s的学习,有关停止节点调度的三个命令进行一下辨析:

一、cordon(停止调度)

影响最小,只会将node调为SchedulingDisabled

之后再发创建pod,不会被调度到该节点,旧有的pod不会受到影响,仍正常对外提供服务

恢复调度:kubectl uncordon node_name

=============================================================

二、drain (驱逐节点)

1、驱逐node上的pod,其他节点重新创建

2、将节点调为** SchedulingDisabled**

恢复调度:kubectl uncordon node_name

#1.驱逐Node上的pod资源到其他节点重新创建。
#2.将节点调为SchedulingDisabled不可调度状态。
kubectl cordon <node name>
#3.命令node节点开始释放所有pod,并且不接收新的pod进程
kubectl drain [node-name] --force --ignore-daemonsets --delete-local-data
#4.把需要做的事情做一下。比如上面说的更改docker文件daemon.json或者说node节点故障需要进行的处理操作 
#5.恢复node,恢复接收新的pod进程
kubectl uncordon [node-name]

#drain的参数:
#--force:当一些pod不是经 ReplicationController, ReplicaSet, Job, DaemonSet 或者 StatefulSet 管理的时候,就需要用--force来强制执行 (例如:kube-proxy)
#--ignore-daemonsets:无视DaemonSet管理下的Pod
#--delete-local-data:如果有mount local volumn的pod,会强制杀掉该pod并把料清除掉
如果跟本身的配置讯息有冲突时,drain就不会执行

==============================================================

三、delete(删除节点)

1、驱逐node上的pod,其他节点重新创建

2、从master节点删除该node,master对其不可见,失去对其控制,master不可对其恢复

恢复调度:

1.进入node节点,重启kubelet

2.基于node的自注册功能,节点重新恢复使用:systemctl restart kubelet

(delete是一个比较粗暴的命令,它会将被删node上的pod直接驱逐,由其他node创建(针对replicaset),然后将被删节点从master管理范围内移除,master对其失去管理控制,若想重新获取该node的控制管理,需要在该node节点重启kubelet)

==============================================================

四、Node节点平滑维护

通常情况下,如果要对K8S集群中的一台Node节点进行平滑维护,如升级或调整配置。正确的操作:

cordon临时从K8S集群隔离出来,标识为SchedulingDisabled不可调度状态。

drain排干该节点上的pod资源到其他node节点上。

对该节点展开平滑维护操作,如升级或调整配置。

uncordon恢复,重新回到K8S集群,变回可调度状态。

同时注意:为了确保drain驱逐pod的时候,容器应用服务不中断,必须满足:

  • 要驱逐的pod副本数量必须大于1

  • 要配置"反亲和策略",确保被驱逐的pod被调度到不同的Node节点上

  • deployment采用滚动更新,设置maxUnavailable为0,maxSurge为1

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值