All Products
Search
Document Center

Container Service for Kubernetes:CreateClusterNodePool

Last Updated:Feb 29, 2024

You can call the CreateClusterNodePool operation to create a node pool for a Container Service for Kubernetes (ACK) cluster.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
cs:CreateClusterNodePoolWrite
  • Cluster
    acs:cs:{#regionId}:{#accountId}:cluster/{#ClusterId}
    none
none

Request syntax

POST /clusters/{ClusterId}/nodepools

Request parameters

ParameterTypeRequiredDescriptionExample
ClusterIdstringYes

The ID of the cluster.

c61da77e8bfbc4c4c999af2b51b65****
bodyobjectNo

The request body.

auto_scalingobjectNo

The configuration of auto scaling.

enablebooleanNo

Specifies whether to enable auto scaling. Valid values:

  • true: enables auto scaling.
  • false: disables auto scaling. If you set this parameter to false, other parameters in the auto_scaling section do not take effect.

Default value: false.

true
max_instanceslongNo

The maximum number of Elastic Compute Service (ECS) instances that can be created in a node pool.

10
min_instanceslongNo

The minimum number of ECS instances that must be kept in a node pool.

1
typestringNo

The instance types that can be used for the auto scaling of the node pool. Valid values:

  • cpu: regular instance.
  • gpu: GPU-accelerated instance.
  • gpushare: shared GPU-accelerated instance.
  • spot: preemptible instance

Default value: cpu.

cpu
is_bond_eipbooleanNo

This parameter is deprecated.

Specifies whether to associate an elastic IP address (EIP) with the node pool. Valid values:

  • true: associates an EIP with the node pool
  • false: does not associate an EIP with the node pool.

Default value: false.

true
eip_internet_charge_typestringNo

This parameter is deprecated.

The metering method of the EIP. Valid values:

  • PayByBandwidth: pay-by-bandwidth.
  • PayByTraffic: pay-by-data-transfer.

Default value: PayByBandwidth.

PayByBandwidth
eip_bandwidthlongNo

This parameter is deprecated.

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

5
kubernetes_configobjectNo

The configuration of the cluster.

cms_enabledbooleanNo

Specifies whether to install the CloudMonitor agent on ECS nodes. After the CloudMonitor agent is installed on ECS nodes, you can view monitoring information about the instances in the CloudMonitor console. We recommend that you install the CloudMonitor agent. Valid values:

  • true: installs the CloudMonitor agent on ECS nodes.
  • false: does not install the CloudMonitor agent on ECS nodes.

Default value: false.

true
cpu_policystringNo

The CPU management policy of the nodes in a node pool. The following policies are supported if the Kubernetes version of the cluster is 1.12.6 or later.

  • static: allows pods with specific resource characteristics on the node to be granted enhanced CPU affinity and exclusivity.
  • none: specifies that the default CPU affinity is used.

Default value: none.

none
labelsarrayNo

The labels that you want to add to the nodes in the cluster.

tagNo

The configuraiton of labels.

runtimestringNo

The container runtime.

docker
runtime_versionstringNo

The version of the container runtime.

19.03.5
taintsarrayNo

The configuration of taints.

taintNo

The list of taints.

user_datastringNo

The user-defined data on nodes.

dGhpcyBpcyBhIGV4YW1wbGU=
node_name_modestringNo

A custom node name consists of a prefix, a node IP address, and a suffix.

  • The prefix and suffix can contain multiple parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). A custom node name must start and end with a digit or lowercase letter.
  • The node IP address in a custom node name is the private IP address of the node.

Set the value in the customized,aliyun,ip,com format. The value consists of four parts that are separated by commas (,). customized and ip are fixed content. aliyun is the prefix and com is the suffix. Example: aliyun.192.168.xxx.xxx.com.

customized,aliyun,ip,com
nodepool_infoobjectNo

The configuration of the node pool.

namestringYes

The name of the node pool.

cluster-demo
resource_group_idstringNo

The ID of the resource group to which the node pool belongs.

rg-acfmyvw3wjmb****
typestringNo

The type of node pool. Valid values:

  • ess: node pool
  • edge: edge node pool
ess
scaling_groupobjectNo

The configuration of the scaling group that is used by the node pool.

auto_renewbooleanNo

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

  • true: enables auto-renewal
  • false: disables auto-renewal.

Default value: true.

true
auto_renew_periodlongNo

The duration of the auto-renewal. This parameter takes effect and is required only when you set instance_charge_type to PrePaid and auto_renew to true. If PeriodUnit=Month is configured, the valid values are 1, 2, 3, 6, and 12.

Default value: 1.

1
data_disksarrayNo

The configuration of the data disks that are mounted to the nodes in the node pool.

data_diskNo

The configuration of data disks.

image_idstringNo

The ID of a custom image. By default, the image provided by ACK is used.

aliyun_2_1903_x64_20G_alibase_20200529.vhd
instance_charge_typestringYes

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

  • PrePaid: the subscription billing method.
  • PostPaid: the pay-as-you-go billing method.

Default value: PostPaid.

PrePaid
instance_typesarrayYes

The instance type of the nodes in the node pool.

stringNo

The type of instance.

ecs.d1ne.2xlarge
key_pairstringNo

The name of the key pair. You must set this parameter or the login_password parameter.

Note If you want to create a managed node pool, you must set key_pair.
np-key-name
login_passwordstringNo

The password for SSH logon. You must set this parameter or the key_pair parameter. The password must be 8 to 30 characters in length, and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.

Hello1234
periodlongNo

The subscription duration of the nodes in the node pool. This parameter takes effect and is required only when you set instance_charge_type to PrePaid. If you set period_unit to Month, the valid values of period are 1, 2, 3, 6, and 12.

Default value: 1.

1
period_unitstringNo

The billing cycle of the nodes in the node pool. This parameter is required if you set instance_charge_type to PrePaid. A value of Month indicates that the billing cycle is measured in months.

Month
platformstringNo

The release version of the operating system. Valid values:

  • CentOS
  • AliyunLinux
  • Windows
  • WindowsCore

Default value: AliyunLinux.

AliyunLinux
rds_instancesarrayNo

A list of ApsaraDB RDS instances.

stringNo

The IDs of ApsaraDB RDS instances.

rds-****
spot_strategystringNo

The bidding policy of preemptible instances. Valid values:

  • NoSpot: non-preemptible instance.
  • SpotWithPriceLimit: specifies the highest bid.
  • SpotAsPriceGo: automatically submits bids based on the up-to-date market price.

For more information, see Preemptible instances.

NoSpot
spot_price_limitobject []No

The instance type of preemptible instance and the maximum bid price.

instance_typestringNo

The instance type of preemptible instance.

ecs.c6.large
price_limitstringNo

The maximum bid price of a preemptible instance.

0.39
scaling_policystringNo

The scaling mode of the scaling group. Valid values:

  • release: the standard mode. ECS instances are created and released based on resource usage.
  • recycle: the swift mode. ECS instances are created, stopped, or started during scaling events. This reduces the time required for the next scale-out event. When the instance is stopped, you are charged only for the storage service. This does not apply to ECS instances attached with local disks.

Default value: release.

release
security_group_idstringNo

Specifies the ID of the security group to which you want to add the node pool. You must set this parameter or security_group_ids. We recommend that you set security_group_ids.

sg-wz9a8g2mt6x5llu0****
security_group_idsarrayNo

The IDs of security groups to which you want to add the node pool. You must set this parameter or security_group_id. We recommend that you set security_group_ids. If you set both security_group_id and security_group_ids, security_group_ids is used.

stringNo

The IDs of security groups to which you want to add the node pool. You must set this parameter or security_group_id. We recommend that you set security_group_ids. If you set both security_group_id and security_group_ids, security_group_ids is used.

sg-wz9a8g2mt6x5llu0****
system_disk_categorystringNo

The type of system disk. Valid values:

  • cloud_efficiency: ultra disk.
  • cloud_ssd: standard SSD.
  • cloud_essd: enhanced SSD.

Default value: cloud_efficiency.

cloud_efficiency
system_disk_sizelongNo

The system disk size of a node. Unit: GiB.

Valid values: 40 to 500.

120
system_disk_performance_levelstringNo

The performance level (PL) of the system disk that you want to use for the node. This parameter takes effect only for ESSDs.

  • PL0: moderate maximum concurrent I/O performance and low I/O latency
  • PL1: moderate maximum concurrent I/O performance and low I/O latency
  • PL2: high maximum concurrent I/O performance and low I/O latency
  • PL3: ultra-high maximum concurrent I/O performance and ultra-low I/O latency
PL1
system_disk_provisioned_iopslongNo

The predefined IOPS of a system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.

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

1000
system_disk_bursting_enabledbooleanNo

Specifies whether to enable the burst feature for system disks. Valid values:

  • true: enables the burst feature.
  • false: disables the burst feature.

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

true
tagsobject []No

The labels that you want to add to the ECS instances.

Each key must be unique and cannot exceed 128 characters in length. Neither keys nor values can start with aliyun or acs:. Neither keys nor values can contain https:// or http://.

keystringNo

The key of a label.

node-k-1
valuestringNo

The value of a label.

node-v-1
vswitch_idsarrayYes

The vSwitch IDs. Valid values: 1 to 8.

Note To ensure high availability, we recommend that you select vSwitches that reside in different zones.
stringNo

The vSwitch ID.

vsw-wz9mfnhmssud6eicu****
multi_az_policystringNo

The ECS instance scaling policy for a multi-zone scaling group. Valid values:

  • PRIORITY: ECS instances are created based on the VSwitchIds.N parameter. If Auto Scaling fails to create ECS instances in the zone of the vSwitch with the highest priority, Auto Scaling attempts to create ECS instances in the zone of the vSwitch with a lower priority.

  • COST_OPTIMIZED: ECS instances are created based on the vCPU unit price in ascending order. Preemptible instances are preferably created when preemptible instance types are specified in the scaling configuration. You can set the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.

    **

    Note COST_OPTIMIZED is valid only when multiple instance types are specified or at least one preemptible instance type is specified.

  • BALANCE: ECS instances are evenly distributed across multiple zones specified by the scaling group. If ECS instances become imbalanced among multiple zones due to insufficient inventory, you can call RebalanceInstances of Auto Scaling to balance the instance distribution among zones.

Default value: PRIORITY.

COST_OPTIMIZED
on_demand_base_capacitylongNo

The minimum number of pay-as-you-go instances that must be kept in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferably creates pay-as-you-go instances.

0
on_demand_percentage_above_base_capacitylongNo

The percentage of pay-as-you-go instances among the extra instances that exceed the number specified by on_demand_base_capacity. Valid values: 0 to 100.

20
spot_instance_poolslongNo

The number of instance types that are available. Auto Scaling creates preemptible instances of multiple instance types that are available at the lowest cost. Valid values: 1 to 10.

5
spot_instance_remedybooleanNo

Specifies whether to supplement preemptible instances when the number of preemptible instances drops below the specified minimum number. If this parameter is set to true, when the scaling group receives a system message that a preemptible instance is to be reclaimed, the scaling group attempts to create a new instance to replace this instance. Valid values:

  • true: enables the supplementation of preemptible instances.
  • false: disables the supplementation of preemptible instances.
false
compensate_with_on_demandbooleanNo

Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created due to reasons such as the cost or insufficient inventory. This parameter takes effect when you set multi_az_policy to COST_OPTIMIZED. Valid values:

  • true: automatically creates pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.
  • false: does not create pay-as-you-go instances to meet the required number of ECS instances if preemptible instances cannot be created.
true
internet_charge_typestringNo

The metering method of the public IP address. Valid values:

  • PayByBandwidth: pay-by-bandwidth.
  • PayByTraffic: pay-by-data-transfer.
PayByTraffic
internet_max_bandwidth_outlongNo

The maximum outbound bandwidth of the public IP address of the node. Unit: Mbit/s. Valid values: 1 to 100.

5
image_typestringNo

The type of OS image. You must set this parameter or platform. Valid values:

  • AliyunLinux: Alinux2
  • AliyunLinux3: Alinux3
  • AliyunLinux3Arm64: Alinux3 ARM
  • AliyunLinuxUEFI: Alinux2 UEFI
  • CentOS: CentOS
  • Windows: Windows
  • WindowsCore: Windows Core
  • ContainerOS: ContainerOS
AliyunLinux
deploymentset_idstringNo

The ID of the deployment set to which the ECS instances in the node pool belong.

ds-bp1d19mmbsv3jf6xxxxx
desired_sizelongNo

The expected number of nodes in the node pool.

0
private_pool_optionsobjectNo

The configuration of the private node pool.

idstringNo

The ID of the private node pool.

eap-bp67acfmxazb4****
match_criteriastringNo

The type of private node pool. This parameter specifies the type of private pool that you want to use to create instances. A private node pool is generated when an elasticity assurance or a capacity reservation service takes effect. The system selects a private node pool to launch instances. Valid values:

  • Open: open private pool. The system selects an open private node pool to launch instances. If no matching open private node pool is available, the resources in the public node pool are used.
  • Target: specific private pool. The system uses the resources of the specified private node pool to launch instances. If the specified private node pool is unavailable, instances cannot be launched.
  • None: no private pool is used. The resources of private node pools are not used to launch the instances.
Open
tee_configobjectNo

The configuration of confidential computing for the cluster.

tee_enablebooleanNo

Specifies whether to enable confidential computing for the cluster.

true
managementobjectNo

The configuration of the managed node pool feature.

enablebooleanNo

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

  • true: enables the managed node pool feature.
  • false: disables the managed node pool feature. Other parameters in this section take effect only when you specify enable=true.
false
auto_repairbooleanNo

Specifies whether to enable auto repair. This parameter takes effect only when you specify enable=true. Valid values:

  • true: enables auto repair.
  • false: disables auto repair.
false
upgrade_configobjectNo

The configuration of auto update. The configuration takes effect only when you specify enable=true.

auto_upgradebooleanNo

Indicates whether auto update is enabled. Valid values:

  • true: enables auto upgrade.
  • false: disables auto update.
false
surgelongNo

The number of nodes that are temporarily added to the node pool during an auto update.

0
surge_percentagelongNo

The percentage of additional nodes to the nodes in the node pool. You must set this parameter or surge.

0
max_unavailablelongNo

The maximum number of nodes that can be in the Unschedulable state. Valid values: 1 to 1000.

Default value: 1.

1
countlongNo

This parameter is deprecated. Use the desired_size parameter instead.

The number of nodes in the node pool.

1
interconnect_modestringNo

The network type of the edge node pool. This parameter takes effect only when you set the type parameter of the node pool to edge. Valid values:

  • basic: basic
  • improved: enhanced
  • private: dedicated Only Kubernetes 1.22 and later support this parameter.
basic
interconnect_configobjectNo

This parameter is deprecated.

The configuration of the edge node pool.

cen_idstringNo

This parameter is deprecated.

The ID of the Cloud Enterprise Network (CEN) instance that is associated with the enhanced edge node pool.

cen-ey9k9nfhz0f*******
ccn_idstringNo

This parameter is deprecated.

The ID of the Cloud Connect Network (CCN) instance that is associated with the enhanced edge node pool.

ccn-qm5i0i0q9yi*******
ccn_region_idstringNo

This parameter is deprecated.

The region to which the CCN instance that is associated with the enhanced edge node pool belongs.

cn-shanghai
bandwidthlongNo

This parameter is deprecated.

The bandwidth of the enhanced edge node pool. Unit: Mbit/s.

10
improved_periodstringNo

This parameter is deprecated.

The subscription duration of the enhanced edge node pool. The duration is measured in months.

1
max_nodeslongNo

The maximum number of nodes that can be created in the edge node pool. You must specify a value that is equal to or larger than 0. A value of 0 indicates that the number of nodes in the node pool is limited only by the quota of nodes in the cluster. In most cases, this parameter is set to a value larger than 0 for edge node pools. This parameter is set to 0 for node pools of the ess type or default edge node pools.

10

Response parameters

ParameterTypeDescriptionExample
object

The configuration of the node pool.

nodepool_idstring

The node pool ID.

np31da1b38983f4511b490fc62108a****
task_idstring

The ID of the task.

T-613b19bbd160ad492800****

Examples

Sample success responses

JSONformat

{
  "nodepool_id": "np31da1b38983f4511b490fc62108a****",
  "task_id": "T-613b19bbd160ad492800****"
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2024-01-19The response structure of the API has changedsee changesets
Change itemChange content
Output ParametersThe response structure of the API has changed.
2023-12-13The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.
2023-10-17The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.
2023-09-01The response structure of the API has changedsee changesets
Change itemChange content
Output ParametersThe response structure of the API has changed.
2023-08-08The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.
2020-09-24The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.
2020-09-24The internal configuration of the API is changed, but the call is not affectedsee changesets
Change itemChange content
The internal configuration of the API is changed, but the call is not affected.