您可以从已经创建的边缘托管集群中移除不需要的工作负载节点。本文介绍如何移除边缘节点。
索引
前提条件
注意事项
- 移除节点涉及Pod迁移,可能会影响业务,请在业务低峰期操作。
- 操作过程中,可能存在非预期风险,请提前做好相关数据备份。
- 操作过程中,后台会把当前节点设置为不可调度状态。
- 移除节点仅移除Worker节点,不会移除Master节点。
- 边缘集群存在云端节点和边缘节点两种类型的节点,两种类型的节点可同时移除。
- 边缘集群需至少保留一个云端节点。
- 移除节点请通过控制台进行操作。如果通过执行
kubectl delete node
命令行方式手动移除节点,则对于云端节点需注意以下问题。- 移除后的节点无法再添加到其他集群上。
- 删除集群时,该节点所在的ECS实例会被释放。
操作步骤
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
- 在节点池页面,单击目标节点池名称。在节点管理页签,选中目标节点,然后单击移除节点。
- 在移除节点面板,如果所选节点全部是云端节点时,可同时选中同时释放ECS和自动排空节点(drain),仔细阅读注意事项之后,勾选我已了解上述说明,确认移除节点,然后单击确定。说明 如果所选的移除节点包含边缘节点或者全部是边缘节点时,在移除节点面板中,不支持同时释放ECS和自动排空节点(drain)这两个选项。
- 同时释放ECS:
- 释放ECS实例仅释放按量付费的ECS实例。
- 对于预付费ECS实例,计费周期到期后,ECS实例会自动释放。
- 若未选择同时释放ECS,该节点所在的ECS实例会继续计费。
- 自动排空节点(drain):把待移除节点上的Pod转移到其他节点。请确保集群其他节点的资源充足。您还可以通过执行
kubectl drain node-name [options]
命令,把待移除节点上的Pod转移到其他节点。说明- node-name格式为your-region-name.node-id。例如cn-hangzhou.192.168.1.123 。
- your-region-name为您集群所在的地域名称。
- node-id为待移除节点所在的ECS实例ID。
- options为该命令的可选配置参数。例如,可配置为
--force --ignore-daemonsets --delete-local-data
。更多信息,请执行命令kubectl drain --help
查看。
- node-name格式为your-region-name.node-id。例如cn-hangzhou.192.168.1.123 。
- 同时释放ECS:
- 在控制台上移除边缘节点之后,为确保边缘节点上的K8s组件被清理。您需要在边缘节点上,使用边缘节点接入工具Edgeadm的
Reset
子命令重置节点。wget http://aliacs-k8s-[region].oss-[region].aliyuncs.com/public/pkg/run/attach/[clusterVersion]/[arch]/edgeadm -O edgeadm; chmod u+x edgeadm; ./edgeadm reset
参数 说明 示例 region 集群地域。 cn-hangzhou clusterVersion 集群版本。 1.22.15-aliyunedge.1 arch 边缘节点的CPU架构。 amd64