ModifyClusterNodePool - 修改节点池配置

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

调试

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

授权信息

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

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

请求语法

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

请求参数

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

集群 ID。

c23421cfa74454bc8b37163fd19af****
NodepoolIdstring

节点池 ID。

p31da1b38983f4511b490fc62108a****
bodyobject

请求体参数。

nodepool_infoobject

节点池配置。

namestring

节点池名称。

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

default-nodepool
resource_group_idstring

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

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

rg-acfmyvw3wjm****
auto_scalingobject

自动伸缩配置。

enableboolean

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

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

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

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

默认值:false

true
typedeprecatedstring

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

  • 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。

说明
  • 最小实例数不为 0 时,伸缩组生效后,将自动创建对应数量的 ECS 实例。
  • 建议设置的最大实例数不要小于当前节点池中的节点数,否则弹性伸缩功能生效后会直接导致节点池的节点缩容。
  • 2
    is_bond_eipdeprecatedboolean

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

    • true:绑定 EIP。
    • false:不绑定 EIP。

    默认值:false

    null
    eip_internet_charge_typedeprecatedstring

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

    EIP 计费类型,取值:

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

    默认值:PayByBandwidth

    null
    eip_bandwidthdeprecatedlong

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

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

    null
    managementobject

    托管节点池配置。

    enableboolean

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

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

    默认值:false

    true
    auto_repairboolean

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

    • true:自动修复。
    • false:不自动修复。

    默认值:true

    true
    auto_repair_policyobject

    自动修复节点策略。

    restart_nodeboolean

    是否允许重启节点,取值:

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

    是否自动修复 CVE,取值:

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

    自动修复 CVE 策略。

    restart_nodeboolean

    是否允许重启节点,取值:

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

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

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

    auto_vul_fix=true时,默认值为asap

    asap,nntf
    auto_upgradeboolean

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

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

    自动升级策略。

    auto_upgrade_kubeletboolean

    是否允许自动升级 kubelet,取值:

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

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

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

    默认值为false

    false
    auto_upgrade_osboolean

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

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

    默认值为false

    false
    upgrade_configdeprecatedobject

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

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

    auto_upgradedeprecatedboolean

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

    是否启用自动升级:

    • true:启用。
    • false:不启用。

    默认值:true

    true
    surgelong

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

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

    说明 建议创建的额外节点不超过当前的节点数。
    5
    surge_percentagelong

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

    额外节点数=额外节点数比例×节点数,例如,设置额外节点数比例为 50%,存在的节点数为 6,那么将产生的额外节点数=50%×6,也就是将产生 3 个额外节点数。

    0
    max_unavailablelong

    最大不可用节点数量。

    取值范围:[1,1000]

    默认值:1。

    1
    scaling_groupobject

    节点池伸缩组配置。

    vswitch_idsarray

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

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

    虚拟交换机 ID。

    vsw-wz9uwxhawmtzg7u9h****
    instance_typesarray

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

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

    string

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

    ecs.c6.large
    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:系统自动出价,跟随当前市场实际价格。

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

    SpotWithPriceLimit
    spot_price_limitarray<object>

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

    object

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

    instance_typestring

    抢占式实例规格。

    ecs.c6.large
    price_limitstring

    单台实例上限价格。

    单位:元/小时。

    0.39
    image_typestring

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

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

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

    aliyun_3_x64_20G_alibase_20241218.vhd
    system_disk_categorystring

    节点系统盘类型,取值:

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

    默认值:cloud_efficiency

    cloud_efficiency
    system_disk_categoriesarray

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

    string

    节点的多系统盘类型。

    取值范围:

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

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

    取值范围:[20,2048]。

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

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

    120
    system_disk_performance_levelstring

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

    • PL0:并发极限 I/O 性能中等,读写时延较为稳定。
    • PL1:并发极限 I/O 性能中等,读写时延较为稳定。
    • PL2:并发极限 I/O 性能较高,读写时延稳定。
    • PL3:并发极限 I/O 性能极高,读写时延极稳定。
    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_provisioned_iopslong

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

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

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

    1000
    system_disk_bursting_enabledboolean

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

    • true:是。
    • false:否。

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

    true
    data_disksarray

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

    data_disk

    节点数据盘配置。

    key_pairstring

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

    pro-nodepool
    login_passwordstring

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

    Hello1234
    internet_charge_typestring

    公网 IP 收费类型。取值:

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

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

    5
    tagsarray

    仅为 ECS 实例添加标签。

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

    tag

    ECS 实例标签。

    desired_sizelong

    节点池期望节点数量。

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

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

    2
    multi_az_policystring

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

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

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

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

    默认值:PRIORITY

    BALANCE
    scaling_policystring

    伸缩组模式,取值:

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

    RDS 实例列表。

    string

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

    rds-xxx
    private_pool_optionsobject

    私有节点池配置。

    idstring

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

    eap-bp67acfmxazb4****
    match_criteriastring

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

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

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

    操作系统平台。取值:

    • AliyunLinux
    • CentOS
    • Windows
    • WindowsCore
    AliyunLinux
    instance_patternsarray

    实例属性配置。

    instance_patterns

    实例属性。

    kubernetes_configobject

    集群相关配置。

    labelsarray

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

    • 标签由区分大小写的键值对组成,您最多可以设置 20 个标签。
    • 标签键不可以重复,最长为 64 个字符;标签值可以为空,最长为 128 个字符。标签键和标签值都不能以aliyunacs:https://http://开头。更多信息,请参见Labels and Selectors
    tag

    节点标签。

    taintsarray

    节点污点配置。

    taint

    节点污点配置。

    runtimestring

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

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

    默认值:containerd。

    containerd
    runtime_versionstring

    容器运行时版本。

    1.6.38
    cpu_policystring

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

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

    默认值:none

    none
    unschedulableboolean

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

    • true:不可调度。

    • false:可调度。

    false
    user_datastring

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

    IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi
    cms_enabledboolean

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

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

    默认值:false

    true
    pre_user_datastring

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

    IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi
    tee_configobject

    加密计算集群配置。

    tee_enableboolean

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

    • true:开启。
    • false:不开启。

    默认值:false

    false
    update_nodesboolean

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

    true
    concurrencyboolean

    是否并发。

    true

    返回参数

    名称类型描述示例值
    object

    返回体数据。

    task_idstring

    任务 ID。

    T-5fd211e924e1d00787000293
    nodepool_idstring

    节点池 ID。

    np737c3ac1ac684703b9e10673aa2c****
    request_idstring

    请求 ID。

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

    示例

    正常返回示例

    JSON格式

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

    错误码

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

    变更历史

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