All Products
Search
Document Center

Container Service for Kubernetes:CreateClusterNodePool

Last Updated:Aug 21, 2026

A node pool is a logical collection of nodes that share the same attributes. Node pools allow unified management and O&M of nodes, such as node upgrades and elastic scaling. You can further use the automated O&M capabilities of node pools, including automatic OS CVE vulnerability patching, automatic faulty node recovery, and automatic kubelet and containerd version upgrades, to reduce O&M costs. You can call CreateClusterNodePool to create a node pool for a cluster.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

cs:CreateClusterNodePool

create

*Cluster

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

None None

Request syntax

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

Path Parameters

Parameter

Type

Required

Description

Example

ClusterId

string

Yes

The cluster ID.

c61da77e8bfbc4c4c999af2b51b65****

Request parameters

Parameter

Type

Required

Description

Example

body

object

No

The request body parameters.

nodepool_info

object

No

The node pool configuration.

name

string

Yes

The node pool name.

nodepool-test

type

string

No

The node pool type. Valid values:

  • ess: regular node pool (includes managed features and elastic scaling).

  • edge: edge node pool.

  • lingjun: Lingjun node pool.

  • hybrid: hybrid cloud node pool.

Valid values:

  • lingjun :

    Lingjun node pool.

  • edge :

    edge node pool.

  • ess :

    regular node pool.

ess

resource_group_id

string

No

The resource group ID of the node pool. Instances scaled out by the node pool belong to this resource group.

A resource can belong to only one resource group. You can map resource groups to concepts such as projects, applications, or organizations based on different business scenarios.

rg-acfmyvw3wjmb****

auto_scaling

object

No

The elastic scaling configuration.

enable

boolean

No

Specifies whether to enable automatic scaling. Valid values:

  • true: enables the automatic scaling feature for the node pool. When the cluster capacity planning cannot meet the scheduling requirements of application pods, ACK automatically scales node resources based on the configured minimum and maximum instance numbers. Clusters of version 1.24 or later enable instant node scaling by default. Clusters of versions earlier than 1.24 enable automatic node scaling by default. For more information, see Node scaling.

  • false: disables automatic scaling. ACK adjusts the number of nodes in the node pool based on the configured desired number of nodes and maintains the node count at the desired number.

When the value is false, other configuration parameters in auto_scaling do not take effect.

Default value: false.

false

type

string

No

The instance type for elastic scaling. This parameter takes effect only when enable=true. Valid values:

  • cpu: regular instance type.

  • gpu: GPU instance type.

  • gpushare: GPU sharing type.

  • spot: spot instance type.

Default value: cpu.

Important This parameter cannot be modified after the node pool is created.

Valid values:

  • spot :

    spot instance type.

  • cpu :

    regular instance type.

  • gpushare :

    GPU sharing type.

  • gpu :

    GPU instance type.

cpu

max_instances

integer

No

The maximum number of scalable instances in the node pool, excluding your existing instances. This parameter takes effect only when enable=true.

Value range: [min_instances, 2000]. Default value: 0.

10

min_instances

integer

No

The minimum number of scalable instances in the node pool, excluding your existing instances. This parameter takes effect only when enable=true.

Value range: [0, max_instances]. Default value: 0.

Note
  • If the minimum number of instances is not 0, the scaling group automatically creates the corresponding number of ECS instances after it takes effect.

  • Set the maximum number of instances to a value that is not less than the current number of nodes in the node pool. Otherwise, the elastic scaling feature will directly trigger node scale-in for the node pool after it takes effect.

1

is_bond_eip deprecated

boolean

No

[Deprecated] This parameter is deprecated. Use internet_charge_type and internet_max_bandwidth_out instead.

Specifies whether to associate an EIP. Valid values:

  • true: associates an EIP.

  • false: does not associate an EIP.

Default value: false.

null

eip_internet_charge_type deprecated

string

No

[Deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.

The billing method of the EIP. Valid values:

  • PayByBandwidth: pay-by-fixed-bandwidth.

  • PayByTraffic: pay-by-data-transfer.

Default value: PayByBandwidth.

null

eip_bandwidth deprecated

integer

No

[Deprecated] Use internet_charge_type and internet_max_bandwidth_out instead.

The peak bandwidth of the EIP. Unit: Mbit/s.

null

management

object

No

The configuration of the managed node pool feature.

enable

boolean

No

Specifies whether to enable the managed node pool feature. Valid values:

  • true: Enabled.

  • false: Disabled. Other related configurations take effect only when enable is set to true.

Default value: false.

false

auto_repair

boolean

No

Specifies whether to enable automatic node repair. This parameter takes effect only when enable=true.

  • true: Enabled.

  • false: Disabled.

Default value: true.

true

auto_repair_policy

object

No

The automatic node repair policy.

restart_node

boolean

No

Specifies whether to allow node restarts. This parameter takes effect only when auto_repair=true. Valid values:

  • true: Node restarts are allowed.

  • false: Node restarts are not allowed.

Default value: true.

true

approval_required

boolean

No

Specifies whether manual approval is required for node repair.

max_parallel_repairing_nodes

string

No

The maximum number of nodes that can be repaired in parallel. When a large number of unhealthy nodes exist in the node pool, this parameter specifies the maximum number or percentage of nodes that can be repaired simultaneously. You can specify a number (such as 5, valid range: 1 to 100000) or a percentage (such as 10%, valid range: 1% to 100%). Default value: 1.

5

max_unhealthy_nodes_threshold

string

No

The self-healing circuit breaker threshold. When the number or percentage of faulty nodes exceeds this threshold, self-healing enters a circuit breaker state and stops initiating new repair actions. You can specify a number (such as 10, valid range: 1 to 100000) or a percentage (such as 20%, valid range: 1% to 100%). Default value: 100%.

20%

auto_vul_fix

boolean

No

Specifies whether to enable automatic CVE vulnerability fix. This parameter takes effect only when enable=true.

  • true: Automatic CVE fix is enabled.

  • false: Automatic CVE fix is disabled.

Default value: true.

true

auto_vul_fix_policy

object

No

The automatic CVE fix policy.

restart_node

boolean

No

Specifies whether to allow node restarts. This parameter takes effect only when auto_vul_fix=true. Valid values:

  • true: Node restarts are allowed.

  • false: Node restarts are not allowed.

Default value: true.

false

vul_level

string

No

The vulnerability levels allowed for automatic fix, separated by commas. Example: asap,later. Valid values:

  • asap: high

  • later: medium

  • nntf: low

Default value: asap.

asap,nntf

exclude_packages

string

No

The packages to exclude during vulnerability fix.

Default value: kernel.

kernel

auto_upgrade

boolean

No

Specifies whether to enable automatic node upgrade. This parameter takes effect only when enable=true.

  • true: Automatic upgrade is enabled.

  • false: Automatic upgrade is disabled.

Default value: true.

true

auto_upgrade_policy

object

No

The automatic node upgrade policy.

auto_upgrade_kubelet

boolean

No

Specifies whether to allow automatic kubelet upgrade. This parameter takes effect only when auto_upgrade=true. Valid values:

  • true: Automatic kubelet upgrade is allowed.

  • false: Automatic kubelet upgrade is not allowed.

Default value: true.

true

auto_upgrade_runtime

boolean

No

Specifies whether to allow automatic runtime upgrade. This parameter takes effect only when auto_upgrade=true. Valid values:

  • true: Automatic runtime upgrade is allowed.

  • false: Automatic runtime upgrade is not allowed.

Default value: true.

false

auto_upgrade_os

boolean

No

Specifies whether to allow automatic operating system upgrade. This parameter takes effect only when auto_upgrade=true. Valid values:

  • true: Automatic OS upgrade is allowed.

  • false: Automatic OS upgrade is not allowed.

Default value: false.

false

upgrade_config deprecated

object

No

[Deprecated] Use the auto_upgrade parameter at the upper level instead.

The automatic upgrade configuration. This parameter takes effect only when enable=true.

auto_upgrade deprecated

boolean

No

[Deprecated] Use the auto_upgrade parameter at the upper level instead.

Specifies whether to enable automatic upgrade. Valid values:

  • true: Automatic upgrade is enabled.

  • false: Automatic upgrade is disabled.

null

surge

integer

No

The number of extra nodes. You can specify either this parameter or surge_percentage.

Nodes become unavailable during an upgrade. You can create extra nodes to compensate for the cluster workload.

Note

The number of extra nodes should not exceed the current number of nodes.

0

surge_percentage

integer

No

The percentage of extra nodes. You can specify either this parameter or surge.

Number of extra nodes = extra node percentage × number of nodes. For example, if the extra node percentage is set to 50% and 6 nodes exist, the number of extra nodes = 50% × 6 = 3.

0

max_unavailable

integer

No

The maximum number of unavailable nodes. Valid range: [1,1000].

Default value: 1.

1

auto_fault_diagnosis

boolean

No

Specifies whether to enable ECS fault detection for node self-healing.

drift_enabled

boolean

No

Specifies whether to enable node rotation. Only intelligent managed node pools support this feature, and it is enabled by default. Regular node pools do not support this feature.

scaling_group

object

No

The scaling group configuration of the node pool.

vswitch_ids

array

Yes

The list of vSwitch IDs. Valid values: [1,8].

Note

To ensure high availability, select vSwitches in different zones.

string

No

The vSwitch ID.

vsw-wz9mfnhmssud6eicu****

instance_types

array

Yes

The list of instance types for the node pool. When the node pool scales out, instances are created based on the instance types that meet the requirements from this list.

The number of supported instance types ranges from 1 to 10.

Note

To ensure high availability, specify multiple instance types.

string

No

The instance type. For more information, see Instance families.

ecs.d1ne.2xlarge

instance_charge_type

string

Yes

The billing method of nodes in the node pool. Valid values:

  • PrePaid: subscription.

  • PostPaid: pay-as-you-go.

Default value: PostPaid.

Valid values:

  • PostPaid :

    Pay-as-you-go instance.

  • PrePaid :

    Subscription instance.

PostPaid

period

integer

No

The subscription duration of nodes in the node pool. This parameter takes effect and is required only when instance_charge_type is set to PrePaid.

  • If period_unit=Week, valid values of period: {1, 2, 3, 4}.

  • If period_unit=Month, valid values of period: {1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60}.

1

period_unit

string

No

The billing epoch for nodes in the node pool. This parameter takes effect and is required only when instance_charge_type is set to PrePaid.

  • Month: uses month as the compute unit (CU).

  • Week: uses week as the compute unit (CU).

Default value: Month.

Month

auto_renew

boolean

No

Specifies whether to enable auto-renewal for nodes in the node pool. This parameter takes effect only when instance_charge_type is set to PrePaid. Valid values:

  • true: enables auto-renewal.

  • false: disables auto-renewal.

Default value: false.

true

auto_renew_period

integer

No

The auto-renewal duration for a single renewal. Valid values:

  • PeriodUnit=Week: 1, 2, 3.

  • PeriodUnit=Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.

Default value: 1.

1

spot_strategy

string

No

The type of spot instance. Valid values:

  • NoSpot: non-spot instance.

  • SpotWithPriceLimit: spot instance with a price limit.

  • SpotAsPriceGo: system automatically bids at the current market price.

For more information, see Spot instances.

NoSpot

spot_price_limit

array<object>

No

The price limit configuration for the current spot instance type.

object

No

The price limit configuration for spot instances. You can set different price limits for different instance types.

instance_type

string

No

The instance type of the spot instance.

ecs.c6.large

price_limit

string

No

The maximum price per instance.

Unit: USD/hour.

0.39

image_type

string

No

The type of operating system image. Valid values:

  • AliyunLinux: Alinux2 image.

  • AliyunLinuxSecurity: Alinux2 UEFI image.

  • AliyunLinux3: Alinux3 image.

  • AliyunLinux3Arm64: Alinux3 ARM image.

  • AliyunLinux3Security: Alinux3 UEFI image.

  • CentOS: CentOS image.

  • Windows: Windows image.

  • WindowsCore: WindowsCore image.

  • ContainerOS: container optimization image.

  • AliyunLinux3ContainerOptimized: Alinux3 container optimization image.

AliyunLinux3

image_id

string

No

The custom image ID. The system-provided image is used by default.

aliyun_2_1903_x64_20G_alibase_20200529.vhd

system_disk_category

string

No

The type of the system cloud disk for nodes. Valid values:

  • cloud_efficiency: ultra cloud disk.

  • cloud_ssd: standard SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL cloud disk.

  • cloud_essd_entry: ESSD Entry cloud disk.

Default value: cloud_efficiency.

cloud_efficiency

system_disk_categories

array

No

Multiple cloud disk types for the system cloud disk. If the highest-priority cloud disk type is unavailable, the system automatically attempts the next-priority cloud disk type to create the system cloud disk.

string

No

Multiple system cloud disk types for nodes.

Valid values:

  • cloud: basic cloud disk.

  • cloud_efficiency: ultra cloud disk.

  • cloud_ssd: standard SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL cloud disk.

  • cloud_essd_entry: ESSD Entry disk.

cloud_essd

system_disk_size

integer

No

The size of the system cloud disk for nodes. Unit: GiB.

Valid values: [20,2048].

120

system_disk_performance_level

string

No

The performance level of the system cloud disk for nodes. This parameter takes effect only for ESSD cloud disks. The performance level varies based on the cloud disk size. For more information, see ESSD cloud disks.

  • PL0: moderate maximum concurrent I/O performance with relatively stable read/write latency.

  • PL1: moderate maximum concurrent I/O performance with relatively stable read/write latency.

  • PL2: high maximum concurrent I/O performance with stable read/write latency.

  • PL3: ultra-high maximum concurrent I/O performance with extremely stable read/write latency.

PL1

system_disk_encrypted

boolean

No

Specifies whether to encrypt the system cloud disk. Valid values:

  • true: encrypts the system cloud disk.

  • false: does not encrypt the system cloud disk.

false

system_disk_kms_key_id

string

No

The KMS key ID used by the system cloud disk.

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

system_disk_encrypt_algorithm

string

No

The encryption algorithm used by the system cloud disk. Valid values: aes-256.

aes-256

system_disk_bursting_enabled

boolean

No

Specifies whether to enable burst performance for the system cloud disk of nodes. Valid values:

  • true: enables burst performance.

  • false: disables burst performance.

This parameter is supported only when system_disk_category is set to cloud_auto. For more information, see ESSD AutoPL cloud disks.

true

system_disk_provisioned_iops

integer

No

The provisioned read/write IOPS for the system cloud disk of nodes.

Valid values: 0~min{50,000, 1000*capacity-baseline performance}. Baseline performance=min{1,800+50*capacity, 50000}.

This parameter is supported only when system_disk_category is set to cloud_auto. For more information, see ESSD AutoPL cloud disks.

1000

data_disks

array

No

The data cloud disk configuration for nodes in the node pool.

data_disk

No

The data cloud disk configuration.

security_group_ids

array

No

The list of security group IDs. This parameter is mutually exclusive with security_group_id. Use security_group_ids instead. If both security_group_id and security_group_ids are specified, security_group_ids takes precedence.

string

No

The list of security group IDs. This parameter is mutually exclusive with security_group_id. Use security_group_ids instead. If both security_group_id and security_group_ids are specified, security_group_ids takes precedence.

sg-wz9a8g2mt6x5ll******

key_pair

string

No

The name of the key pair for password-free logon. This parameter is mutually exclusive with login_password.

Note

If the node pool uses the ContainerOS operating system, only key_pair is supported.

np-key-name

login_password

string

No

The SSH logon password. This parameter is mutually exclusive with key_pair. The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.

****

login_as_non_root

boolean

No

Specifies whether to log on to the scaled-out ECS instance as a non-root user.

  • true: logs on as a non-root user (ecs-user).

  • false: logs on as the root user.

true

cis_enabled deprecated

boolean

No

[Deprecated] Use the security_hardening_os parameter instead.

null

soc_enabled

boolean

No

Specifies whether to enable MLPS 2.0 security hardening. This parameter is available only when the system image is Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3. Alibaba Cloud provides classified protection compliance baseline check standards and scanning programs for Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 MLPS 2.0 Level 3 images.

false

security_hardening_os

boolean

No

Specifies whether to enable Alibaba Cloud OS security hardening. Valid values:

  • true: enables Alibaba Cloud OS security hardening.

  • false: disables Alibaba Cloud OS security hardening.

Default value: false.

false

internet_charge_type

string

No

The billing method for public IP addresses. Valid values:

  • PayByBandwidth: pay-by-bandwidth.

  • PayByTraffic: pay-by-traffic.

PayByTraffic

internet_max_bandwidth_out

integer

No

The maximum outbound public bandwidth for nodes. Unit: Mbit/s. Valid values: [1,100].

5

tags

array<object>

No

Tags that are added only to ECS instances.

Tag keys cannot be duplicated and can be up to 128 characters in length. Tag keys and tag values cannot start with "aliyun" or "acs:", or contain "https://" or "http://".

object

No

The node tag.

key

string

No

The tag key.

node-k-1

value

string

No

The tag value.

node-v-1

desired_size

integer

No

The desired number of nodes in the node pool.

The total number of nodes that the node pool should maintain. We recommend that you configure at least 2 nodes to ensure that cluster components run properly. You can scale the node pool in or out by adjusting the desired node count.

If you do not need to create nodes, set this parameter to 0. You can manually adjust the value later to add nodes.

0

multi_az_policy

string

No

The multi-zone scaling policy for ECS instances in the scaling group. Valid values:

  • PRIORITY: Scales instances based on the vSwitches (VSwitchIds.N) that you define. When ECS instances cannot be created in the zone of the vSwitch with the highest priority, the system automatically uses the vSwitch with the next highest priority to create ECS instances.

  • COST_OPTIMIZED: Attempts to create instances in order of vCPU unit price from lowest to highest. When the scaling configuration sets multiple instance types with the preemptible billing method, spot instances are created first. You can use the CompensateWithOnDemand parameter to specify whether to automatically attempt to create pay-as-you-go instances when spot instances cannot be created due to insufficient inventory or other reasons.

    Note

    COST_OPTIMIZED takes effect only when the scaling configuration sets multiple instance types or uses spot instances.

  • BALANCE: Evenly allocates ECS instances across the multiple zones specified in the scaling group. If the zones become unbalanced due to insufficient inventory or other reasons, you can call the RebalanceInstances API operation to rebalance resources.

Default value: PRIORITY.

COST_OPTIMIZED

scaling_policy

string

No

The scaling group pattern. Valid values:

  • release: Standard pattern. Scales by creating and releasing ECS instances based on the usage of requested compute resources.

  • recycle: Swift pattern. Scales by creating, stopping, and starting instances, which improves the speed of subsequent scaling operations. Stopped instances do not incur compute resource charges, but storage charges still apply, except for instances with local disks.

Default value: release.

release

on_demand_base_capacity

integer

No

The minimum number of pay-as-you-go instances required in the scaling group. Valid values: [0,1000]. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are created first.

0

on_demand_percentage_above_base_capacity

integer

No

The percentage of pay-as-you-go instances among the extra instances that exceed the minimum number of pay-as-you-go instances (on_demand_base_capacity) in the scaling group. Valid values: [0,100].

20

spot_instance_pools

integer

No

The number of available instance types. The scaling group creates spot instances of multiple types at the lowest cost. Valid values: [1,10].

5

spot_instance_remedy

boolean

No

Specifies whether to enable supplementation of spot instances. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed after receiving a system notification. Valid values:

  • true: Enables supplementation of spot instances.

  • false: Disables supplementation of spot instances.

false

compensate_with_on_demand

boolean

No

Specifies whether to allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances when multi_az_policy is set to COST_OPTIMIZED and spot instances cannot be created due to price, inventory, or other reasons. Valid values:

  • true: Allows automatic creation of pay-as-you-go instances to meet the required number of ECS instances.

  • false: Does not allow automatic creation of pay-as-you-go instances to meet the required number of ECS instances.

true

enable_high_density_mode

boolean

No

Specifies whether to enable high-density cloud disk mode. This is supported only when the node pool uses instance types. When enabled, the total number of system cloud disks and data cloud disks does not exceed the maximum number of high-density cloud disks supported by the instance type.

false

deploymentset_id

string

No

The deployment set ID. You can use a deployment set to distribute ECS instances scaled out by the node pool across different physical servers to ensure high availability and underlying disaster recovery. When ECS instances are created within a deployment set, they are launched in the specified region based on the preconfigured deployment policy.

Important After you select a deployment set, the maximum number of nodes in the node pool is limited. By default, a deployment set supports a maximum of 20 × number of zones (the number of zones is determined by the vSwitches). Choose carefully and ensure that the deployment set has sufficient quota to avoid node scale-out failures.

ds-bp1d19mmbsv3jf6xxxxx

rds_instances

array

No

The list of ApsaraDB RDS instances.

string

No

The ApsaraDB RDS instance ID.

rds-****

private_pool_options

object

No

The private node pool configuration.

id

string

No

The private node pool ID. When match_criteria is set to Target, you must specify the private pool ID.

eap-bp67acfmxazb4****

match_criteria

string

No

The private node pool type. Specifies the private pool capacity option for instance launch. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instance launch. Valid values:

  • Open: Open mode. Automatically matches open-type private pool capacity. If no matching private pool capacity is available, public pool resources are used for launch.

  • Target: Targeted mode. Uses the specified private pool capacity to launch instances. If the specified private pool capacity is unavailable, the instance fails to launch.

  • None: No private pool mode. Instance launch does not use private pool capacity.

Target

security_group_id deprecated

string

No

The security group ID of the node pool. Use either this parameter or security_group_ids. Using security_group_ids is recommended.

sg-wz9a8g2mt6x5llu0****

platform deprecated

string

No

[Deprecated] Use the image_type parameter instead.

The operating system distribution. Valid values:

  • CentOS

  • AliyunLinux

  • Windows

  • WindowsCore

Default value: AliyunLinux.

null

instance_patterns

array

No

The instance attribute configuration.

instance_patterns

No

The instance attributes.

ram_role_name

string

No

The Worker RAM role name.

  • If left empty, the default Worker RAM role created by the cluster is used.

  • If specified, the RAM role must be a regular service role with its trusted service configured as Elastic Compute Service. For more information, see Create a regular service role. When the specified RAM role is not the default Worker RAM role created by the cluster, the role name cannot start with KubernetesMasterRole- or KubernetesWorkerRole-.

Important Only ACK managed clusters of version 1.22 or later support this parameter.

example-role

instance_metadata_options InstanceMetadataOptions

No

The ECS instance metadata access configuration.

resource_pool_options

object

No

The resource pool and resource pool policy used when creating instances. After you set this parameter, note the following: This parameter takes effect only when creating pay-as-you-go instances. This parameter cannot be set together with private_pool_options.match_criteria or private_pool_options.id.

strategy

string

No

The resource pool policy used when creating instances. Resource pools include private pools generated after an elasticity assurance or capacity reservation takes effect, and public pools, for instance launch. Valid values: PrivatePoolFirst: Private pool first. When this policy is selected and resouce_pool_options.private_pool_ids is specified, the specified private pools are used first. If no private pool is specified or the specified private pool capacity is insufficient, open-type private pools are automatically matched. If no matching private pool is available, public pool resources are used to create instances. PrivatePoolOnly: Private pool only. When this policy is selected, resouce_pool_options.private_pool_ids must be specified. If the specified private pool capacity is insufficient, the instance fails to launch. None: No resource pool policy. Default value: None.

PrivatePoolFirst

private_pool_ids

array

No

The list of private pool IDs, which are elasticity assurance IDs or capacity reservation IDs. Only Target mode private pool IDs can be specified. Valid values of N: 1 to 20.

string

No

The private pool ID, which is the elasticity assurance ID or capacity reservation ID. Only Target mode private pool IDs can be specified.

eap-bp67acfmxazb4****

system_disk_snapshot_policy_id

string

No

The snapshot policy for the system cloud disk.

sp-0jl6xnmme8v7o935****

disk_init

array

No

The block device initialization configuration.

DiskInit

No

The DiskInit configuration.

cpu_options

object

No

The CPU-related configuration options.

nested_virtualization

string

No

Specifies whether to enable nested virtualization. Valid values: disabled: Disables nested virtualization. enabled: Enables nested virtualization.

enabled

node_config

object

No

The node configuration.

kubelet_configuration kubelet_config

No

The kubelet parameter settings.

kubernetes_config

object

No

The cluster-related configuration.

labels

array

No

The node labels. You can add labels to nodes in the Kubernetes cluster.

tag

No

The label configuration.

taints

array

No

The taint configuration.

taint

No

The collection of taint configurations.

runtime

string

No

The container runtime name. ACK supports the following three container runtimes:

  • containerd: Recommended. Supported by all cluster versions.

  • Sandboxed-Container.runv: Sandboxed container that provides higher isolation. Supported by clusters of version 1.31 and earlier.

  • docker: No longer maintained. Supported by clusters of version 1.22 and earlier.

Default value: containerd.

containerd

runtime_version

string

No

The container runtime version.

1.6.38

cpu_policy

string

No

The CPU management policy for nodes. The following two policies are supported for clusters of version 1.12.6 and later:

  • static: Allows pods with certain resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.

  • none: Enables the existing default CPU affinity scheme.

Default value: none.

none

user_data

string

No

The instance user data. After the node joins the cluster, the specified user data script is run. For more information, see User data scripts.

dGhpcyBpcyBhIGV4YW1wbGU=

unschedulable

boolean

No

Specifies whether the scaled-out nodes are unschedulable.

  • true: Unschedulable.

  • false: Schedulable.

true

cms_enabled

boolean

No

Specifies whether to install the CloudMonitor agent on ECS nodes. After installation, you can view monitoring information of the created ECS instances in the CloudMonitor console. We recommend that you enable this feature. Valid values:

  • true: Installs the CloudMonitor agent on ECS nodes.

  • false: Does not install the CloudMonitor agent on ECS nodes.

Default value: false.

false

node_name_mode

string

No

The custom node name. After you customize the node name, the node name, ECS instance name, and ECS instance hostname are all changed accordingly.

Note

For Windows instances with custom node names enabled, the hostname is fixed to the IP address with hyphens (-) replacing the dots (.) in the IP address, and does not include the prefix or suffix.

The node name consists of a prefix, the node IP address, and a suffix:

  • The total length is 2 to 64 characters. The node name must start and end with a lowercase letter or digit.

  • The prefix and suffix can contain uppercase and lowercase letters, digits, hyphens (-), and periods (.). They must start with an uppercase or lowercase letter and cannot start or end with a hyphen (-) or period (.). Consecutive hyphens (-) or periods (.) are not allowed.

  • The prefix is required (ECS restriction). The suffix is optional.

  • The node IP is the full private IP address of the node.

Example: If the node IP address is 192.XX.YY.55, the prefix is aliyun.com, and the suffix is test:

  • For a Linux node, the node name, ECS instance name, and ECS instance hostname are all aliyun.com192.XX.YY.55test.

  • For a Windows node, the ECS instance hostname is 192-XX-YY-55, and the node name and ECS instance name are both aliyun.com192.XX.YY.55test.

aliyun.com192.XX.YY.55test

pre_user_data

string

No

The pre-user data for the instance. Before the node joins the cluster, the specified pre-user data script is run. For more information, see User data scripts.

dGhpcyBpcyBhIGV4YW1wbGU

tee_config

object

No

The confidential computing cluster configuration.

tee_enable

boolean

No

Specifies whether to enable confidential computing for the cluster.

  • true: Enables confidential computing.

  • false: Does not enable confidential computing.

true

interconnect_config deprecated

object

No

[Deprecated]

The edge node pool configuration.

cen_id

string

No

[Deprecated]

The instance ID of the Cloud Enterprise Network (CEN) attached to the enhanced edge node pool.

null

ccn_id

string

No

[Deprecated]

The instance ID of the Cloud Connect Network (CCN) attached to the enhanced edge node pool.

null

ccn_region_id

string

No

[Deprecated]

The region of the Cloud Connect Network (CCN) instance bound to the enhanced edge node pool.

null

bandwidth

integer

No

[Deprecated]

The network bandwidth of the enhanced edge node pool. Unit: Mbps.

null

improved_period

string

No

[Deprecated]

The purchase duration of the enhanced edge node pool. Unit: months.

null

count deprecated

integer

No

[Deprecated] Use desired_size instead.

The number of nodes in the node pool.

null

max_nodes deprecated

integer

No

[Deprecated]

The maximum number of nodes allowed in the edge node pool.

null

interconnect_mode

string

No

The network type of the edge node pool. This parameter takes effect only for node pools whose type is edge. Valid values:

  • basic: Public network. Nodes in cloud node pool interact with cloud nodes over the Internet. Applications in cloud node pool cannot directly access the cloud VPC internal network.

  • private: Private network. Nodes in cloud node pool connect to the cloud through Express Connect, VPN, or CEN, providing higher cloud-edge communication quality and more effective security.

basic

host_network

boolean

No

Specifies whether the pod network mode uses host network mode.

  • true: Host network. Pods directly use the host network stack and share the IP address and ports with the host.

  • false: Container network. Pods have independent network stacks and do not occupy host network ports.

true

intranet

boolean

No

Specifies whether nodes in the edge node pool have Layer 3 network connectivity with each other.

  • true: Connected. All nodes in the node pool have Layer 3 network connectivity with each other.

  • false: Not connected. All nodes in the node pool do not have Layer 3 network connectivity with each other.

true

eflo_node_group

object

No

The Lingjun node pool configuration.

cluster_id

string

No

The ID of the Lingjun cluster to associate when creating a Lingjun node pool.

i1169130516633730****

group_id

string

No

The Lingjun group ID of the Lingjun cluster to associate when creating a Lingjun node pool.

ng-ec3c96ff0aa****

auto_attach_enabled

boolean

No

Specifies whether to enable automatic node addition for the Lingjun node pool.

worker_ram_role_name

string

No

The worker RAM role used by the Lingjun node pool.

auto_mode

object

No

The intelligent managed configuration for the node pool.

enable

boolean

No

Specifies whether to enable intelligent managed mode. Valid values:

  • true: Enables intelligent managed mode. This can be enabled only when the cluster has intelligent managed mode enabled.

  • false: Does not enable intelligent managed mode.

true

node_components

array<object>

No

The list of node components.

array<object>

No

The node component.

name

string

No

The name of the node component.

kubelet

version

string

No

The version of the node component.

1.33.3-aliyun.1

config

object

No

The configuration of the node component.

custom_config

object

No

The custom configuration of the node component.

{"cpuManagerPolicy":"static"}

any

No

The custom configuration string of the node component.

cpuManagerPolicy

envs

array<object>

No

The environment variables of the node component.

object

No

name

string

No

The name of the environment variable.

LOG_LEVEL

value

string

No

The value of the environment variable.

info

Response elements

Element

Type

Description

Example

object

The node pool configuration.

nodepool_id

string

The node pool ID.

np31da1b38983f4511b490fc62108a****

task_id

string

The task ID.

T-613b19bbd160ad492800****

request_id

string

The request ID.

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

Examples

Success response

JSON format

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

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.