码迷,mamicode.com
首页 > 其他好文 > 详细

使用 kubectl drain 从集群中移除节点

时间:2019-02-10 17:48:00      阅读:493      评论:0      收藏:0      [点我收藏+]

标签:href   ati   nat   调度   str   highlight   成功   指定   删除节点   

对节点执行维护操作之前(例如:内核升级,硬件维护等),您可以使用 kubectl drain 安全驱逐节点上面所有的 pod。安全驱逐的方式将会允许 pod 里面的容器遵循指定的 PodDisruptionBudgets 执行优雅的中止

注: 默认情况下,kubectl drain 会忽略那些不能杀死的系统类型的 pod,如果您想了解更多详细的内容,请参考kubectl drain

kubectl drain 返回成功表明所有的 pod (除了前面排除的那些)已经被安全驱逐(遵循期望优雅的中止期,并且没有违反任何应用程序级别的中断预算)。然后,通过对物理机断电或者在云平台上删除节点所在的虚拟机,都能安全的将节点移除。

首先,需要确定希望移除的节点的名称。您可以通过下面命令列出集群里面所有的节点:

kubectl get nodes

接下来,告知 Kubernetes 移除节点:

kubectl drain <node name>

执行完成后,如果没有任何错误返回,您可以关闭节点(如果是在云平台上,可以删除支持该节点的虚拟机)。如果在维护操作期间想要将节点留在集群,那么您需要运行下面命令:

kubectl uncordon <node name>

然后,它将告知 Kubernetes 允许调度新的 pod 到该节点。

 

技术图片

使用 kubectl drain 从集群中移除节点

标签:href   ati   nat   调度   str   highlight   成功   指定   删除节点   

原文地址:https://www.cnblogs.com/weifeng1463/p/10359581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!