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

前提条件

  • 已创建一个ACK Pro版集群,请参见创建ACK Pro版集群
  • 请确保您集群的Kubernetes版本大于1.9。

注意事项

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

创建托管节点池

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  5. 节点池页面右上角,单击创建托管节点池
  6. 创建托管节点池对话框,设置托管节点池的配置项。
    有关配置项的详细说明,请参见 创建ACK 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实例会继续计费。
    • 自动排空节点(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. 节点池删除对话框中,单击确定

开启和关闭托管节点池

您可以通过开启节点池的托管功能将默认节点池、自定义节点池、弹性伸缩节点池(开启自动伸缩的自定义节点池)转换成托管节点池,也可以关闭托管节点池的托管功能。开启和关闭托管节点池操作如下。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
  5. 在目标节点池右侧的操作列中,进行以下操作。
    • 单击开启托管将节点池转换成托管节点池。
    • 单击关闭托管将托管节点池转换成其他类型节点池。

      关闭托管节点池的托管功能后,原本就是托管节点池类型的托管节点池将被转换成自定义节点池,由其他类型节点池转换成托管节点池类型的托管节点池将被转换成其原本的节点池类型。例如,默认节点池开启托管功能转换成托管节点池后,然后再关闭托管功能,托管节点池将被转换成默认节点池。