节点池是具有相同属性的一组节点的逻辑集合,允许对节点进行统一的管理和运维,例如节点升级、弹性伸缩等。您可以进一步使用节点池的自动化运维能力,使用OS CVE漏洞自动修复、故障节点自动恢复、kubelet和containerd版本自动升级等功能,降低运维成本。您可以调用CreateClusterNodePool为集群创建节点池。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
cs:CreateClusterNodePool |
create |
*Cluster
|
无 | 无 |
请求语法
POST /clusters/{ClusterId}/nodepools HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| ClusterId |
string |
是 |
集群 ID。 |
c61da77e8bfbc4c4c999af2b51b65**** |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| body |
object |
否 |
请求体参数。 |
|
| nodepool_info |
object |
否 |
节点池配置。 |
|
| name |
string |
是 |
节点池名称。 |
nodepool-test |
| type |
string |
否 |
节点池类型,取值范围:
枚举值:
|
ess |
| resource_group_id |
string |
否 |
节点池的资源组 ID,节点池弹出的实例将属于该资源组内。 一个资源只能归属于一个资源组。根据不同的业务场景,您可以将资源组映射为项目、应用或组织等概念。 |
rg-acfmyvw3wjmb**** |
| auto_scaling |
object |
否 |
自动弹性伸缩配置。 |
|
| enable |
boolean |
否 |
是否启用自动伸缩,取值:
当取值为 false 时, 默认值: |
false |
| type |
string |
否 |
自动弹性伸缩实例类型。仅当
默认值: 重要 节点池创建后,该字段不支持修改。 枚举值:
|
cpu |
| max_instances |
integer |
否 |
节点池中可伸缩的最大实例数,不包含您已有的实例。仅当 取值范围[min_instances, 2000],默认值为 0。 |
10 |
| min_instances |
integer |
否 |
节点池中可伸缩的最小实例数,不包含您已有的实例。仅当 取值范围[0, max_instances],默认值为 0。 说明
|
1 |
is_bond_eip
deprecated
|
boolean |
否 |
【该字段已废弃】该字段已废弃,请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。 是否绑定 EIP。取值:
默认值: |
null |
eip_internet_charge_type
deprecated
|
string |
否 |
【该字段已废弃】请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。 EIP 计费类型。取值:
默认值: |
null |
eip_bandwidth
deprecated
|
integer |
否 |
【该字段已废弃】请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。 EIP 带宽峰值。单位:Mbps。 |
null |
| management |
object |
否 |
节点池托管功能配置。 |
|
| enable |
boolean |
否 |
是否开启节点池的托管功能,取值:
默认值:false。 |
false |
| auto_repair |
boolean |
否 |
是否自动修复节点,仅当
默认值为 |
true |
| auto_repair_policy |
object |
否 |
自动修复节点策略。 |
|
| restart_node |
boolean |
否 |
是否允许重启节点,仅当
默认值为 |
true |
| approval_required |
boolean |
否 |
节点修复是否需要人工审批。 |
|
| auto_vul_fix |
boolean |
否 |
是否自动修复 CVE 漏洞,仅当
默认值为 |
true |
| auto_vul_fix_policy |
object |
否 |
自动修复 CVE 策略。 |
|
| restart_node |
boolean |
否 |
是否允许重启节点,仅当
默认值为 |
false |
| vul_level |
string |
否 |
允许自动修复的漏洞级别,以英文逗号分隔,例如:
默认值为 |
asap,nntf |
| exclude_packages |
string |
否 |
指定在漏洞修复过程中应排除的包。 默认值为 |
kernel |
| auto_upgrade |
boolean |
否 |
是否自动升级节点,仅当
默认值为 |
true |
| auto_upgrade_policy |
object |
否 |
自动升级节点策略。 |
|
| auto_upgrade_kubelet |
boolean |
否 |
是否允许自动升级 kubelet,仅当
默认值为 |
true |
| auto_upgrade_runtime |
boolean |
否 |
是否允许自动升级运行时,仅当
默认值为 |
false |
| auto_upgrade_os |
boolean |
否 |
是否允许自动升级操作系统,仅当
默认值为 |
false |
upgrade_config
deprecated
|
object |
否 |
【该字段已废弃】请使用上层的 自动升级配置,仅当 |
|
auto_upgrade
deprecated
|
boolean |
否 |
【该字段已废弃】请使用上层的 是否启用自动升级,取值:
|
null |
| surge |
integer |
否 |
额外节点数量。和 升级的时候节点会不可用,您可以创建额外节点补偿集群的负载。 说明
建议创建的额外节点不超过当前的节点数。 |
0 |
| surge_percentage |
integer |
否 |
额外节点数的百分比,和 额外节点数=额外节点数比例×节点数,例如,设置额外节点数比例为 50%,存在的节点数为 6,那么将产生的额外节点数=50%×6,也就是将产生 3 个额外节点数。 |
0 |
| max_unavailable |
integer |
否 |
最大不可用节点数量。 取值范围:[1,1000] 默认值:1。 |
1 |
| auto_fault_diagnosis |
boolean |
否 |
||
| scaling_group |
object |
否 |
节点池伸缩组配置。 |
|
| vswitch_ids |
array |
是 |
虚拟交换机 ID 列表,取值范围:[1,8]。 说明
为保证高可用性,建议选择不同可用区的虚拟交换机。 |
|
|
string |
否 |
虚拟交换机 ID。 |
vsw-wz9mfnhmssud6eicu**** |
|
| instance_types |
array |
是 |
节点池节点实例规格列表,节点池弹出节点时,将从指定的实例规格列表中,挑选出符合要求的实例规格弹出实例。 支持的实例规格数量范围:[1,10] 说明
为保证高可用性,建议选择多个实例规格。 |
|
|
string |
否 |
实例规格。请参见实例规格族。 |
ecs.d1ne.2xlarge |
|
| instance_charge_type |
string |
是 |
节点池节点付费类型,取值:
默认值: 枚举值:
|
PostPaid |
| period |
integer |
否 |
节点池节点包年包月时长,仅当
|
1 |
| period_unit |
string |
否 |
节点池节点付费周期,仅当
默认值: |
Month |
| auto_renew |
boolean |
否 |
节点池节点是否开启自动续费,当
默认值: |
true |
| auto_renew_period |
integer |
否 |
单次自动续费的续费时长。取值范围:
默认值:1。 |
1 |
| spot_strategy |
string |
否 |
抢占式实例类型。取值:
更多信息,请参见抢占式实例。 |
NoSpot |
| spot_price_limit |
array<object> |
否 |
当前单台抢占式实例规格市场价格区间配置。 |
|
|
object |
否 |
抢占实例市场价格区间配置,可为不同实例规格设置不同的价格区间。 |
||
| instance_type |
string |
否 |
抢占式实例规格。 |
ecs.c6.large |
| price_limit |
string |
否 |
单台实例上限价格。 单位:元/小时。 |
0.39 |
| image_type |
string |
否 |
操作系统镜像类型,取值范围:
|
AliyunLinux3 |
| image_id |
string |
否 |
自定义镜像 ID,默认使用系统提供的镜像。 |
aliyun_2_1903_x64_20G_alibase_20200529.vhd |
| system_disk_category |
string |
否 |
节点系统盘类型,取值:
默认值: |
cloud_efficiency |
| system_disk_categories |
array |
否 |
系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。 |
|
|
string |
否 |
节点的多系统盘类型。 取值范围:
|
cloud_essd |
|
| system_disk_size |
integer |
否 |
节点系统盘大小,单位:GiB。 取值范围:[20,2048]。 |
120 |
| system_disk_performance_level |
string |
否 |
节点系统盘磁盘性能,只对 ESSD 磁盘生效。磁盘性能等级和磁盘大小有关。更多信息,请参见 ESSD 云盘。
|
PL1 |
| system_disk_encrypted |
boolean |
否 |
是否加密系统盘。取值范围:
|
false |
| system_disk_kms_key_id |
string |
否 |
系统盘使用的 KMS 密钥 ID。 |
0e478b7a-4262-4802-b8cb-00d3fb40**** |
| system_disk_encrypt_algorithm |
string |
否 |
系统盘采用的加密算法。取值范围:aes-256。 |
aes-256 |
| system_disk_bursting_enabled |
boolean |
否 |
节点系统盘是否开启 Burst(性能突发)。 取值:
当 |
true |
| system_disk_provisioned_iops |
integer |
否 |
节点系统盘预配置的读写 IOPS。 可能值:0~min{50,000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50000}。 当 |
1000 |
| data_disks |
array |
否 |
节点池节点数据盘配置。 |
|
| data_disk |
否 |
数据盘配置。 |
||
| disk_init |
array |
否 |
块设备初始化配置。 |
|
|
DiskInit |
否 |
DiskInit 配置。 |
||
| security_group_ids |
array |
否 |
安全组 ID 列表,与 |
|
|
string |
否 |
安全组 ID 列表,与 |
sg-wz9a8g2mt6x5ll****** |
|
| key_pair |
string |
否 |
免密登录密钥对名称,和 说明
如果节点池选择 ContainerOS 操作系统,则只支持 |
np-key-name |
| login_password |
string |
否 |
SSH 登录密码,和 |
**** |
| login_as_non_root |
boolean |
否 |
弹出的 ECS 实例是否使用以非 root 用户登录。
|
true |
cis_enabled
deprecated
|
boolean |
否 |
【已废弃】请使用参数 security_hardening_os 替代。 |
null |
| soc_enabled |
boolean |
否 |
是否开启等保加固,仅当系统镜像选择 Alibaba Cloud Linux 2 或 Alibaba Cloud Linux 3 时,可为节点开启等保加固。阿里云为 Alibaba Cloud Linux 2 和 Alibaba Cloud Linux 3 等保 2.0 三级版镜像提供等保合规的基线检查标准和扫描程序。 |
false |
| security_hardening_os |
boolean |
否 |
阿里云 OS 安全加固。取值:
默认值: |
false |
| internet_charge_type |
string |
否 |
公网 IP 收费类型。取值:
|
PayByTraffic |
| internet_max_bandwidth_out |
integer |
否 |
节点公网 IP 出带宽最大值,单位为 Mbps(Mega bit per second),取值范围:[1,100] |
5 |
| tags |
array<object> |
否 |
仅为 ECS 实例添加标签。 标签键不可以重复,最大长度为 128 个字符;标签键和标签值都不能以“aliyun”、“acs:”开头,或包含“https://”、“http://”。 |
|
|
object |
否 |
节点标签。 |
||
| key |
string |
否 |
标签的名称。 |
node-k-1 |
| value |
string |
否 |
标签值。 |
node-v-1 |
| desired_size |
integer |
否 |
节点池期望节点数量。 节点池应该维持的总节点数量,建议至少配置 2 个节点,以确保集群组件正常运行。您可以通过调整期望节点数,达到扩容或缩容节点池的目的。 如无需创建节点,可填写为 0,后续再手动调整,增加节点数。 |
0 |
| multi_az_policy |
string |
否 |
多可用区伸缩组 ECS 实例扩缩容策略。取值:
默认值: |
COST_OPTIMIZED |
| scaling_policy |
string |
否 |
伸缩组模式,取值:
默认值: |
release |
| on_demand_base_capacity |
integer |
否 |
伸缩组所需要按量实例个数的最小值,取值范围:[0,1000]。当按量实例个数少于该值时,将优先创建按量实例。 |
0 |
| on_demand_percentage_above_base_capacity |
integer |
否 |
伸缩组满足最小按量实例数( |
20 |
| spot_instance_pools |
integer |
否 |
指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:[1,10]。 |
5 |
| spot_instance_remedy |
boolean |
否 |
是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。取值:
|
false |
| compensate_with_on_demand |
boolean |
否 |
当
|
true |
| deploymentset_id |
string |
否 |
部署集 ID。您可以使用部署集将节点池弹出的 ECS 实例分散部署在不同的物理服务器上,以保证业务的高可用性和底层容灾能力。在部署集内创建 ECS 实例时,根据事先设置的部署策略,分散启动指定地域下的 ECS 实例。 重要 选择部署集后,节点池内最大节点数会受限。部署集默认支持节点上限为 20 * 可用区数量(可用区数量由虚拟交换机决定)。请谨慎选择,确保部署集内配额充足,避免节点弹出失败。 |
ds-bp1d19mmbsv3jf6xxxxx |
| rds_instances |
array |
否 |
RDS 实例列表。 |
|
|
string |
否 |
RDS 实例 ID。 |
rds-**** |
|
| private_pool_options |
object |
否 |
私有节点池配置。 |
|
| id |
string |
否 |
私有节点池 ID。当 |
eap-bp67acfmxazb4**** |
| match_criteria |
string |
否 |
私有节点池类型,实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值:
|
Target |
security_group_id
deprecated
|
string |
否 |
节点池安全组 ID,与 |
sg-wz9a8g2mt6x5llu0**** |
platform
deprecated
|
string |
否 |
【该字段已废弃】请使用 操作系统发行版。取值:
默认值: |
null |
| instance_patterns |
array |
否 |
实例属性配置。 |
|
| instance_patterns |
否 |
实例属性。 |
||
| ram_role_name |
string |
否 |
Worker RAM 角色名称。
重要 仅 1.22 及以上版本的 ACK 托管集群支持该参数 |
example-role |
| instance_metadata_options | InstanceMetadataOptions |
否 |
ECS 实例元数据访问配置。 |
|
| resource_pool_options |
object |
否 |
创建实例时使用的资源池及资源池策略。当您设置该参数后,需要注意: 该参数只在创建按量付费实例时生效。 该参数不能与 private_pool_options.match_criteria、private_pool_options.id 同时设置。 |
|
| strategy |
string |
否 |
创建实例时使用的资源池策略。资源池包括弹性保障服务或容量预定服务生效后生成的私有池以及公共池,供实例启动时选择。取值范围: PrivatePoolFirst:私有池优先。选择此种策略时, 当指定了 resouce_pool_options.private_pool_ids,优先使用指定的私有池。如果未指定私有池或指定的私有池容量不足,将自动匹配开放类型的私有池。如果没有符合条件的私有池,则使用公共池创建实例。 PrivatePoolOnly:仅限私有池。选择此种策略时,必须指定 resouce_pool_options.private_pool_ids。如果指定的私有池容量不足,则实例会启动失败。 None:不使用资源池策略。 默认值:None。 |
PrivatePoolFirst |
| private_pool_ids |
array |
否 |
私有池 ID 列表。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。N 的取值范围:1~20。 |
|
|
string |
否 |
私有池 ID。即弹性保障服务 ID 或容量预定服务 ID。该参数只能传入 Target 模式私有池 ID。 |
eap-bp67acfmxazb4**** |
|
| system_disk_snapshot_policy_id |
string |
否 |
系统盘快照策略。 |
sp-0jl6xnmme8v7o935**** |
| node_config |
object |
否 |
节点配置。 |
|
| kubelet_configuration | kubelet_config |
否 |
Kubelet 参数配置。 |
|
| kubernetes_config |
object |
否 |
集群相关配置。 |
|
| labels |
array |
否 |
节点标签,为 Kubernetes 集群节点添加标签。 |
|
| tag |
否 |
标签配置。 |
||
| taints |
array |
否 |
污点配置。 |
|
| taint |
否 |
污点配置集合。 |
||
| runtime |
string |
否 |
容器运行时名称,ACK 支持以下三种容器运行时。
默认值:containerd。 |
containerd |
| runtime_version |
string |
否 |
容器运行时版本。 |
1.6.38 |
| cpu_policy |
string |
否 |
节点 CPU 管理策略。当集群版本在 1.12.6 及以上时支持以下两种策略:
默认值: |
none |
| user_data |
string |
否 |
实例自定义数据。节点加入集群后,将运行您指定的实例自定义数据脚本。请参见User-Data 脚本。 |
dGhpcyBpcyBhIGV4YW1wbGU= |
| unschedulable |
boolean |
否 |
扩容后的节点是否不可调度。
|
true |
| cms_enabled |
boolean |
否 |
是否在 ECS 节点上安装云监控,安装后可以在云监控控制台查看所创建 ECS 实例的监控信息,推荐开启。取值:
默认值: |
false |
| node_name_mode |
string |
否 |
自定义节点名称。自定义节点名称后,将同时更改节点名称、ECS 实例名称、ECS 实例 Hostname。 说明
对于开启自定义节点名称的 Windows 实例,其 Hostname 固定为 IP 地址,使用-代替 IP 地址中的.,且不包含前缀和后缀。 节点名称由前缀、节点 IP 地址及后缀三部分组成:
例如:节点 IP 地址为 192.XX.YY.55,指定前缀为 aliyun.com,后缀为 test。
|
aliyun.com192.XX.YY.55test |
| pre_user_data |
string |
否 |
实例预自定义数据。节点加入集群前,将运行您指定的实例预自定义数据脚本。请参见User-Data 脚本。 |
dGhpcyBpcyBhIGV4YW1wbGU |
| tee_config |
object |
否 |
加密计算集群配置。 |
|
| tee_enable |
boolean |
否 |
是否开启加密计算集群。
|
true |
interconnect_config
deprecated
|
object |
否 |
【该字段已废弃】 边缘节点池配置。 |
|
| cen_id |
string |
否 |
【该字段已废弃】 边缘增强型节点池绑定的云企业网实例 ID(CENID)。 |
null |
| ccn_id |
string |
否 |
【该字段已废弃】 边缘增强型节点池绑定的云连接网实例 ID(CCNID)。 |
null |
| ccn_region_id |
string |
否 |
【该字段已废弃】 边缘增强型节点池绑定的云连接网实例所属的地域。 |
null |
| bandwidth |
integer |
否 |
【该字段已废弃】 边缘增强型节点池的网络带宽,单位:Mbps。 |
null |
| improved_period |
string |
否 |
【该字段已废弃】 边缘增强型节点池的购买时长,单位:月。 |
null |
count
deprecated
|
integer |
否 |
【该字段已废弃】请使用 desired_size 代替。 节点池节点数量。 |
null |
max_nodes
deprecated
|
integer |
否 |
【该字段已废弃】 边缘节点池允许容纳的最大节点数量。 |
null |
| interconnect_mode |
string |
否 |
边缘节点池的网络类型,该参数仅对
|
basic |
| host_network |
boolean |
否 |
Pod 网络模式是否采用主机网络模式。
|
true |
| intranet |
boolean |
否 |
边缘节点池内,节点之间是否三层网络互通。
|
true |
| eflo_node_group |
object |
否 |
灵骏节点池配置。 |
|
| cluster_id |
string |
否 |
创建灵骏节点池时需要关联的灵骏集群 ID。 |
i1169130516633730**** |
| group_id |
string |
否 |
创建灵骏节点池时需要关联的灵骏集群的灵骏分组 ID。 |
ng-ec3c96ff0aa**** |
| auto_mode |
object |
否 |
节点池智能托管配置。 |
|
| enable |
boolean |
否 |
是否开启智能托管模式。 取值:
|
true |
| node_components |
array<object> |
否 |
节点组件列表。 |
|
|
array<object> |
否 |
节点组件。 |
||
| name |
string |
否 |
节点组件名称。 |
kubelet |
| version |
string |
否 |
节点组件版本。 |
1.33.3-aliyun.1 |
| config |
object |
否 |
节点组件配置。 |
|
| custom_config |
object |
否 |
节点组件自定义配置。 |
|
|
string |
否 |
节点组件自定义配置字符串。 |
cpuManagerPolicy |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
节点池配置。 |
||
| nodepool_id |
string |
节点池 ID。 |
np31da1b38983f4511b490fc62108a**** |
| task_id |
string |
任务 ID。 |
T-613b19bbd160ad492800**** |
| request_id |
string |
请求 ID。 |
0527ac9a-c899-4341-a21a-**** |
示例
正常返回示例
JSON格式
{
"nodepool_id": "np31da1b38983f4511b490fc62108a****",
"task_id": "T-613b19bbd160ad492800****",
"request_id": "0527ac9a-c899-4341-a21a-****"
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。