通过节点池,您可以更方便地对节点进行分组管理,例如节点运维、节点配置、开启节点自动弹性伸缩、批量管理、指定调度等。本文介绍节点池的概念、使用说明、使用限制,以及节点池分类。

节点池概念

节点池是集群中具有相同配置的一组节点,节点池可以包含一个或多个节点。创建集群时指定的节点数和配置将成为默认节点池,您可以向集群添加其他不同大小和类型的节点池。您可以创建和升级节点池而不会影响整个集群。

通常情况下,在节点池内的节点均具有以下相同属性:
  • 节点操作系统及版本。
  • 容器运行时类型及版本。
  • 计费类型(目前支持按量付费和包年包月,弹性节点池支持抢占式实例)。
  • 节点规格。
  • 节点CPU Policy。
  • 节点标签、污点( Taints)。
  • 节点自定义数据。
nodepool
节点池相关的术语如下:
术语 描述
弹性伸缩组 一个弹性伸缩组包含ECS实例集合,这些实例被视为逻辑组以用于自动扩展和管理用途。节点池基于弹性伸缩组来进行节点管理,节点池中的资源(包括ECS实例和弹性伸缩组)在您的阿里云账户中运行。更多信息,请参见伸缩组概述
说明 请勿直接通过弹性伸缩组进行配置及节点操作,请通过容器服务节点池进行节点配置及管理,否则将导致节点池部分功能不正常运作。
替换系统盘 通过替换节点系统盘的方式初始化节点,该节点的IaaS属性不发生改变,如节点名称、实例ID、IP等,但会删除节点系统盘上的数据,执行节点的重新初始化流程。额外挂载到该节点上的数据盘不受影响。
注意 请勿在节点系统盘中存储持久化数据,建议保存在数据盘中。
原地升级 与替盘相对应的一种升级方式,直接在原节点上更新替换所需组件。原地升级不会替换系统盘,也不会重新初始化节点,因此不会破坏原节点的数据。

节点池使用说明

在您使用节点池功能前,请阅读以下使用说明:
  • 每个集群可以创建多个节点池,可创建的ACK节点池类型有节点池和托管节点池。关于节点池类型定义,请参见节点池类型
  • 创建集群时,指定的节点数和类型将成为默认节点池配置,默认节点池不可删除。通过未指定节点池的API的扩容和添加节点方式添加的实例,都将归属于默认节点池。关于通过API扩容节点池和添加已有ECS节点的详细信息,请参见扩容节点池添加已有实例至节点池
    说明 存量的3可用区专有集群,由于创建集群时同时分配3个弹性伸缩组,所以系统会分别同步3个默认节点池。
  • 通过节点池,可以在同一个集群中实现不同类型的节点混合部署管理。
    • 同一个集群中,允许创建不同操作系统(CentOS、Windows、AliyunLinux)的节点池。
    • 同一个集群中,允许创建不同容器运行时(安全沙箱、Docker)的节点池。
    • 同一个集群中,允许创建不同计费类型(按量付费、包年包月、抢占式实例)的节点池。
    • 同一个集群中,允许创建多个开启自动弹性伸缩的节点池。
  • 每个节点池可以为节点指定不同的配置。
    • 资源相关:例如节点规格、交换机、系统盘和数据盘、安全组、登录方式等。
    • 节点配置:例如节点自定义数据、CPU管理策略、标签、污点(Taints)等。

节点池使用限制

  • 目前节点池对Kubernetes版本为1.12.6-aliyun.1及以上的ACK集群开放。
  • 不同类型的ACK集群支持的最大节点池数不同,具体信息,请参见ACK集群配额限制

节点池计费

每个节点池对应一个弹性伸缩组实例,节点池本身不额外收费,但节点池使用的ECS实例等云资源由对应的云产品计费。

关于弹性伸缩组的计费详情,请参见费用说明

说明 如果您期望修改节点池中已有节点的付费类型,请登录ECS管理控制台修改。具体操作,请参见按量付费转包年包月

节点池类型

ACK节点池类型分为节点池和托管节点池。

节点池类型 描述
节点池 节点池是集群中具有相同配置的一组节点,节点池可以包含一个或多个节点。节点池后端与弹性伸缩组实例一比一对应。当对节点池进行扩容和缩容时,ACK通过弹性伸缩服务下发扩容和移除节点的操作。您可以根据自己的需要创建和管理多个节点池。
注意 由于默认节点池中安装了部分系统组件,弹性伸缩时可能会造成集群功能的不稳定。如果您需要实现弹性伸缩功能,建议您另建节点池。
托管节点池 托管节点池是ACK全新推出的自动化运维型节点池,可以自动完成部分节点运维操作,如CVE更新、部分故障修复等,从而降低您的节点运维负担。

更多信息,请参见托管节点池概述

节点池和托管节点池的功能对比

对比项 节点池 托管节点池
运维能力 用户自行管理 部分运维托管于容器服务
扩缩容 手动 手动
弹性伸缩 可开启自动弹性伸缩 可开启自动弹性伸缩
计费方式 按量或者包年包月实例 按量或者包年包月实例
节点升级
  • 手动升级
  • 仅支持升级Kubelet版本
  • 升级方式为原地升级
  • 手动升级
  • 支持升级Kubelet版本、CVE漏洞等
  • 升级方式为替换系统盘
故障修复 手动 自动
说明 托管节点池的自动化运维能力可以帮助您简化节点运维工作,部分复杂的节点故障可能仍需要人工修复。关于节点自动恢复的更多信息,请参见托管节点池节点自动恢复
密钥管理 同时支持密码和密钥方式 仅支持密钥方式
操作系统 支持以下操作系统:
  • CentOS
  • Alibaba Cloud Linux
  • Windows
支持以下操作系统:
  • ContainerOS
  • CentOS
  • Alibaba Cloud Linux
  • Windows
说明
  • 在删除节点池前,您需清空节点池内所有节点。
  • 只能在创建节点池的时候开启自动弹性伸缩功能。开启了自动弹性伸缩功能的节点池有以下特性:
    • 不支持手动扩容。
    • 付费类型支持抢占式实例。
    • 弹性模式上除了普通CPU实例,还支持GPU实例和GPU共享实例。
    • 允许您关闭弹性伸缩配置,将弹性节点池切换为节点池 (反向操作不允许)。
    更多信息,请参见节点自动伸缩