移出节点

最近更新时间:2026-05-19 14:43:35

我的收藏

操作场景

当您需要对 TKE 集群进行缩容时,可以通过移出节点的方式将不再需要的节点从集群中移除。本文介绍如何在不同业务场景下安全地移出集群中的节点。
注意:
移出节点操作不可逆,节点移出后将不再承载集群工作负载。请根据节点上是否运行业务 Pod,选择对应的操作流程,避免因操作不当导致业务中断。

前提条件

已确认目标节点所属的集群和节点池。
已确认目标节点上的业务运行状态。

对系统影响

节点移出后,该节点上运行的 Pod 将被终止。如果 Pod 由 Deployment、StatefulSet 等控制器管理,控制器会在其他可用节点上重新调度这些 Pod。
如果节点上运行了使用本地存储(如 hostPath、emptyDir)的 Pod,本地数据将丢失。
移出节点不会自动释放对应的 CVM 实例。如需释放,请在 CVM 控制台 另行操作。

操作步骤

根据节点上是否运行业务 Pod,选择对应的操作流程。

场景一:节点上无业务 Pod

如果目标节点上没有运行业务 Pod(例如新加入的空闲节点、已完成业务迁移的节点),可以直接移出节点。操作方式有以下两种:

方式一:在节点池详情页移出节点

1. 登录容器服务控制台,选择左侧导航中的 集群
2. 在集群列表中,选择目标集群 ID,进入该集群的基本信息页面。
3. 选择左侧导航中的节点管理,切换到节点池页签,选择目标节点池进入详情页。
4. 在节点池详情页的节点列表中,选中需移出的节点,单击移出。如下图所示:

5. 在弹窗中确认节点信息,单击确定,即可完成节点移出。

方式二:修改节点池期望节点数

如果集群使用节点池管理节点(非弹性伸缩模式),您也可以通过调整节点池的期望节点数来实现缩容:
1. 登录容器服务控制台,选择左侧导航中的 集群
2. 在集群列表中,选择目标集群 ID,进入该集群的基本信息页面。
3. 选择左侧导航中的节点管理,切换到节点池页签,选择目标节点池,单击编辑
4. 节点数量调整为缩容后的目标值,单击确定
说明:
通过修改节点池期望节点数缩容时,系统会自动选择节点进行移出。如需指定移出特定节点,请使用 方式一

场景二:节点上有业务 Pod

如果目标节点上正在运行业务 Pod,请勿直接移出节点,否则可能导致业务中断。请按照以下步骤操作:

步骤 1:封锁节点

封锁(cordon)节点后,新的 Pod 将不会被调度到该节点。
1. 登录 容器服务控制台,选择左侧导航中的集群
2. 在集群列表中,单击集群 ID,进入集群管理页面。
3. 选择节点管理,在节点页签中单击节点行右侧的更多 > 封锁
4. 在弹出的对话框中,确认节点信息后,单击确定
说明:
封锁节点的详细说明,请参见 驱逐或封锁节点

步骤 2:驱逐节点上的 Pod

驱逐(drain)操作会将节点上的 Pod 安全迁移到其他可用节点。
1. 在节点页签中,单击节点行右侧的更多 > 驱逐
2. 在弹出的对话框中,确认驱逐信息,单击确定
注意:
驱逐操作不会迁移 DaemonSet 管理的 Pod,这些 Pod 会在节点移出后自动终止。
如果节点上存在使用本地存储的 Pod,驱逐操作可能会失败。此时需要在驱逐对话框中勾选强制驱逐选项,或手动删除相关 Pod。
建议在驱逐前确认目标 Pod 的副本数和集群剩余资源,确保其他节点有足够资源承载被迁移的 Pod。

步骤 3:确认 Pod 迁移完成

1. 在节点详情页,查看节点上的 Pod 列表。
2. 确认所有业务 Pod 已被成功迁移(节点上仅剩 DaemonSet 管理的 Pod 或无 Pod)。

步骤 4:移出节点

确认 Pod 迁移完成后,按照场景一的 方式一 操作移出节点。