ModifyClusterNodePool - 修改节点池配置

更新时间:
复制为 MD 格式

您可以根据节点池ID,调用ModifyClusterNodePool接口更新目标节点池的配置。

调试

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

调试

授权信息

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

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

cs:ModifyClusterNodePool

update

*Cluster

acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}

请求语法

PUT /clusters/{ClusterId}/nodepools/{NodepoolId} HTTP/1.1

路径参数

名称

类型

必填

描述

示例值

ClusterId

string

集群 ID。

c23421cfa74454bc8b37163fd19af****

NodepoolId

string

节点池 ID。

p31da1b38983f4511b490fc62108a****

请求参数

名称

类型

必填

描述

示例值

body

object

请求体参数。

nodepool_info

object

节点池配置。

name

string

节点池名称。

命名规则:由数字、汉字、英文字符或短划线(-)组成,长度范围 1~63 个字符,且不能以短划线(-)开头。

default-nodepool

resource_group_id

string

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

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

rg-acfmyvw3wjm****

auto_scaling

object

自动伸缩配置。

enable

boolean

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

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

  • false:不开启自动伸缩,ACK 会根据配置的期望节点数调整节点池中的节点数,将节点数始终维持在期望节点数。

当取值为 false 时,auto_scaling内的其他配置参数将不生效。

默认值:false

true

type deprecated

string

自动伸缩类型,按照自动伸缩实例类型划分。取值:

  • cpu:普通实例型。

  • gpu:GPU 实例型。

  • gpushare:GPU 共享型。

  • spot:抢占式实例型。

默认值:cpu

cpu

max_instances

integer

节点池中可伸缩的最大实例数,不包含您已有的实例。仅当enable=true生效。

取值范围[min_instances, 2000],默认值为 0。

10

min_instances

integer

节点池中可伸缩的最小实例数,不包含您已有的实例。仅当enable=true生效。

取值范围[0, max_instances],默认值为 0。

说明
  • 最小实例数不为 0 时,伸缩组生效后,将自动创建对应数量的 ECS 实例。

  • 建议设置的最大实例数不要小于当前节点池中的节点数,否则弹性伸缩功能生效后会直接导致节点池的节点缩容。

2

is_bond_eip deprecated

boolean

【该字段已废弃】该字段已废弃,请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。

  • true:绑定 EIP。

  • false:不绑定 EIP。

默认值:false

null

eip_internet_charge_type deprecated

string

【该字段已废弃】请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。

EIP 计费类型,取值:

  • PayByBandwidth:按固定带宽计费。

  • PayByTraffic:按使用流量计费。

默认值:PayByBandwidth

null

eip_bandwidth deprecated

integer

【该字段已废弃】请使用 internet_charge_type 和 internet_max_bandwidth_out 替代。 EIP 带宽峰值。

取值范围:[1,100],单位:Mbps。

null

management

object

托管节点池配置。

enable

boolean

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

  • true:开启托管节点池。

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

默认值:false

true

auto_repair

boolean

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

  • true:自动修复。

  • false:不自动修复。

默认值为true

true

auto_repair_policy

object

自动修复节点策略。

restart_node

boolean

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

  • true:允许重启节点。

  • false:不允许重启节点。

默认值为true

true

approval_required

boolean

节点修复是否需要人工审批。

auto_repair_policy_id

string

自动修复策略 ID

r-xxxxxxxxxx

auto_vul_fix

boolean

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

  • true:允许自动修复 CVE。

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

默认值为true

true

auto_vul_fix_policy

object

自动修复 CVE 策略。

restart_node

boolean

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

  • true:允许重启节点。

  • false:不允许重启节点。

默认值为true

true

vul_level

string

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

  • asap:高

  • later:中

  • nntf:低

默认值为asap

asap,nntf

exclude_packages

string

指定在漏洞修复过程中应排除的包。

默认值为kernel

kernel

auto_upgrade

boolean

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

  • true:启用自动升级。

  • false:不启用自动升级。

默认值为true

true

auto_upgrade_policy

object

自动升级策略。

auto_upgrade_kubelet

boolean

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

  • true:允许自动升级 kubelet。

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

默认值为true

true

auto_upgrade_runtime

boolean

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

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

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

默认值为true

false

auto_upgrade_os

boolean

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

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

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

默认值为false

false

upgrade_config deprecated

object

【该字段已废弃】请使用上层的auto_upgrade参数替代。

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

auto_upgrade deprecated

boolean

【该字段已废弃】请使用上层的auto_upgrade参数替代。

是否启用自动升级:

  • true:启用。

  • false:不启用。

默认值:true

true

surge

integer

额外节点数量。和surge_percentage二选一。

升级的时候节点会不可用,您可以创建额外节点补偿集群的负载。

说明

建议创建的额外节点不超过当前的节点数。

5

surge_percentage

integer

额外节点数的百分比,和surge二选一。

额外节点数=额外节点数比例×节点数,例如,设置额外节点数比例为 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-wz9uwxhawmtzg7u9h****

instance_types

array

节点实例规格列表,您可以选择多个实例规格作为备选,每个节点创建时,将从第一个规格开始尝试购买,直到创建成功。最终购买的实例规格可能随库存变化而不同。

支持的实例规格数量范围:[1,10]

string

实例规格。请参见实例规格族

ecs.c6.large

instance_charge_type

string

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

  • PrePaid:预付费

  • PostPaid:按量付费

默认值:PostPaid

PostPaid

period

integer

节点池节点包年包月时长,仅当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_unit

string

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

  • Month:以月为计时单位。

  • Week:以周为计算单位。

默认值:Month

Month

auto_renew

boolean

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

  • true:自动续费。

  • false:不自动续费。

默认值:false

true

auto_renew_period

integer

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

  • PeriodUnit=Week 时:1、2、3。

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

默认值:1。

1

spot_strategy

string

抢占式实例类型,取值:

  • NoSpot:非抢占式实例。

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

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

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

SpotWithPriceLimit

spot_price_limit

array<object>

抢占实例市场价格区间配置。

object

抢占实例市场价格区间配置。

instance_type

string

抢占式实例规格。

ecs.c6.large

price_limit

string

单台实例上限价格。

单位:元/小时。

0.39

image_type

string

操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:

  • AliyunLinux:Alinux2 镜像。

  • AliyunLinuxSecurity:Alinux2 镜像 UEFI 版。

  • AliyunLinux3:Alinux3 镜像。

  • AliyunLinux3Arm64:Alinux3 镜像 ARM 版。

  • AliyunLinux3Security:Alinux3 镜像 UEFI 版。

  • CentOS:CentOS 镜像。

  • Windows:Windows 镜像。

  • WindowsCore:WindowsCore 镜像。

  • ContainerOS:容器优化镜像。

  • AliyunLinux3ContainerOptimized: Alinux3 镜像容器优化版。

AliyunLinux3

image_id

string

自定义镜像 ID。可通过DescribeKubernetesVersionMetadata查询系统支持的镜像,默认使用系统最新镜像。

aliyun_3_x64_20G_alibase_20241218.vhd

system_disk_category

string

节点系统盘类型,取值:

  • cloud_efficiency:高效云盘。

  • cloud_ssd:SSD 云盘。

  • cloud_essd:ESSD 云盘。

  • cloud_auto:ESSD AutoPL 云盘。

  • cloud_essd_entry:ESSD Entry 云盘。

默认值:cloud_efficiency

cloud_efficiency

system_disk_categories

array

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

string

节点的多系统盘类型。

取值范围:

  • cloud_efficiency:高效云盘。

  • cloud_ssd:SSD 云盘。

  • cloud_essd:ESSD 云盘。

  • cloud_auto:ESSD AutoPL 云盘。

  • cloud_essd_entry:ESSD Entry 云盘。

cloud_essd

system_disk_size

integer

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

取值范围:[20,2048]。

该参数的取值必须大于或者等于 max{20, ImageSize}。

默认值:max{40, 参数 ImageId 对应的镜像大小}。

120

system_disk_performance_level

string

节点系统盘磁盘性能,只对 ESSD 磁盘生效。磁盘性能等级和磁盘大小有关。更多信息,请参见 ESSD 云盘

  • PL0:并发极限 I/O 性能中等,读写时延较为稳定。

  • PL1:并发极限 I/O 性能中等,读写时延较为稳定。

  • PL2:并发极限 I/O 性能较高,读写时延稳定。

  • PL3:并发极限 I/O 性能极高,读写时延极稳定。

PL1

system_disk_encrypted

boolean

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

  • true:加密。

  • false:不加密。

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_provisioned_iops

integer

节点系统盘预配置的读写 IOPS。

可能值:0~min{50,000, 1000*容量-基准性能}。 基准性能=min{1,800+50*容量, 50000}。

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

1000

system_disk_bursting_enabled

boolean

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

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

  • false:不开启。

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

true

data_disks

array

节点数据盘配置,取值范围[0,10]。最多支持添加 10 块数据盘。

data_disk

节点数据盘配置。

disk_init

array

块设备初始化配置。

DiskInit

块设备初始化配置。

key_pair

string

密钥对名称,和login_password二选一。当节点池为托管版节点池时,只支持key_pair

pro-nodepool

login_password

string

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

Hello1234

internet_charge_type

string

公网 IP 收费类型。取值:

  • PayByBandwidth:按固定带宽计费。

  • PayByTraffic:按使用流量计费。

PayByBandwidth

internet_max_bandwidth_out

integer

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

5

tags

array

仅为 ECS 实例添加标签。

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

tag

ECS 实例标签。

desired_size

integer

节点池期望节点数量。

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

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

2

multi_az_policy

string

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

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

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

    说明

    COST_OPTIMIZED仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。

  • BALANCE:在伸缩组指定的多可用区之间均匀分配 ECS 实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过 API RebalanceInstances平衡资源。更多信息,请参见 RebalanceInstances

默认值:PRIORITY

BALANCE

scaling_policy

string

伸缩组模式,取值:

  • release:标准模式,根据申请资源值的使用量,通过创建、释放 ECS 的方式进行伸缩。

  • recycle:极速模式,通过创建、停机、启动的方式进行伸缩,提高再次伸缩的速度(停机时计算资源不收费,只收取存储费用,本地盘机型除外)。

release

on_demand_base_capacity

integer

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

0

on_demand_percentage_above_base_capacity

integer

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

20

spot_instance_pools

integer

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

5

spot_instance_remedy

boolean

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

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

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

false

compensate_with_on_demand

boolean

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

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

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

true

rds_instances

array

RDS 实例列表。

string

RDS 实例 ID。如果指定了 RDS 实例列表,集群节点 ECS 会自动加入 RDS 访问白名单。

rds-xxx

private_pool_options

object

私有节点池配置。

id

string

私有节点池 ID。当match_criteriaTarget时,需要进一步指定私有池 ID。

eap-bp67acfmxazb4****

match_criteria

string

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

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

  • Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。

  • None:不使用模式。实例启动将不使用私有池容量。

Open

platform deprecated

string

【该字段已废弃】请使用image_type参数代替。

操作系统平台。取值:

  • AliyunLinux

  • CentOS

  • Windows

  • WindowsCore

AliyunLinux

instance_patterns

array

实例属性配置。

instance_patterns

实例属性。

deploymentset_id

string

节点池弹出 ECS 所属的部署集,仅对增量节点生效,存量节点的部署集不会变更。

ds-bp1d19mmbsv3jf6xxxxx

security_group_ids

array

安全组 ID 列表。

string

安全组 ID。

sg-wz9a8g2mt6x5ll******

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****

kubernetes_config

object

集群相关配置。

labels

array

节点标签,为 Kubernetes 集群节点添加标签。标签定义规则:

  • 标签由区分大小写的键值对组成,您最多可以设置 20 个标签。

  • 标签键不可以重复,最长为 64 个字符;标签值可以为空,最长为 128 个字符。标签键和标签值都不能以aliyunacs:https://http://开头。更多信息,请参见Labels and Selectors

tag

节点标签。

taints

array

节点污点配置。

taint

节点污点配置。

runtime

string

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

  • containerd:推荐使用,支持所有集群版本。

  • Sandboxed-Container.runv:安全沙箱容器,提供更高的隔离性,支持 1.31 及以下版本集群。

  • docker:已停止维护,支持 1.22 及以下版本集群。

默认值:containerd。

containerd

runtime_version

string

容器运行时版本。

1.6.38

cpu_policy

string

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

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

  • none:表示启用现有的默认 CPU 亲和性方案。

默认值:none

none

unschedulable

boolean

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

  • true:不可调度。

  • false:可调度。

false

user_data

string

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

IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi

cms_enabled

boolean

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

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

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

默认值:false

true

pre_user_data

string

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

IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi

node_name_mode

string

自定义节点名称参数。节点名称由三部分组成:前缀 + 节点 IP + 后缀

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

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

customized,aliyun,ip,com

tee_config

object

加密计算集群配置。

tee_enable

boolean

是否开启加密计算集群,取值:

  • true:开启。

  • false:不开启。

默认值:false

false

update_nodes

boolean

同步更新节点标签及污点。

true

concurrency

boolean

是否并发。

true

返回参数

名称

类型

描述

示例值

object

返回体数据。

task_id

string

任务 ID。

T-5fd211e924e1d00787000293

nodepool_id

string

节点池 ID。

np737c3ac1ac684703b9e10673aa2c****

request_id

string

请求 ID。

687C5BAA-D103-4993-884B-C35E4314****

示例

正常返回示例

JSON格式

{
  "task_id": "T-5fd211e924e1d00787000293",
  "nodepool_id": "np737c3ac1ac684703b9e10673aa2c****",
  "request_id": "687C5BAA-D103-4993-884B-C35E4314****"
}

错误码

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

变更历史

更多信息,参考变更详情