容器服务 驱逐或封锁节点

这篇说说腾讯云容器服务中节点封锁、取消封锁及驱逐的操作方法。封锁使节点不接受新Pod调度,取消封锁恢复调度,驱逐则安全迁移Pod并自动封锁节点。 封锁节点:可通过新增节点时勾选或在控制台节点操作中执行,封锁后CLB绑定节点不会被移除。 取消封锁:可通过脚本添加kubectl uncordon命令或在控制台节点操作中执行。 驱逐节点:将节点内Pod(不含DaemonSet)迁移至其他节点并自动封锁,本地存储Pod数据将。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、操作场景

这篇档介绍如何对节点进行封锁、取消封锁及驱逐操作。

二、封锁节点

封锁(cordon)节点后,将不接受新的 Pod 调度到该节点,你需要手动取消封锁的节点。封锁节点后,如果节点之前已被 CLB 绑定作为后端目标节点,节点将不会从目标节点列表中移除。封锁节点有以下两种方法:

方法一方法二新增节点 时,在更多设置页面,勾选 “开启封锁”。如下:1. 登录 容器服务控制台,选择左侧导航中的集群。2. 在集群列表中,单击集群 ID,进入集群管理页面。3. 选择节点管理,在节点页签中单击节点行右侧的更多 > 封锁。如下:4. 在弹出的对话框中,确认节点信息后,单击确定,即可完成封锁。

三、取消封锁节点

取消封锁(uncordon)节点后,将允许新的 Pod 调度到该节点。取消封锁有以下两种方法:

方法一方法二通过执行脚本的方式新增节点时,你可以在该脚本中添加取消封锁节点的命令,即可取消封锁。其示例如下:#!/bin/sh# your initialization scriptecho "hello world!"# If you set unschedulable when you create a node, # after executing your initialization script, # use the following command to make the node schedulable.node=`ps -ef|grep kubelet|grep -oE 'hostname-override=\\S+'|cut -d"=" -f2`#echo ${node}kubectl uncordon ${node} –kubeconfig=/root/.kube/configkubectl uncordon 命令表示取消封锁节点。1. 登录 容器服务控制台,选择左侧导航中的集群。2. 在集群页面,单击集群 ID,进入集群详情页。3. 选择节点管理,在节点页签中单击节点行右侧的更多 > 取消封锁。4. 在弹出的对话框中,单击确定,即可完成取消封锁。

四、驱逐节点

在节点上执行维护之前,你可以通过驱逐(drain)节点安全地从节点中逐出 Pod。节点驱逐后,自动将节点内的所有 Pod(不包含 DaemonSet 管理的 Pod)驱逐到集群内其他节点上,并将驱逐的节点设置为封锁状态。

注意:本地存储的 Pod 被驱逐后数据将丢失,请谨慎操作。

五、操作方法

1. 登录 容器服务控制台,选择左侧导航中的集群。

2. 在集群页面,单击集群 ID,进入集群详情页。

3. 选择节点管理,在节点页签中单击节点行右侧的更多 > 驱逐。如下:

4. 在弹出的对话框中,单击确定,即可完成驱逐。

赞 (0)
上一篇 4天前
下一篇 4天前