全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:创建和管理节点池

更新时间:Dec 26, 2024

ACK提供了节点池功能对节点进行分组管理。节点池是具有相同属性(例如实例规格、操作系统、标签和污点等)的一组节点的逻辑集合。一个集群中可以创建多个不同配置和类型的节点池。节点池的配置包含节点的属性,例如节点实例规格、可用区、操作系统、标签和污点等。您可以创建节点池,并在节点池维度对节点进行统一的运维和管理。

建议您在创建节点池前,先参见节点池概述了解节点池的基本信息、使用场景、相关功能、涉及的计费等信息。

操作入口

您可以在目标集群的节点池页面进行节点池的相关操作,包括创建、编辑、删除、查看等。

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

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

创建节点池

您可以在控制台完成节点池的配置,包括基本配置、网络配置、存储配置等。部分配置项(尤其是节点池可用性相关和网络相关的配置)在创建后不支持调整,请参见下文重点关注。创建节点池的过程中不会影响其他已有节点池内节点和业务的运行。

说明

除控制台外,ACK还支持通过API和Terraform方式创建节点池,请参见CreateClusterNodePool - 创建节点池通过Terraform创建具备自动伸缩功能的节点池

  1. 节点池页面,单击创建节点池,然后在创建节点池对话框,完成创建节点池的配置项。

    节点池创建完成以后,支持在编辑节点池页面修改配置项。如下表所示,是否支持修改代表节点池创建后对应的配置项是否支持修改,错代表不支持修改,对代表支持修改,不涉及代表配置项仅在创建节点池时展示。

    基本配置

    配置项

    说明

    是否支持修改

    节点池名称

    自定义的节点池名称。

    不涉及

    地域

    默认选择当前集群所在地域,且不可更改。

    错

    加密计算

    说明
    • 当前仅白名单用户可以配置加密计算,请提交工单申请。

    • 容器运行时选择为containerd时,需配置该参数。

    是否开启加密计算。加密计算是为有强安全诉求的用户提供基于硬件加密技术的云原生一站式机密计算容器平台,可以帮助您保护数据使用(计算)过程中的安全性、完整性和机密性,同时简化可信或机密应用的开发、交付和管理成本。更多信息,请参见ACK-TEE机密计算介绍

    不涉及

    容器运行时

    根据集群Kubernetes版本选择容器运行时。如何选型,请参见containerd、安全沙箱、Docker运行时的对比

    • containerd(推荐):支持所有版本的集群。

    • 安全沙箱:支持1.31及以下版本的集群。

    • Docker(已停止支持):支持1.22及以下版本的集群。

    错

    托管节点池相关配置

    托管节点池

    ACK将在维护窗口期内执行托管节点池的自动化运维操作,例如kubelet升级、运行时升级、OS CVE漏洞自动修复等。您可以单击设置,配置具体的维护策略。

    对

    自愈规则

    需开启托管节点池。

    勾选后,节点NotReady时,系统会尝试自动重启相关组件来修复故障节点,并在重启前执行排水。

    对

    自动升级规则

    需开启托管节点池。

    勾选后,系统会在有可用的kubelet版本时自动升级到该版本。更多信息,请参见升级节点池

    对

    自动修复 CVE(OS)

    需开启托管节点池。

    可配置自动修复漏洞的级别,包括高危、中危、低危漏洞。更多信息,请参见开启节点池节点故障自动恢复修复节点池操作系统CVE漏洞

    有些漏洞修复完成后需要重启服务器来使其修复生效。开启必要时重启节点以修复 CVE 漏洞后,ACK会按需自动重启节点;未开启时,需在修复完成后手动重启节点。

    对

    集群维护窗口

    需开启托管节点池。

    托管节点池将在维护窗口进行自动化升级,例如节点池镜像升级、运行时升级、Kubernetes版本等。

    单击设置,在集群维护窗口对话框,设置维护周期维护起始时间以及维护时长,然后单击确定

    对

    扩容模式

    支持手动扩容自动伸缩两种扩容方式,根据业务需求和策略自动调整计算资源,节省集群成本。

    • 手动扩容:ACK会根据配置的期望节点数调整节点池中的节点数,将节点数始终维持在期望节点数。更多信息,请参见手动扩缩容节点池

    • 自动伸缩:当集群的容量规划无法满足应用Pod调度时,ACK会根据配置的最小和最大实例数自动扩缩节点资源。1.24及以上版本的集群默认启用节点即时弹性;1.24以下版本的集群默认启用节点自动伸缩。更多信息,请参见节点伸缩概述

    对

    网络配置

    配置项

    说明

    是否支持修改

    网络配置

    专有网络

    默认选择集群VPC,节点池创建完成后不可更改。

    错

    交换机

    节点池的扩缩容将根据扩缩容策略,在选择的虚拟交换机可用区下弹出节点。您可以在已有虚拟交换机列表中,根据可用区选择交换机。

    如果没有您需要的交换机,可以单击创建虚拟交换机创建。具体操作,请参见创建和管理交换机

    错

    实例和镜像配置

    配置项

    说明

    是否支持修改

    付费类型

    节点池扩容ECS实例时默认采用的付费类型,支持按量付费包年包月抢占式实例

    • 包年包月:需配置购买时长以及自动续费

    • 抢占式实例:目前仅支持具有保护期的抢占式实例。需同时配置单台实例上限价格

      当指定实例规格的实时市场价格低于单台实例上限价格时,能成功创建抢占式实例。超过保护期后(1小时),每5分钟检测一次实例规格的实时市场价格和库存。如果某一时刻的市场价格高于出价或实例规格库存不足,抢占式实例会被释放。使用方式,请参见抢占式实例节点池最佳实践

    为保证节点池统一,按量付费、包年包月节点池与抢占式实例节点池之间不支持转换。例如,对于创建节点池时选择付费类型为按量付费或包年包月的节点池,编辑节点池时不展示抢占式实例;反之亦然。

    重要
    • 修改节点池的付费类型仅对扩容的新节点生效,不会改变节点池内已有节点的付费类型。如果您期望修改节点池中已有节点的付费类型,请参见按量付费转包年包月

    • 为保证节点池的统一,不支持按量付费包年包月节点池修改为抢占式实例节点池;也不支持抢占式实例节点池修改为按量付费包年包月节点池。

    对

    实例相关的配置项

    根据实例规格或属性选择Worker节点池使用的ECS实例,可通过vCPU、内存、规格族、架构等属性筛选所需的实例规格族。您可以参见ECS实例规格配置建议获取节点的配置建议。

    节点池扩容时,将从选中的实例规格中扩容。具体扩容到的实例规格取决于节点池扩缩容策略。选择的实例规格越多,节点池成功弹出节点的概率越大。

    由于实例规格不可用或库存不足,导致节点池弹出节点失败时,可以尝试添加更多实例规格。您可以参照控制台的弹性强度建议添加实例规格,也可以创建节点池后查看节点池弹性强度

    如果您选择的实例均为GPU服务器,您可以按需开启共享 GPU 调度。更多信息,请参见共享GPU调度概述

    对

    操作系统

    云市场镜像处于灰度发布中。
    说明
    • 修改节点池系统镜像时,仅影响新增节点,不会修改节点池已有节点的系统镜像。已有节点的系统镜像升级,请参见升级节点池

    • 为保证节点池内节点系统镜像的统一,修改节点池镜像时,仅允许修改为同类型镜像的最新版本,不支持更改镜像类型。

    对

    安全加固

    为集群开启安全加固。创建完成后,加固方案不支持转换。

    • 不开启:对ECS实例不进行安全加固。

    • 等保加固:阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。等保加固在保障原生镜像兼容性和性能的基础上进行了等保合规适配,使其满足国家信息安全部发布的《GB/T22239-2019信息安全技术网络安全等级保护基本要求》。更多信息,请参见ACK等保加固使用说明

      重要

      等保加固会禁止Root用户通过SSH远程登录。您可通过ECS控制台使用VNC方式登录系统创建可使用SSH的普通用户。具体操作,请参见使用VNC登录实例

    • 阿里云 OS 加固:仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启阿里云OS加固

    不涉及

    登录方式

    选择等保加固时,仅支持设置密码。

    支持设置密钥设置密码创建后设置

    • 创建时设置

      • 设置密钥:阿里云SSH密钥对是一种安全便捷的登录认证方式,由公钥和私钥组成,仅支持Linux实例。

        请同步配置登录名root登录或ecs-user登录)和所需的密钥对

      • 设置密码:密码限制为8~30个字符,且必须同时包含大写字母、小写字母、数字和特殊符号。

        请同步配置登录名root登录或ecs-user登录)和密码。

    • 创建后设置:在实例创建完成后,自行绑定密钥对或者重置实例密码。具体操作,请参见绑定SSH密钥对重置实例登录密码

    不涉及

    登录名

    登录方式选择设置密钥或者设置密码时,需按需选择以root登录还是以ecs-user登录。

    不涉及

    存储配置

    配置项

    说明

    是否支持修改

    系统盘

    支持ESSD AutoPLESSD云盘ESSD EntrySSD云盘高效云盘。系统盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。

    ESSD云盘自定义性能和加密能力

    • ESSD云盘支持自定义性能级别。ESSD云盘容量越大,可供选择的性能级别越高(460 GiB容量以上可选PL2,1260 GiB以上可选PL3)。更多信息,请参见容量范围与性能级别的关系

    • 创建系统盘时,仅ESSD云盘支持加密。选择密钥时,阿里云默认使用服务密钥(Default Service CMK)进行加密,您也可以选择事先在KMS服务中创建好的自定义密钥(BYOK)为该云盘加密。

    您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。

    对

    数据盘

    支持ESSD AutoPLESSD云盘ESSD Entry以及上一代云盘(SSD云盘高效云盘)。数据盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。

    ESSD AutoPL支持

    • 预配置性能:在保持存储容量大小不变的情况下,可以结合实际业务的需求量灵活配置云盘的预配置性能,从而实现云盘容量与性能解耦。

    • 性能突发:开启后,波动性业务面临突发的数据读写压力时,云盘会根据业务实际情况临时提升云盘性能,直至业务恢复至平稳状态。

    ESSD云盘支持

    自定义性能级别。ESSD云盘容量越大,可供选择的性能级别越高(460 GiB容量以上可选PL2,1260 GiB以上可选PL3)。更多信息,请参见容量范围与性能级别的关系

    • 挂载数据盘时,所有云盘类型均支持加密。选择密钥时,阿里云默认使用服务密钥(Default Service CMK)进行加密,您也可以选择事先在KMS服务中创建好的自定义密钥(BYOK)为该云盘进行加密。

    • 在需要容器镜像加速、大模型快速加载等场景下,您还可以使用快照创建数据盘,提升系统的响应速度和处理能力。

    • 每个节点上需有一块数据盘被挂载到/var/lib/container/var/lib/kubelet/var/lib/containerd将挂载到/var/lib/container目录下)。对于节点上的其他数据盘,您可以进行初始化设置,自定义其挂载目录。使用说明,请参见ACK节点池中数据盘可以自定义目录挂载吗?

    说明

    一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的云盘数量上限不同。实例规格支持挂载的云盘数量上限,可以通过DescribeInstanceTypes接口查询(DiskQuantity)。

    对

    对

    实例数量

    配置项

    说明

    是否支持修改

    期望节点数

    节点池应该维持的总节点数量,建议至少配置2个节点,以确保集群组件正常运行。您可以通过调整期望节点数,达到扩容或缩容节点池的目的,请参见扩缩容节点池

    如无需创建节点,可填写为0,后续再手动调整,增加节点数。

    对

    高级配置

    展开高级选项(选填),配置节点扩缩容策略、资源组、ECS标签、污点等信息。

    高级配置

    配置项

    说明

    是否支持修改

    资源组

    创建的集群将归属于选择的资源组。一个资源只能归属于一个资源组。根据不同的业务场景,您可以将资源组映射为项目、应用或组织等概念。

    不涉及

    扩缩容策略

    • 优先级策略:根据集群配置的虚拟交换机的优先级进行扩缩容(选择的虚拟交换机的顺序,由上到下优先级递减)。当优先级较高的虚拟交换机所在可用区无法创建ECS实例时,自动使用下一优先级的虚拟交换机创建ECS实例。

    • 成本优化策略:按vCPU单价从低到高尝试创建实例。

      当节点池付费类型抢占式实例时,将优先创建抢占式计费实例。支持同时配置按量实例所占比例(%),当抢占式计费实例规格因库存等原因无法创建时,自动使用按量付费实例来补充。

    • 均衡分布策略:只有设置多个专有网络交换机时,均衡分布策略才能生效。在伸缩组指定的多可用区(即指定多个专有网络交换机)之间均匀分配ECS实例。如果由于库存不足等原因造成可用区之间不平衡,您可以再次进行均衡操作,以平衡资源的可用区分布。

    对

    使用按量实例补充抢占式容量

    需同时选择付费类型为抢占式实例。

    开启后,如果因价格或库存等原因无法创建足够的抢占式实例,ACK将自动尝试创建按量实例,以满足ECS实例数量要求。

    对

    开启抢占式实例补偿

    需同时选择付费类型为抢占式实例。

    开启后,当收到抢占式实例将被回收的系统消息时(即抢占式实例被回收前5分钟左右),开启弹性的节点池将尝试创建新的实例,替换掉将被回收的抢占式实例。

    对

    ECS 标签

    为弹出的ECS添加标签,标签键不可重复。最大长度为128个字符,标签键和标签值不能以aliyunacs:开头,不能包含https://http://

    一台ECS可绑定标签的上限为20个。如需提高上限,请到配额平台提交申请。由于ACK和ESS存在以下标签占用,因此最多可指定17个ECS标签。

    • ACK默认占用两个ECS标签。

      • ack.aliyun.com:<您的集群ID>

      • ack.alibabacloud.com/nodepool-id:<您的节点池ID>

    • ESS默认占用1个ECS标签:acs:autoscaling:scalingGroupId:<您的节点池伸缩组ID>

    说明
    • 开启弹性伸缩后,因弹性伸缩将默认占用两个ECS标签,因此节点池会额外占用两个ECS标签:k8s.io/cluster-autoscaler:truek8s.aliyun.com:true

    • 自动伸缩组件为了预检测弹出节点的调度行为,需依靠ECS标签记录K8s的节点标签和污点。因此,节点的每个标签都会被转为k8s.io/cluster-autoscaler/node-template/label/标签键:标签值;节点的每个污点会被转为k8s.io/cluster-autoscaler/node-template/taint/污点键/污点值:污点效果

    对

    污点 (Taints)

    为节点添加污点,污点(Taints)包含Effect(效果)。有效污点键包含前缀(可选)和名称。如果有前缀,用正斜线(/)分隔。更多信息,请参见污点和容忍度。污点有以下限制:

    • :污点键的名称长度为1~63个字符,必须以字母、数字或字符[a-z0-9A-Z]开头和结尾,中间可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

      如果指定前缀,必须是DNS子域。即一系列由英文半角句号(.)分隔的DNS标签,不超过253个字符,并以正斜线(/)结尾。关于DNS子域,请参见DNS子域

    • :污点值可以为空,不超过63个字符,必须以字母、数字或字符[a-z0-9A-Z]开头和结尾,可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

    • Effect:可选择NoScheduleNoExecutePreferNoSchedule三种。

      • NoSchedule:如果污点中存在至少一个Effect值为NoSchedule的污点,则系统不会将Pod分配到该节点。

      • NoExecute:任何不能忍受这个污点的Pod都会被驱逐,任何可以忍受这个污点的Pod都不会被驱逐。

      • PreferNoSchedule:系统会尽量避免将Pod调度到存在其不能容忍污点的节点上,但不会强制执行。

    对

    节点标签(Labels)

    为节点添加标签,标签是键值(Key-Value)对。有效Key包含前缀(可选)和名称,如有前缀,前缀和名称之间用正斜线(/)分隔。标签有以下限制。

    • Key:名称长度为1~63个字符,必须以字母数字字符[a-z0-9A-Z]开头和结尾,中间可包含字母、数字、短划线(-)、下划线(_)、英文半角句号(.)。

      如果指定前缀,必须是DNS子域,即一系列由英文半角句号(.)分隔的DNS标签,不超过253个字符,以正斜线(/)结尾。

      以下前缀由Kubernetes核心组件保留,不支持指定

      • kubernetes.io/

      • k8s.io/

      • kubernetes.io/k8s.io/结尾的前缀。例如test.kubernetes.io/

        以下除外:

        • kubelet.kubernetes.io/

        • node.kubernetes.io

        • kubelet.kubernetes.io/结尾的前缀。

        • node.kubernetes.io结尾的前缀。

    • Value:可以为空,不超过63个字符,必须以字母数字字符[a-z0-9A-Z]开头和结尾,可包含字母、数字、短划线(-)、下划线(_)和英文半角句号(.)。

    对

    CPU Policy

    指定kubelet节点的CPU管理策略

    • None:默认策略。

    • Static:允许为节点上具有某些资源特征的Pod赋予增强的CPU亲和性和独占性。

    不涉及

    自定义节点名称

    是否开启自定义节点名称。自定义节点名称后,将同时更改节点名称、ECS实例名称、ECS实例Hostname。

    说明

    对于开启自定义节点名称的Windows实例,其Hostname固定为IP地址,使用-代替IP地址中的.,且不包含前缀和后缀。

    节点名称由前缀、节点IP地址及后缀三部分组成:

    • 总长度为2-64个字符。节点名称首尾必须为小写字母和数字。

    • 前缀和后缀允许使用大小写字母、数字、连字符(-)和点号(.)。必须以大小写字母开头,不能以连字符(-)或点号(.)开头或结尾。不能连续使用连字符(-)或点号(.)。

    • 前缀必选(ECS限制),后缀可选。

    例如:节点IP地址为192.XX.YY.55,指定前缀为aliyun.com,后缀为test。

    • 如果节点为Linux节点,则节点名称、ECS实例、ECS实例Hostname均为aliyun.com192.XX.YY.55test。

    • 如果节点为Windows节点,则ECS实例Hostname为192-XX-YY-55,节点名称、ECS实例名称均为aliyun.com192.XX.YY.55test。

    错

    Worker RAM 角色

    仅支持1.22及以上版本的ACK托管集群

    在节点池的维度指定一个Worker RAM角色,降低在集群所有节点中共用一个Worker RAM角色可能存在的风险。

    • 默认角色:使用集群默认创建的Worker RAM角色。

    • 自定义:节点池将使用指定的角色作为Worker RAM角色,为空时将使用默认角色。更多信息,请参见使用自定义Worker RAM角色

    不涉及

    实例预自定义数据

    请前往配额平台申请

    节点加入集群前,将运行您指定的实例预自定义数据脚本。关于User-Data脚本,请参见User-Data脚本

    例如,指定实例预自定义数据为echo "hello world",则节点实际运行脚本如下。

    #!/bin/bash
    echo "hello world"
    [节点初始化脚本]

    对

    实例自定义数据

    节点加入集群后,将运行您指定的实例自定义数据脚本。关于User-Data脚本,请参见User-Data脚本

    例如,指定实例自定义数据为echo "hello world",则节点实际运行脚本如下。

    #!/bin/bash
    [节点初始化脚本]
    echo "hello world"
    说明

    创建集群或扩容节点成功不代表实例自定义脚本执行成功。您可以登录节点执行grep cloud-init /var/log/messages命令查看执行日志。

    对

    云监控插件

    安装后,可在云监控控制台查看所创建ECS实例的监控信息。

    该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需安装云监控插件,请通过云监控控制台安装。

    对

    公网 IP

    是否为节点分配IPv4地址。如果未选中,不会分配公网IP地址,当选择公网IP后,还需配置带宽计费方式带宽峰值

    该选项仅对节点池新增节点生效,对节点池已有节点无效。已有节点如需访问公网,请配置并绑定弹性公网IP地址。具体操作,请参见将EIP绑定至ECS实例

    对

    自定义安全组

    自定义安全组为白名单功能,请前往配额中心申请

    可选择普通安全组企业级安全组,仅支持同时选择一种类型的安全组。节点池的安全组不支持修改,安全组的类型也不允许变更。关于安全组的更多信息,请参见安全组

    重要
    • 每台ECS实例最多支持加入5个安全组,请确保您的ECS安全组配额充足。关于安全组的数量限制以及如何申请提升ECS实例能够加入的安全组数量,请参见安全组

    • 指定已有安全组时,系统默认不会为安全组配置额外的访问规则,可能会导致访问异常,请自行管理安全组规则。关于如何管理安全组规则,请参见配置集群安全组

    错

    RDS 白名单

    将节点IP添加至RDS实例的白名单。

    对

    部署集

    白名单功能,请前往配额中心申请。

    通过ECS控制台创建部署集后,通过ACK控制台为节点池指定部署集。部署集指定后不支持修改。

    您可以使用部署集将节点池弹出的ECS实例分散部署在不同的物理服务器上,以保证业务的高可用性和底层容灾能力。在部署集内创建ECS实例时,根据事先设置的部署策略,分散启动指定地域下的ECS实例。更多信息,请参见节点池部署集最佳实践

    重要

    选择部署集后,节点池内最大节点数会受限。部署集默认支持节点上限为20 * 可用区数量(可用区数量由虚拟交换机决定)。请谨慎选择,确保部署集内配额充足,避免节点弹出失败。

    不涉及

    私有池类型

    私有池类型包括:开放不使用指定

    • 开放:实例将会自动匹配开放类型的私有容量池,如果没有符合条件的私有池,则使用公共池资源启动。

    • 不使用:实例不会使用任何私有池容量,直接使用公共池资源启动。

    • 指定:您需要进一步选择私有池ID来指定实例只使用该私有池容量启动,如果该私有池不可用,则实例启动失败。

    关于私有池的更多信息,请参见私有池

    对

  2. 单击确认配置

    在节点池列表,如果节点池状态显示初始化中,表明节点池正在创建。创建完成后,状态显示为已激活

编辑节点池

创建节点池后,ACK集群支持通过控制台调整部分节点池配置,例如节点池所在的虚拟交换机、付费类型、实例规格、系统盘及启用或停用弹性伸缩等。您可以参见创建节点池的配置项说明了解支持更新的配置项。

重要
  • 节点池编辑过程中,不会影响节点池内已有节点和业务的运行。

  • 节点池配置更新后,除特殊说明场景外(例如同步更新存量节点的 ECS 标签同步更新存量节点的标签(Labels)及污点(Taints)),不会修改节点池已有节点的配置,仅作用于新增节点。

  • 节点池配置更新后,后续节点池中新增的节点都将默认使用该配置。

  1. 在节点池列表页面中,单击目标节点池所在行操作列的编辑

  2. 在编辑节点池页面,编辑节点池的配置项,并按照页面提示完成配置。

    在节点池页面,如果节点池状态显示更新中,则说明节点池正在变更中。变更完成后,状态显示为已激活

查看节点池

您可以查看节点池的基本信息、监控信息,以及节点池中的全部节点信息和节点伸缩活动的记录。

单击目标节点池名称,查看以下信息。

  • 基本信息页签:展示集群信息、节点池信息、节点配置信息。如果集群已开启自动弹性伸缩,还将展示自动弹性伸缩的配置信息。

  • 监控页签:集成了阿里云Prometheus服务,展示节点池的资源水位情况,包括CPU或内存使用情况、磁盘使用情况、节点CPU或内存平均使用率等。

  • 节点管理页签:当前节点池中的全部节点列表,支持对节点进行移除、运维、排水、调度等操作。单击导出可以通过CSV文件导出节点的各项信息。

  • 伸缩活动页签:最近节点实例伸缩活动记录,包括伸缩后的实例数量、伸缩活动描述等。伸缩活动失败时,您可以查看失败的原因。关于扩缩容失败常见错误码,请参见手动扩缩容节点池

删除节点池

不同计费规则的实例释放规则不同,请参见下文使用标准的操作删除节点池中的节点。在删除节点池前,请确认该节点池是否设置了期望节点数,这将直接影响节点的释放行为。

节点池

释放规则

已开启期望节点数的节点池

  • 按量付费的节点:会随着节点池的删除被释放。

  • 包年包月的节点:删除节点池不会自动释放包年包月的节点。

    如需释放包年包月的节点,请参见包年包月转按量付费将包年包月的节点转换为按量付费的节点,再登录ECS管理控制台完成释放。

  • 删除节点池会将节点池内的所有节点从API Server一并移除。

未开启期望节点数的节点池

  • 节点池内通过手动及自动添加到节点池的已有节点、包年包月的节点不会被释放,其余节点将被释放。

    如需释放包年包月的节点,请参见包年包月转按量付费将包年包月的节点转换为按量付费的节点,再登录ECS管理控制台完成释放。

  • 节点池内释放的节点将会从API Server移除,未被释放的节点将不会从API Server移除。

  1. (可选)单击目标节点池名称,在基本信息页签中检查是否配置了期望节点数。如果未启用,期望节点数字段会显示为-。

  2. 在目标节点池右侧的操作列,单击更多>删除,仔细阅读弹出信息,确认无误后,单击确定

相关操作

节点池激活完成后,您可以在节点池列表区域,单击更多,按需进行以下操作。

界面词

说明

相关文档

同步节点池

节点信息异常时,同步节点池的数据信息。

详情

节点池配置详情。

编辑

调整节点池的配置,例如节点池所在的虚拟交换机、托管节点池配置、付费类型、实例规格、启用或停用弹性伸缩等。

参见上文的编辑节点池

监控

集成了阿里云Prometheus服务,展示节点池的资源水位情况,包括CPU或内存使用情况、磁盘使用情况、节点CPU或内存平均使用率等。

参见上文的查看节点池

扩缩容

支持手动扩容自动伸缩两种扩容方式,根据业务需求和策略自动调整计算资源,节省集群成本。

  • 手动扩容:ACK会根据配置的期望节点数调整节点池中的节点数,将节点数始终维持在期望节点数。更多信息,请参见手动扩缩容节点池

  • 自动伸缩:当集群的容量规划无法满足应用Pod调度时,ACK会根据配置的最小和最大实例数自动扩缩节点资源。1.24及以上版本的集群默认启用节点即时弹性;1.24以下版本的集群默认启用节点自动伸缩。更多信息,请参见节点伸缩概述

配置登录方式

设置节点的登录方式,支持密钥和密码两种方式。

参见前文的实例和镜像配置

开启托管

开启节点池的自动化运维能力,包括节点故障自动恢复、kubelet和运行时自动升级、OS CVE自动修复等。

参见前文的基本配置

添加已有节点

如购买ECS实例后需将其添加到ACK集群中作为Worker节点,或移除Worker节点后需重新加入节点池,可以使用添加已有节点的功能。此功能存在一些使用限制和注意事项,请参见文档了解。

添加已有节点

克隆

基于现有节点池配置,克隆一个相同配置的节点池。

节点恢复

当托管节点池中的节点发生异常时,ACK会自动发起故障节点的恢复操作,使节点保持正常运行(部分复杂的节点故障可能仍然需要手动修复)。关于ACK提供的检查项及具体的恢复行为请参见文档了解。

开启节点池节点故障自动恢复

修复 CVE(OS)

执行CVE漏洞的批量修复,提升集群的稳定性、安全性、合规性。部分CVE漏洞的修复需要通过重启节点来实现,请参见文档了解功能说明及注意事项。

修复节点池操作系统CVE漏洞

Kubelet 配置

在节点池维度自定义节点的kubelet参数配置,调整节点行为,例如整集群资源预留以调配资源用量等。强烈不建议您通过黑屏操作自行定义控制台不支持的kubelet参数。

自定义节点池kubelet配置

OS 配置

在节点池维度自定义节点的OS参数配置,以调优系统性能。强烈不建议您通过黑屏操作自行定义控制台不支持的OS参数。

自定义节点池OS参数

更换操作系统

更换节点操作系统类型,或升级操作系统的版本。

Kubelet 升级

升级节点池中节点的kubelet版本和containerd版本。

升级节点池

删除

删除不再使用的节点池,以减少不必要的资源浪费。节点池是否开启期望节点数以及节点的计费模式会影响节点释放的行为。

参见上文的删除节点池

常见问题

如何基于创建好的ECS实例创建自定义镜像,并使用该镜像创建节点?

您可以在创建ECS实例后,根据业务需要自定义该实例(如安装软件、部署应用环境等),并为更新后的实例创建自定义镜像。使用该镜像创建的新实例,会包含您已配置的自定义项,省去您重复自定义实例的时间。

  1. 登录ECS实例,执行以下命令,删除指定的文件。关于如何登录实例,请参见使用Workbench工具以SSH协议登录Linux实例

    chattr -i /etc/acknode/nodeconfig-*
    rm -rf /etc/acknode
    systemctl disable ack-reconfig
    rm -rf /etc/systemd/system/ack-reconfig.service
    rm -rf /usr/local/bin/reconfig.sh
    rm -rf /var/lib/cloud
  2. 基于ECS实例创建自定义镜像。相关注意事项和具体操作步骤,请参见使用实例创建自定义镜像

  3. 配置节点池,选择操作系统类型为自定义镜像,并参见前文说明完成节点池的创建。

重要
  • 请基于ACK集群支持的操作系统制作自定义镜像。详细信息,请参见操作系统

  • 请勿使用ACK集群中正在运行的ECS实例制作自定义镜像。如需使用,请先从集群移除,请参见移除节点

  • 自定义镜像中预定义的行为逻辑可能影响集群节点初始化、容器运行、节点OS升级、托管节点池的节点自动恢复等操作。在生产环境使用前,请确保已经过严格的测试验证。

相关文档

  • 当不再需要某节点继续工作时,请按照标准化操作将节点移除,请参见移除节点

  • ACK需要占用一定的节点资源来为kube组件和system进程预留资源,请参见节点资源预留策略

  • 当集群的容量规划无法满足应用Pod调度时,您可以启用节点伸缩自动扩缩节点资源,请参见节点伸缩概述

  • 单Worker节点支持的最大Pod数受网络插件类型影响,在大部分场景下不支持变更。如需提升可用的Pod数量,需通过节点池扩容、实例规格提升、重建集群并重新规划Pod网段等手段,具体操作请参见调整可使用的节点Pod数量