为帮助您更好地管理Kubernetes集群内节点,容器服务ACK提供节点池的能力。通过节点池,您可以更方便地进行节点运维,配置节点自动弹性伸缩,批量管理,指定调度等。节点池功能为您提供更便捷的集群节点运维操作。
背景信息
- 弹性伸缩组:伸缩组是弹性伸缩的核心单元。在伸缩组中配置好实例配置信息来源并启用伸缩组后,您可以通过伸缩规则自动伸缩ECS实例,也可以手动添加已有的ECS实例。更多信息,请参见伸缩组概述。
- 替换系统盘:通过替换节点系统盘的方式初始化节点,该节点的IaaS属性不发生改变,如节点名称、实例ID、IP等,但会删除节点系统盘上的数据,执行节点的重新初始化流程。额外挂载到该节点上的数据盘不受影响。
注意 请勿在节点系统盘中存储持久化数据,建议保存在数据盘中。
- 原地升级:与替盘相对应的一种升级方式,直接在原节点上更新替换所需组件。原地升级不会替换系统盘,也不会重新初始化节点,因此不会破坏原节点的数据。
节点池概念
节点池是集群中全都具有相同配置的一组节点,节点池可以包含一个或多个节点。创建集群时指定的节点数和配置将成为默认节点池,然后您可以向集群添加其他不同大小和类型的自定义节点池。您可以创建和升级节点池而不会影响整个集群。
- 节点操作系统及版本。
- 容器运行时类型及版本。
- 计费类型(目前支持按量付费和包年包月,弹性节点池支持竞价实例)。
- 节点规格。
- 节点CPU Policy。
- 节点标签、污点( Taints)。
- 节点自定义数据。

节点池使用说明
- 一个集群中可以创建多个节点池,目前有自定义节点池、弹性节点池、托管节点池。
- 每个集群都有一个默认节点池,其定义和自定义节点池一致,复用创建集群时创建的弹性伸缩资源。通过未指定节点池的API的扩容和添加节点方式添加的实例,都将归属于默认节点池。关于通过API扩容集群和添加已有ECS节点的详细信息,请参见扩容集群和添加已有实例到集群。
- 通过节点池,可以在同一个集群中实现不同类型的节点混合部署管理。
- 同一个集群中,允许创建不同操作系统(CentOS、Windows、AliyunLinux)的节点池。
- 同一个集群中,允许创建不同容器运行时(安全沙箱、Docker)的节点池。
- 同一个集群中,允许创建不同计费类型(按量付费、包年包月、抢占实例)的节点池。
- 同一个集群中,允许创建不同自动伸缩策略的节点池。
- 每个节点池可以为节点指定不同的配置。
- 资源相关:比如节点规格、交换机、系统盘和数据盘、安全组、登录方式等。
- 节点配置:比如节点自定义数据、CPU管理策略、标签、污点(Taints)等。
节点池使用限制
-
目前节点池对Kubernetes版本为1.12.6-aliyun.1及以上的ACK集群开放。
-
每个ACK集群默认20个节点池(可自助到配额平台提交申请增加配额),每个节点池可创建1000个节点。
节点池计费
每个节点池对应一个弹性伸缩组实例,节点池本身不额外收费。关于弹性伸缩的计费详情,请参见费用说明。
节点池类型
ACK节点池类型有自定义节点池、默认节点池、弹性节点池、托管节点池。
自定义节点池后端与弹性伸缩组实例一比一对应。当对节点池执行扩容和缩容时,ACK通过弹性伸缩服务下发扩容和移除节点的操作。当节点池添加已有节点时,ACK也会将ECS实例添加到弹性伸缩组中进行统一管理。ACK支持操作如下:
- 扩容节点池:创建节点池对应的弹性伸缩组实例,并配置伸缩规则。
- 指定移除节点:从API Server中移除节点信息,从弹性伸缩组中移出节点。
- 编辑节点池配置:修改节点池配置,更新弹性伸缩组信息。
- 克隆节点池:复制节点池。
- 删除节点池:删除对应的弹性伸缩组实例 (删除前必须将节点池内节点全部移除)。
后端与一个弹性伸缩组实例绑定,所绑定的弹性伸缩组实例由创建集群时自动分配,不会创建额外实例。当您使用API扩容节点池和添加节点时,会将节点添加到默认节点池中。除了不支持删除。 其他行为和自定义节点池一致。ACK支持操作如下:
- 不支持删除节点池,其他操作和自定义节点池一致。
- 创建集群时自动分配。
- 存量的3可用区专有集群由于创建集群时同时分配3个弹性伸缩组,会分别同步3个默认节点池,并对应弹性伸缩组。
弹性节点池创建过程与自定义节点池一致。创建后弹性节点池会在集群中部署cluster-autoscaler组件,该组件通过计算集群的容器数触发节点自动扩缩容。关于自动扩缩容的更多信息,请参见下文相关文档中的节点自动伸缩。
与自定义节点池不同的地方:
- 不支持手动扩容。
- 配置最大和最小实例数,决定节点池自动扩缩容的边界。
- 付费类型支持Spot竞价实例。
- 弹性模式上除了普通CPU实例,还支持GPU实例和GPU共享实例。
- 允许您关闭弹性伸缩配置,将弹性节点池切换为普通节点池 (反向操作不允许)。
托管节点池是ACK全新推出的具有自动升级、节点自愈能力的免运维型节点池,为您提供统一的、全托管的节点生命周期管理。您无需关心节点运维操作,如节点组件版本更新,OS版本更新,CVE更新等,ACK会自行修复节点池内的故障节点。更多信息,请参见下文相关文档中的托管节点池概述。
不同节点池类型对比
对比项 | 默认节点池 | 自定义节点池 | 弹性节点池 | 托管节点池 |
---|---|---|---|---|
扩容方式 | 手动扩缩容 | 手动扩缩容 | 自动扩缩容
说明 不支持手动扩容。
|
手动扩缩容 |
可否删除 | 不可删除 | 允许删除
说明 删除自定义节点池前,您需清空节点池内所有节点。
|
允许删除 | 允许删除
说明 删除托管节点池前,您需清空节点池内所有节点。
|
付费类型 | 按量实例或者包年包月 | 按量实例或者包年包月 | 按量实例或者Spot竞价实例 | 按量实例或者包年包月 |
节点升级 |
|
|
|
|
登录方式 | 同时支持密钥对和密码。 | 同时支持密钥对和密码。 | 同时支持密钥对和密码。 | 不支持使用密码登录,仅支持使用密钥对。 |
自动故障修复 | 不支持 | 不支持 | 不支持 | 支持 |
在文档使用中是否遇到以下问题
更多建议
匿名提交