移除节点
操作场景
在集群中移除节点会将该节点移出集群,然后重装节点的操作系统,并清理节点上的CCE组件。
移除不会删除节点对应的服务器。移除前请确认您的正常业务运行不受影响,请谨慎操作。
节点移出集群后会继续开机运行,并继续产生费用。
约束限制
- 若节点在CCE集群移除后重装操作系统失败,请手动完成失败节点的操作系统重装,并在重装后登录节点执行清理脚本完成CCE组件清理,具体步骤参见重装操作系统失败如何处理。
- 移除节点会导致与节点关联的本地持久卷类型的PVC/PV数据丢失,无法恢复,且PVC/PV无法再正常使用。移除节点时使用了本地持久存储卷的Pod会从移除的节点上驱逐,并重新创建Pod,Pod会一直处于pending状态,因为Pod使用的PVC带有节点标签,由于冲突无法调度成功。
- 从集群移除节点时,节点会被重置,等保加固将会失效。
注意事项
- 移除节点会涉及Pod迁移,可能会影响业务,建议您在移除节点之前为节点排水,将容器优雅驱逐至其他可用节点,同时建议在业务低峰期操作。
- 操作过程中可能存在非预期风险,请提前做好相关的数据备份。
- 操作过程中,后台会把当前节点设置为不可调度状态。
- 移除节点重装操作系统后将清理原有的LVM分区,通过LVM管理的数据将会清空,请提前做好相关的数据备份。
操作步骤
- 登录CCE控制台,单击集群名称进入集群。
- 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签。
- 找到目标节点,单击节点后的“更多 > 移除”。
图1 移除节点
您还可以选中多个节点一起移除,如下图所示。
图2 一次移除多个节点
- 在弹出的“移除节点”对话框中,配置重装操作系统需要的登录信息,单击“是”,等待完成节点移除。
移除节点后,原有节点上的工作负载实例会自动迁移至其他可用节点。
重装操作系统失败如何处理
移除节点重装操作系统可能会失败,如果碰到这种情况,您可以执行如下步骤重装操作系统并清理节点上的CCE组件。
- 登录服务器的管理控制台,完成操作系统的重装,详细步骤请参见切换操作系统。
- 登录服务器,执行如下命令完成CCE组件和LVM数据的清理。
将如下脚本写入clean.sh文件。
lsblk vgs --noheadings | awk '{print $1}' | xargs vgremove -f pvs --noheadings | awk '{print $1}' | xargs pvremove -f lvs --noheadings | awk '{print $1}' | xargs -i lvremove -f --select {} function init_data_disk() { all_devices=$(lsblk -o KNAME,TYPE | grep disk | grep -v nvme | awk '{print $1}' | awk '{ print "/dev/"$1}') for device in ${all_devices[@]}; do isRootDisk=$(lsblk -o KNAME,MOUNTPOINT $device 2>/dev/null| grep -E '[[:space:]]/$' | wc -l ) if [[ ${isRootDisk} != 0 ]]; then continue fi dd if=/dev/urandom of=${device} bs=512 count=64 return done exit 1 } init_data_disk lsblk
执行如下命令。
bash clean.sh