托管节点池具有自动升级和节点自愈能力,您无需关心节点的运维操作,从而帮助您实现统一和全托管的节点生命周期管理。本文介绍如何创建、扩容、克隆和删除托管节点池。

前提条件

  • 托管节点池功能仅适用于ACK Pro版集群,且仅对白名单用户开放,提交工单申请使用。
  • 已创建一个ACK Pro版集群,请参见创建Kubernetes Pro版集群
  • 请确保您集群的Kubernetes版本大于1.9。

注意事项

  • 托管节点池通过替换系统盘的方式执行节点升级操作,该操作会删除节点系统盘上的数据。数据盘内的数据不受影响,请勿在系统盘上存储任何持久化数据。
  • 托管节点池在替盘升级前会执行节点下线与排水,因此会造成Pod的重启、长链接的中断。
  • 托管节点池会尝试重启故障节点来修复可能的故障,因此节点上的Pod会被重启。

创建托管节点池

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  5. 节点池页面右上角,单击创建托管节点池
  6. 创建托管节点池对话框,设置托管节点池的配置项。
    有关配置项的详细说明,请参见创建Kubernetes Pro版集群。部分配置项说明如下:
    • 维护窗口:为托管节点池设置执行自动升级的时间窗口。单击设置跳转至集群的基本信息页面,打开并设置维护窗口
    • 自动伸缩:设置是否开启节点的自动伸缩功能。更多信息,请参见节点自动伸缩
    • 数量:设置节点池初始节点数量。如不需要创建节点,可以填写为0。
    • 操作系统:选择节点的操作系统,包括CentOS、Alibaba Cloud Linux、Windows。
    • 节点标签:您可以为集群节点添加标签。
    • ECS标签:您可以为ECS实例添加标签。
    • 自定义资源组:您可以指定节点池所扩容节点的资源组信息。
  7. 单击确认配置
    节点池页面,如果节点池状态显示初始化中,则说明节点池正在创建中。创建完成后,状态显示为已激活

升级节点池

当托管节点池有可升级的操作系统时,您可以升级托管节点池。

  1. 在目标节点池右侧的操作列下,单击升级
  2. 升级节点池对话框中,设置以下参数。
    参数 描述
    升级版本 默认选中系统镜像容器运行时
    • 系统镜像:选中后,升级节点池中的所有节点的系统镜像至新版本。
    • 容器运行时:选中后,升级节点池中的所有节点的容器运行时至新版本。
    最大不可用节点数 表示最多处于不可用状态的节点数。
    额外节点数 表示升级节点池前,集群会自动扩容相应数量的节点,待升级完成后自动删除这几个节点。目的是保证升级的过程中有足够的节点供排水使用。
    说明 最大不可用节点数额外节点数之和等于最大可以并行升级的数量。

扩容节点池

通过节点池扩容功能,您可以为节点池添加具有相同属性的节点。

  1. 在目标节点池右侧的操作列中,单击扩容
  2. 在节点池对话框的扩容数量调整框中,输入要增加的节点数,单击提交
    说明 如果您需要修改节点池配置,展开修改节点池配置。关于参数的详细信息,请参见创建托管节点池
    节点池页面,节点池状态刚开始显示为伸缩中。扩容完成后,状态会显示为已激活

克隆节点池

通过节点池的克隆功能,您可以基于已有的节点池,克隆一个具有相同配置的节点池。

  1. 在目标节点池右侧的操作列中,单击克隆
  2. 在克隆节点池对话框中,输入新克隆节点池的名称并设置相关参数,单击提交
    节点池页面,节点池的状态刚开始显示为初始化中。克隆完成后,状态会显示为已激活

删除节点池

为了防止误删除导致业务中断,删除节点池前需要清空节点池中的节点。

  1. 在节点池列表页面,单击目标节点池名称。
  2. 节点配置区域的节点管理页签中,选中所有节点,单击移除节点
  3. 可选:移除节点对话框中,可选中同时释放ECS自动排空节点(drain),单击确定
    • 同时释放ECS
      • 释放ECS实例仅释放按量付费的ECS实例。
      • 对于预付费ECS实例,计费周期到期后,ECS实例会自动释放。
      • 您也可以在ECS实例到期前:
      • 若不选择同时释放ECS,该节点所在的ECS实例会继续计费。
    • 自动排空节点(drain):把待移除节点上的Pod转移到其他节点。请确保集群其他节点的资源充足。
      您还可以通过执行命令kubectl drain node-name的方式把待移除节点上的Pod转移到其他节点。
      说明 node-name格式为your-region-name.node-id。例如cn-hangzhou.i-xxx
      • your-region-name为您集群所在的地域名称。
      • node-id为待移除节点所在的ECS实例ID。
  4. 返回节点池列表页面,在目标节点池右侧的操作列中,单击删除
  5. 节点池删除对话框中,单击确定