移除节点

当您不再需要该节点继续工作时,请您在容器服务管理控制台的节点池页面进行移除节点的标准化操作,以免带来不符合预期的效果。移除节点会涉及Pod迁移,可能会影响业务,请在业务低峰期操作。

前提条件

使用说明

  • 移除节点会涉及Pod迁移,可能会影响业务,请在业务低峰期操作。

  • 操作过程中可能存在非预期风险,请提前做好相关的数据备份。

  • 操作过程中,后台会将当前节点设置为不可调度状态。

  • 移除节点仅移除Worker节点,不会移除Master节点。

  • 移除节点请通过控制台进行操作,如果使用kubectl delete node方式手动移除节点,则:

    • 移除后的节点无法再添加到其他集群中。

    • 删除集群时,该节点所在的ECS实例会被释放。

  • 如果您没有通过容器服务控制台,而是直接在ECS或者ESS控制台(或相关API)主动释放节点、移除实例,或者因包年包月到期而被动释放节点,那么节点或实例就会直接停机,自动从容器服务控制台中移除。如果节点池设置了期望节点数,那么节点池为了能够将节点个数维持在期望节点数,会根据相应节点池配置自动扩容其他实例至节点池,以达到期望节点数。

操作步骤

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池

  3. 节点池页面,单击目标节点池名称。在节点管理页签中,选中目标节点,并单击页面下方的批量移除

  4. 可选:移除节点对话框中,可选中同时释放 ECS自动排空节点(drain)

    • 同时释放 ECS

      • 仅释放按量付费类型的ECS实例及其数据盘,不被释放的ECS实例会继续收费。

      • 对于预付费ECS实例,计费周期到期后,ECS实例会自动释放。

      • 您也可以在ECS实例到期前:

      • 若不选择同时释放 ECS,该节点所在的ECS实例会继续计费。

    • 自动排空节点(drain):将待移除节点上的Pod转移到其他节点。请确保集群其他节点的资源充足。

      您还可以通过执行命令kubectl drain node-name [options]的方式将待移除节点上的Pod转移到其他节点。

      说明
      • node-name格式为your-region-name.node-id

        your-region-name为您集群所在的地域名称。node-id为待移除节点所在的ECS实例ID。例如,cn-hangzhou.i-i-bp1asavedmte377c3****

      • options为该命令的可选配置参数。例如,可配置为--force --ignore-daemonsets --delete-local-data。更多信息,请执行命令kubectl drain --help查看。

  5. 选中我已了解上述说明,确认移除节点,单击确定

    说明

    如果提示节点移除失败,取消勾选同时释放ECS自动排空节点(drain)后重新移除。

常见问题

为什么节点池的节点管理页签中没有目标节点,但目标节点属于集群?

您可以通过以下方式移除节点。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 节点页面,选中所有要移除的节点,单击批量移除

  4. 在弹出页面确认相关信息,单击确定

相关文档

  • 容器服务ACK通过调整节点池的期望节点数实现节点池扩缩容,将节点数目维持在期望数量。扩容节点池保证节点数量足够支撑业务运行,缩容节省成本。详细信息,请参见扩缩容节点池

  • 如果购买ECS实例后需将该云服务器添加到ACK集群中作为Worker节点,或移除Worker节点后需将节点实例重新加入节点池,您可以在容器服务管理控制台自动添加或手动添加节点。详细信息,请参见添加已有节点

  • 如何在不影响数据盘的情况下进行节点池升级,请参见升级节点池