CreateClusterNodePool - 创建节点池

通过节点池,您可以更方便地对节点进行分组管理,例如节点运维、节点配置、开启节点自动弹性伸缩、批量管理、指定调度等。您可以调用CreateClusterNodePool为集群创建节点池。推荐您使用托管节点池,以帮助您自动完成部分节点运维操作,例如高危CVE漏洞自动修复、部分故障修复等,从而降低您的节点运维负担。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
cs:CreateClusterNodePoolcreate
*Cluster
acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}

请求语法

POST /clusters/{ClusterId}/nodepools HTTP/1.1

请求参数

名称类型必填描述示例值
ClusterIdstring

集群 ID。

c61da77e8bfbc4c4c999af2b51b65****
bodyobject

请求体参数。

nodepool_infoobject

节点池配置。

namestring

节点池名称。

nodepool-test
typestring

节点池类型,取值范围:

  • ess:普通节点池(包含托管功能和自动弹性伸缩功能)。
  • edge:边缘节点池。
  • lingjun:灵骏节点池。
ess
resource_group_idstring

节点池的资源组 ID,节点池弹出的实例将属于该资源组内。

rg-acfmyvw3wjmb****
auto_scalingobject

自动弹性伸缩配置。

enableboolean

是否启用自动伸缩。取值:

  • true:开启节点池自动伸缩功能。
  • false:不开启自动伸缩,当取值为 false 时,其他auto_scaling配置参数将不生效。

默认值:false

false
typestring

自动弹性伸缩实例类型。仅当enable=true生效,取值:

  • cpu:普通实例型。

  • gpu:GPU 实例型。

  • gpushare:GPU 共享型。

  • spot:抢占式实例型。

默认值:cpu

注意 节点池创建后,该字段不支持修改

cpu
max_instanceslong

自动伸缩最大实例数,节点池的节点数将不会超过该值。仅当enable=true生效,取值范围[min_instances, 2000],默认值为 0。

10
min_instanceslong

自动伸缩最小实例数,节点池的节点数将不会低于该值。仅当enable=true生效,取值范围[0, max_instances],默认值为 0。

1
is_bond_eipdeprecatedboolean

【该字段已废弃】

是否绑定 EIP。取值:

  • true:绑定 EIP。

  • false:不绑定 EIP。

默认值:false

危险 该字段已废弃,请使用 internet_charge_type 和 internet_max_bandwidth_out 替代

true
eip_internet_charge_typedeprecatedstring

【该字段已废弃】

EIP 计费类型。取值:

  • PayByBandwidth:按固定带宽计费。
  • PayByTraffic:按使用流量计费。

默认值:PayByBandwidth

危险 该字段已废弃,请使用 internet_charge_type 和 internet_max_bandwidth_out 替代

PayByBandwidth
eip_bandwidthdeprecatedlong

【该字段已废弃】

EIP 带宽峰值。单位:Mbps。

危险 该字段已废弃,请使用 internet_charge_type 和 internet_max_bandwidth_out 替代

5
managementobject

节点池托管功能配置。

enableboolean

是否开启节点池的托管功能,取值:

  • true:开启托管功能。

  • false:不开启托管功能,只有当 enable=true 时,其他相关配置才生效。

默认值:false。

false
auto_repairboolean

是否自动修复节点,仅当enable=true时生效。

  • true:自动修复。

  • false:不自动修复。

enable=true时,默认值为true,当enable=false时,默认值为false

true
auto_repair_policyobject

自动修复节点策略。

restart_nodeboolean

是否允许重启节点,仅当auto_repair=true时生效。取值:

  • true:允许重启节点。
  • false:不允许重启节点。

auto_repair=true时,默认值为true,当auto_repair=false时,默认值为false

true
auto_vul_fixboolean

是否自动修复 CVE 漏洞,仅当enable=true时生效。

  • true:允许自动修复 CVE。
  • false:不允许自动修复 CVE。

enable=true时,默认值为true,当enable=false时,默认值为false

true
auto_vul_fix_policyobject

自动修复 CVE 策略。

restart_nodeboolean

是否允许重启节点,仅当auto_vul_fix=true时生效。取值:

  • true:允许重启节点。
  • false:不允许重启节点。 当auto_vul_fix=true时,默认值为false,当auto_vul_fix=false时,默认值为false
false
vul_levelstring

允许自动修复的漏洞级别,以英文逗号分隔,例如:asap,later。支持的漏洞级别:

  • asap:高
  • later:中
  • nntf:低

auto_vul_fix=true时,默认值为asap

asap,nntf
auto_upgradeboolean

是否自动升级节点,仅当enable=true时生效。

  • true:启用自动升级。
  • false:不启用自动升级。

enable=true时,默认值为true,当enable=false时,默认值为false

true
auto_upgrade_policyobject

自动升级节点策略。

auto_upgrade_kubeletboolean

是否允许自动升级 kubelet,仅当auto_upgrade=true时生效。取值:

  • true:允许自动升级 kubelet。
  • false:不允许自动升级 kubelet。

auto_upgrade=true时,默认值为true,当auto_upgrade=false时,默认值为false

true
auto_upgrade_runtimeboolean

是否允许自动升级运行时,仅当auto_upgrade=true时生效。取值:

  • true:允许自动升级运行时。
  • false:不允许自动升级运行时。

默认值为false

auto_upgrade_osboolean

是否允许自动升级操作系统,仅当auto_upgrade=true时生效。取值:

  • true:允许自动升级操作系统。
  • false:不允许自动升级操作系统。

默认值为false

upgrade_configdeprecatedobject

自动升级配置,仅当enable=true时生效。

auto_upgradedeprecatedboolean

是否启用自动升级,取值:

  • true:启用自动升级。

  • false:不启用自动升级。

危险 该字段已废弃,请使用上层的 auto_upgrade 替代

false
surgelong

额外节点数量。

0
surge_percentagelong

额外节点比例, 和surge二选一。

0
max_unavailablelong

最大不可用节点数量。 取值范围:[1,1000]

默认值:1。

1
scaling_groupobject

节点池伸缩组配置。

vswitch_idsarray

虚拟交换机 ID 列表,取值范围:[1,8]。

说明 为保证高可用性,建议选择不同可用区的虚拟交换机。
string

虚拟交换机 ID。

vsw-wz9mfnhmssud6eicu****
instance_typesarray

节点池节点实例规格列表,节点池弹出节点时,将从指定的实例规格列表中,挑选出符合要求的实例规格弹出实例。支持的实例规格数量范围:[1,10]

说明 为保证高可用性,建议选择多个实例规格。
string

实例规格。

ecs.d1ne.2xlarge
instance_charge_typestring

节点池节点付费类型,取值:

  • PrePaid:预付费实例。

  • PostPaid:按量付费实例。

默认值:PostPaid

PostPaid
periodlong

节点池节点包年包月时长,仅当instance_charge_type取值为PrePaid时生效,且为必选值。

  • period_unit=Week时,period取值范围:{ 1、2、3、4}。
  • period_unit=Month时,period 取值范围:{1、2、3、4、5、6、7、8、9、12、24、36、48、60}。
1
period_unitstring

节点池节点付费周期,仅当instance_charge_type取值为PrePaid时生效,且为必选值。

  • Month:以月为计时单位。
  • Week:以周为计算单位。

默认值:Month

Month
auto_renewboolean

节点池节点是否开启自动续费,当instance_charge_type取值为PrePaid时才生效。取值:

  • true:自动续费。
  • false:不自动续费。

默认值:false

true
auto_renew_periodlong

单次自动续费的续费时长。取值范围:

  • PeriodUnit=Week 时:1、2、3。
  • PeriodUnit=Month 时:1、2、3、6、12、24、36、48、60。

默认值:1。

1
spot_strategystring

抢占式实例类型。取值:

  • NoSpot:非抢占式实例。

  • SpotWithPriceLimit:设置抢占实例价格上限。

  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。

更多信息,请参见抢占式实例

NoSpot
spot_price_limitarray<object>

当前单台抢占式实例规格市场价格区间配置。

object

抢占实例市场价格区间配置,可为不同实例规格设置不同的价格区间。

instance_typestring

抢占式实例规格。

ecs.c6.large
price_limitstring

单台实例上限价格。

0.39
image_typestring

操作系统镜像类型,和platform参数二选一,取值范围:

  • AliyunLinux:Alinux2 镜像。
  • AliyunLinuxSecurity:Alinux2 镜像 UEFI 版。
  • AliyunLinux3:Alinux3 镜像。
  • AliyunLinux3Arm64:Alinux3 镜像 ARM 版。
  • AliyunLinux3Security:Alinux3 镜像 UEFI 版。
  • CentOS:CentOS 镜像。
  • Windows:Windows 镜像。
  • WindowsCore:WindowsCore 镜像。
  • ContainerOS:容器优化镜像。
AliyunLinux3
image_idstring

自定义镜像 ID,默认使用系统提供的镜像。

aliyun_2_1903_x64_20G_alibase_20200529.vhd
system_disk_categorystring

节点系统盘类型,取值:

  • cloud:普通云盘。
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD 云盘。
  • cloud_essd:ESSD 云盘。
  • cloud_auto:ESSD AutoPL 云盘。
  • cloud_essd_entry:ESSD Entry 云盘。

默认值:cloud_efficiency

cloud_efficiency
system_disk_categoriesarray

系统盘的多磁盘类型。当无法使用高优先级的磁盘类型时,自动尝试下一优先级的磁盘类型创建系统盘。取值范围:

  • cloud:普通云盘。
  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD 云盘。
  • cloud_essd:ESSD 云盘。
  • cloud_auto:ESSD AutoPL 云盘。
  • cloud_essd_entry:ESSD Entry 云盘。
string

节点系统盘类型。

cloud_essd
system_disk_sizelong

节点系统盘大小,单位:GiB。

取值范围:[20,20248]。

120
system_disk_performance_levelstring

节点系统盘磁盘性能,只对 ESSD 磁盘生效。

  • PL0:并发极限 I/O 性能中等,读写时延较为稳定。
  • PL1:并发极限 I/O 性能中等,读写时延较为稳定。
  • PL2:并发极限 I/O 性能较高,读写时延稳定。
  • PL3:并发极限 I/O 性能极高,读写时延极稳定。
说明 云盘支持以上四种磁盘性能。但实际创建时,此处可选的性能与您所选的 ECS 实例规格有关。更多信息,请参见实例规格族
PL1
system_disk_encryptedboolean

是否加密系统盘。取值范围:true:加密。false:不加密。

false
system_disk_kms_key_idstring

系统盘使用的 KMS 密钥 ID。

0e478b7a-4262-4802-b8cb-00d3fb40****
system_disk_encrypt_algorithmstring

系统盘采用的加密算法。取值范围:aes-256。

aes-256
system_disk_bursting_enabledboolean

节点系统盘是否开启 Burst(性能突发)。 取值:

  • true:是。
  • false:否。

SystemDiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL 云盘

true
system_disk_provisioned_iopslong

节点系统盘预配置的读写 IOPS。可能值:0~min{50,000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50000}。

SystemDiskCategory取值为cloud_auto时才支持设置该参数。更多信息,请参见ESSD AutoPL 云盘

1000
data_disksarray

节点池节点数据盘配置。

data_disk

数据盘配置。

security_group_idsarray

安全组 ID 列表,与security_group_id二选一,推荐使用security_group_ids,当同时指定security_group_idsecurity_group_ids将优先使用security_group_ids

string

安全组 ID 列表,与security_group_id二选一,推荐使用security_group_ids,当同时指定security_group_idsecurity_group_ids将优先使用security_group_ids

sg-wz9a8g2mt6x5llu0****
key_pairstring

免密登录密钥对名称,和login_password二选一。

说明 如果节点池选择 ContainerOS 操作系统,则只支持key_pair
np-key-name
login_passwordstring

SSH 登录密码,和key_pair 二选一。密码规则为 8~30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号)。

Hello1234
login_as_non_rootboolean

弹出的 ECS 实例是否使用以非 root 用户登录。

true
cis_enableddeprecatedboolean

【已废弃】请使用参数 security_hardening_os 替代。

false
soc_enabledboolean

是否开启等保加固,仅当系统镜像选择 Alibaba Cloud Linux 2 或 Alibaba Cloud Linux 3 时,可为节点开启等保加固。阿里云为 Alibaba Cloud Linux 2 和 Alibaba Cloud Linux 3 等保 2.0 三级版镜像提供等保合规的基线检查标准和扫描程序。

false
security_hardening_osboolean

阿里云 OS 安全加固。取值:

  • true:开启阿里云 OS 安全加固。
  • false:不开启阿里云 OS 安全加固。

默认值:false

internet_charge_typestring

公网 IP 收费类型。取值:

  • PayByBandwidth:按固定带宽计费。
  • PayByTraffic:按使用流量计费。
PayByTraffic
internet_max_bandwidth_outlong

节点公网 IP 出带宽最大值,单位为 Mbps(Mega bit per second),取值范围:[1,100]

5
tagsarray<object>

仅为 ECS 实例添加标签。

标签键不可以重复,最大长度为 128 个字符;标签键和标签值都不能以“aliyun”、“acs:”开头,或包含“https://”、“http://”。

object

节点标签。

keystring

标签的名称。

node-k-1
valuestring

标签值。

node-v-1
desired_sizelong

节点池期望节点数量。

0
multi_az_policystring

多可用区伸缩组 ECS 实例扩缩容策略。取值:

  • PRIORITY:根据您定义的虚拟交换机(VSwitchIds.N)扩缩容。当优先级较高的虚拟交换机所在可用区无法创建 ECS 实例时,自动使用下一优先级的虚拟交换机创建 ECS 实例。

  • COST_OPTIMIZED:按 vCPU 单价从低到高进行尝试创建。当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式实例。您可以继续通过CompensateWithOnDemand参数指定当抢占式实例由于库存等原因无法创建时,是否自动尝试以按量付费的方式创建。

    说明 COST_OPTIMIZED仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。
  • BALANCE:在伸缩组指定的多可用区之间均匀分配 ECS 实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过 API RebalanceInstances 平衡资源。

默认值:PRIORITY

COST_OPTIMIZED
scaling_policystring

伸缩组模式,取值:

  • release:标准模式,根据申请资源值的使用量,通过创建、释放 ECS 的方式进行伸缩。
  • recycle:极速模式,通过创建、停机、启动的方式进行伸缩,提高再次伸缩的速度(停机时计算资源不收费,只收取存储费用,本地盘机型除外)。

默认值:release

release
on_demand_base_capacitylong

伸缩组所需要按量实例个数的最小值,取值范围:[0,1000]。当按量实例个数少于该值时,将优先创建按量实例。

0
on_demand_percentage_above_base_capacitylong

伸缩组满足最小按量实例数(on_demand_base_capacity)要求后,超出的实例中按量实例应占的比例。取值范围:[0,100]。

20
spot_instance_poolslong

指定可用实例规格的个数,伸缩组将按成本最低的多个规格均衡创建抢占式实例。取值范围:[1,10]。

5
spot_instance_remedyboolean

是否开启补齐抢占式实例。开启后,当收到抢占式实例将被回收的系统消息时,伸缩组将尝试创建新的实例,替换掉将被回收的抢占式实例。取值:

  • true:开启补齐抢占式实例。
  • false:不开启补齐抢占式实例。
false
compensate_with_on_demandboolean

multi_az_policy取值为COST_OPTIMIZED时,如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足 ECS 实例数量要求。取值:

  • true:允许自动尝试创建按量实例满足 ECS 实例数量要求。
  • false:不允许自动尝试创建按量实例满足 ECS 实例数量要求。
true
deploymentset_idstring

部署集 ID。

ds-bp1d19mmbsv3jf6xxxxx
rds_instancesarray

RDS 实例列表。

string

RDS 实例 ID。

rds-****
private_pool_optionsobject

私有节点池配置。

idstring

私有节点池 ID。

eap-bp67acfmxazb4****
match_criteriastring

私有节点池类型,实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值:

  • Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。
  • Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。
  • None:不使用模式。实例启动将不使用私有池容量。
Open
security_group_iddeprecatedstring

节点池安全组 ID,与security_group_ids二选一,推荐使用security_group_ids

sg-wz9a8g2mt6x5llu0****
platformdeprecatedstring

操作系统发行版。取值:

  • CentOS
  • AliyunLinux
  • Windows
  • WindowsCore

默认值:AliyunLinux

AliyunLinux
instance_patternsarray

实例属性

instance_patterns

实例属性

ram_role_namestring

Worker RAM 角色名称。

  • 为空时,将使用集群默认创建的 Worker RAM 角色。
  • 不为空时,指定的 RAM 角色必须是一个普通服务角色,并且它的可信服务配置必须是云服务器,更多信息,请参见创建普通服务角色。当指定的 RAM 角色不是集群默认创建的 Worker RAM 角色时,角色的名称不能以KubernetesMasterRole-KubernetesWorkerRole-开头。

该参数目前仅白名单开放,如需使用,请提交工单申请。

注意 仅 1.22 及以上版本的 ACK 托管集群支持该参数

example-role
node_configobject

节点配置

kubelet_configurationkubelet_config

Kubelet 参数配置。

kubernetes_configobject

集群相关配置。

labelsarray

节点标签,为 Kubernetes 集群节点添加标签。

tag

标签配置。

taintsarray

污点配置。

taint

污点配置集合。

runtimestring

容器运行时名称,ACK 支持以下三种容器运行时。

  • containerd:推荐使用,支持所有集群版本。
  • Sandboxed-Container.runv:安全沙箱容器,提供更高的隔离性,支持 1.24 版本及以下集群。
  • docker:支持 1.22 版本及以下集群。

默认值:containerd。

containerd
runtime_versionstring

容器运行时版本。

1.6.20
cpu_policystring

节点 CPU 管理策略。当集群版本在 1.12.6 及以上时支持以下两种策略:

  • static:允许为节点上具有某些资源特征 Pod 增强其 CPU 亲和性和独占性。
  • none:表示启用现有的默认 CPU 亲和性方案。

默认值:none

none
user_datastring

节点自定义数据,将在节点完成初始化之后执行的脚本。

dGhpcyBpcyBhIGV4YW1wbGU=
unschedulableboolean

扩容后的节点是否可调度。

true
cms_enabledboolean

是否在 ECS 节点上安装云监控,安装后可以在云监控控制台查看所创建 ECS 实例的监控信息,推荐开启。取值:

  • true:在 ECS 节点上安装云监控。

  • false:不在 ECS 节点上安装云监控。

默认值:false

true
node_name_modestring

节点名称由三部分组成:前缀 + 节点 IP + 后缀:

  • 前缀和后缀均可由“.”分隔的一个或多个部分构成,每个部分可以使用小写字母、数字和“-”,节点名称首尾必须为小写字母和数字;
  • 节点 IP 为完整的节点私网 IP 地址;

传参包含四个部分,由逗号分隔,例如:参数传入"customized,aliyun,ip,com"字符串(其中“customized”和"ip"为固定的字符串,aliyun 为前缀,com 为后缀),则节点的名称为:aliyun192.168.xxx.xxxcom。

customized,aliyun,ip,com
pre_user_datastring

节点预自定义数据,将在节点初始化之前执行的脚本。

dGhpcyBpcyBhIGV4YW1wbGU
tee_configobject

加密计算集群配置。

tee_enableboolean

是否开启加密计算集群。

true
interconnect_configdeprecatedobject

【该字段已废弃】

边缘节点池配置。

cen_idstring

【该字段已废弃】

边缘增强型节点池绑定的云企业网实例 ID(CENID)。

cen-ey9k9nfhz0f*******
ccn_idstring

【该字段已废弃】

边缘增强型节点池绑定的云连接网实例 ID(CCNID)。

ccn-qm5i0i0q9yi*******
ccn_region_idstring

【该字段已废弃】

边缘增强型节点池绑定的云连接网实例所属的地域。

cn-shanghai
bandwidthlong

【该字段已废弃】

边缘增强型节点池的网络带宽,单位:Mbps。

10
improved_periodstring

【该字段已废弃】

边缘增强型节点池的购买时长,单位:月。

1
countdeprecatedlong

【该字段已废弃,请使用 desired_size 代替】

节点池节点数量。

1
max_nodesdeprecatedlong

【该字段已废弃】

边缘节点池允许容纳的最大节点数量。

10
interconnect_modestring

边缘节点池的网络类型,该值只对typeedge类型的节点池有意义,取值范围:

  • basic:公网。
  • private: 专用网络。
basic
host_networkboolean

Pod 网络模式是否采用主机网络模式。

  • true:主机网络。
  • false:容器网络。
true
intranetboolean

边缘节点池内,节点之间是否三层网络互通。

  • true:互通。
  • false:不互通。
true

返回参数

名称类型描述示例值
object

节点池配置。

nodepool_idstring

节点池 ID。

np31da1b38983f4511b490fc62108a****
task_idstring

任务 ID。

T-613b19bbd160ad492800****
request_idstring

请求 ID。

0527ac9a-c899-4341-a21a-****

示例

正常返回示例

JSON格式

{
  "nodepool_id": "np31da1b38983f4511b490fc62108a****",
  "task_id": "T-613b19bbd160ad492800****",
  "request_id": "0527ac9a-c899-4341-a21a-****"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-11-05API 内部配置变更,不影响调用查看变更详情
2024-09-27API 内部配置变更,不影响调用查看变更详情
2024-07-09API 内部配置变更,不影响调用查看变更详情
2024-06-13API 内部配置变更,不影响调用查看变更详情
2024-06-13API 内部配置变更,不影响调用查看变更详情
2024-04-22API 内部配置变更,不影响调用查看变更详情
2024-04-19API 内部配置变更,不影响调用查看变更详情
2024-01-19OpenAPI 返回结构发生变更查看变更详情
2023-12-13API 内部配置变更,不影响调用查看变更详情
2023-10-17API 内部配置变更,不影响调用查看变更详情
2023-09-01OpenAPI 返回结构发生变更查看变更详情
2023-08-08API 内部配置变更,不影响调用查看变更详情
2020-09-24API 内部配置变更,不影响调用查看变更详情
2020-09-24API 内部配置变更,不影响调用查看变更详情