CreateClusterNodePool

Updated at:

A node pool is a group of nodes that share the same properties. Node pools allow you to manage nodes in a unified way, such as upgrading nodes or using auto scaling. You can also use automated O&M features to fix OS CVE vulnerabilities, recover failed nodes, and upgrade kubelet and containerd versions. This helps reduce O&M costs. Call the CreateClusterNodePool operation 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.

nodepool_info

object

No

The node pool configurations.

name

string

Yes

The name of the node pool.

nodepool-test

type

string

No

The type of the node pool. Valid values:

  • ess: A regular node pool. This type of node pool supports managed features and auto scaling.

  • edge: An edge node pool.

  • lingjun: A Lingjun node pool.

  • hybrid: A 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 ID of the resource group. The instances created in the node pool belong to this resource group.

A resource can belong to only one resource group. You can use resource groups to group resources based on your business needs, such as by project, application, or organization.

rg-acfmyvw3wjmb****

auto_scaling

object

No

The auto scaling configurations.

enable

boolean

No

Specifies whether to enable auto scaling for the node pool. Valid values:

  • true: Enables auto scaling for the node pool. If cluster resources are insufficient for pod scheduling, ACK automatically scales nodes in or out. The scaling is based on the minimum and maximum number of instances you specify. For Kubernetes 1.24 or later, instant scaling is enabled by default. For versions earlier than 1.24, node auto scaling is enabled by default. For more information, see Node scaling.

  • false: Disables auto scaling for the node pool. ACK adjusts the number of nodes to match the expected number of nodes you specify.

If you set this parameter to false, other parameters in auto_scaling do not take effect.

Default value: false.

false

type

string

No

The type of instances that are created by auto scaling. This parameter takes effect only if enable=true. Valid values:

  • cpu: Regular instances.

  • gpu: GPU-accelerated instances.

  • gpushare: GPU-sharing instances.

  • spot: Spot instances.

Default value: cpu.

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

Valid values:

  • spot :

    Spot instances

  • cpu :

    Regular instances

  • gpushare :

    GPU-sharing instances

  • gpu :

    GPU-accelerated instances

cpu

max_instances

integer

No

The maximum number of instances that can be created in the node pool. This does not include existing instances. This parameter takes effect only if enable is set to `true`.

The value must be in the range of[min_instances, 2000]. Default value: 0.

10

min_instances

integer

No

The minimum number of instances that can be created in the node pool. This does not include existing instances. This parameter takes effect only if enable is set to `true`.

The value must be in the range of [0, max_instances]. Default value: 0.

Note
  • If the minimum number of instances is not 0, the specified number of ECS instances are automatically created after you enable the scaling group.

  • Set the maximum number of instances to a value that is not smaller than the current number of nodes in the node pool. Otherwise, the node pool scales in after you enable auto scaling.

1

is_bond_eip deprecated

boolean

No

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

Specifies whether to associate an EIP with the node. Valid values:

  • true: Associates an EIP with the node.

  • false: Does not associate an EIP with the node.

Default value: false.

null

eip_internet_charge_type deprecated

string

No

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

The billing method of the EIP. Valid values:

  • PayByBandwidth: pay-by-bandwidth.

  • PayByTraffic: pay-by-traffic.

Default value: PayByBandwidth.

null

eip_bandwidth deprecated

integer

No

[This parameter is 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 configurations of the managed node pool feature.

enable

boolean

No

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. If you set this parameter to true, the other parameters take effect.

Default value: false.

false

auto_repair

boolean

No

Specifies whether to enable automatic node repair. This parameter takes effect only if enable is set to `true`.

  • true: Enables auto node repair.

  • false: Disables auto node repair.

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 if auto_repair is set to `true`. Valid values:

  • true: Allows node restarts.

  • false: Disallows node restarts.

Default value: true

true

approval_required

boolean

No

Specifies whether manual approval is required for node repair.

auto_vul_fix

boolean

No

Specifies whether to automatically fix CVE vulnerabilities. This parameter takes effect only if enable is set to `true`.

  • true: Automatically fixes CVE vulnerabilities.

  • false: Does not automatically fix CVE vulnerabilities.

Default value: true.

true

auto_vul_fix_policy

object

No

The policy for automatically fixing CVE vulnerabilities.

restart_node

boolean

No

Specifies whether to allow node restarts. This parameter takes effect only if auto_vul_fix is set to `true`. Valid values:

  • true: Allows node restarts.

  • false: Disallows node restarts.

Default value: true

false

vul_level

string

No

The vulnerability levels that can be automatically fixed. Specify the levels as a comma-separated list. Example: asap,later. Supported vulnerability levels:

  • asap: high

  • later: medium

  • nntf: low

Default value: asap.

asap,nntf

exclude_packages

string

No

The packages to exclude from vulnerability fixing.

Default value: kernel.

kernel

auto_upgrade

boolean

No

Specifies whether to enable automatic node upgrades. This parameter takes effect only if enable is set to `true`.

  • true: Enables auto node upgrade.

  • false: Disables auto node upgrade.

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 upgrades. This parameter takes effect only if auto_upgrade is set to `true`. Valid values:

  • true: Allows auto kubelet upgrade.

  • false: Disallows auto kubelet upgrade.

Default value: true.

true

auto_upgrade_runtime

boolean

No

Specifies whether to allow automatic runtime upgrades. This parameter takes effect only if auto_upgrade is set to `true`. Valid values:

  • true: Allows auto runtime upgrade.

  • false: Disallows auto runtime upgrade.

Default value: true.

false

auto_upgrade_os

boolean

No

Specifies whether to allow automatic OS upgrades. This parameter takes effect only if auto_upgrade is set to `true`. Valid values:

  • true: Allows auto OS upgrade.

  • false: Disallows auto OS upgrade.

Default value: false.

false

upgrade_config deprecated

object

No

[This parameter is deprecated] Use the auto_upgrade parameter instead.

The auto upgrade configurations. This parameter takes effect only if enable is set to `true`.

auto_upgrade deprecated

boolean

No

[This parameter is deprecated] Use the auto_upgrade parameter instead.

Specifies whether to enable auto upgrade. Valid values:

  • true: Enables auto upgrade.

  • false: Disables auto upgrade.

null

surge

integer

No

The number of extra nodes. You can specify only one of surge or surge_percentage.

During an upgrade, some nodes become unavailable. You can create extra nodes to handle the cluster workload.

Note

The number of extra nodes cannot exceed the current number of nodes.

0

surge_percentage

integer

No

The percentage of extra nodes. You can specify only one of surge or surge_percentage.

The number of extra nodes is calculated as: Percentage of extra nodes × Number of nodes. For example, if you set the percentage to 50% and you have 6 existing nodes, three extra nodes are created.

0

max_unavailable

integer

No

The maximum number of unavailable nodes. Valid values: 1 to 1000.

Default value: 1.

1

auto_fault_diagnosis

boolean

No

scaling_group

object

No

The configurations of the scaling group for the node pool.

vswitch_ids

array

Yes

A list of vSwitch IDs. You can specify from one to eight vSwitch IDs.

Note

For high availability, select vSwitches in different zones.

string

No

The vSwitch ID.

vsw-wz9mfnhmssud6eicu****

instance_types

array

Yes

A list of instance types for the nodes in the node pool. When the node pool is scaled, nodes are created from these instance types.

You can specify from one to 10 instance types.

Note

For high availability, select 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 the nodes in the node pool. Valid values:

  • PrePaid: subscription instances.

  • PostPaid: pay-as-you-go instances.

Default value: PostPaid.

Valid values:

  • PostPaid :

    Pay-as-you-go instances

  • PrePaid :

    Subscription instances

PostPaid

period

integer

No

The subscription duration of the nodes. This parameter is required and takes effect only if instance_charge_type is set to PrePaid.

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

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

1

period_unit

string

No

The billing cycle of the nodes in the node pool. This parameter is required and takes effect only if instance_charge_type is set to PrePaid.

  • Month: The billing cycle is measured in months.

  • Week: The billing cycle is measured in weeks.

Default value: Month.

Month

auto_renew

boolean

No

Specifies whether to enable auto-renewal for the nodes in the node pool. This parameter takes effect only if 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 period. Valid values:

  • If PeriodUnit=Week: 1, 2, 3.

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

Default value: 1.

1

spot_strategy

string

No

The bidding strategy for the spot instances. Valid values:

  • NoSpot: The instances are not spot instances.

  • SpotWithPriceLimit: Sets the maximum hourly price for an instance.

  • SpotAsPriceGo: The system automatically bids at the optimal price.

For more information, see Spot instances.

NoSpot

spot_price_limit

array<object>

No

The price limit for a spot instance.

object

No

The price range settings for a spot instance. You can set a different price range for each instance type.

instance_type

string

No

The instance type of the spot instance.

ecs.c6.large

price_limit

string

No

The maximum price that you are willing to pay for a single instance.

0.39

image_type

string

No

The OS image type. 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-optimized image.

  • AliyunLinux3ContainerOptimized: Alinux3 container-optimized image.

AliyunLinux3

image_id

string

No

The ID of the custom image. By default, the system uses the system image.

aliyun_2_1903_x64_20G_alibase_20200529.vhd

system_disk_category

string

No

The type of the system disk of the node. Valid values:

  • cloud_efficiency: ultra disk.

  • cloud_ssd: standard SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL disk.

  • cloud_essd_entry: ESSD Entry disk.

Default value: cloud_efficiency.

cloud_efficiency

system_disk_categories

array

No

An array of system disk categories, ordered by priority. If a disk category is unavailable, the system attempts to create a system disk using the next category in the list.

string

No

The category of the system disk.

Valid values:

  • cloud: Basic disk.

  • cloud_efficiency: Ultra disk.

  • cloud_ssd: Standard SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL disk.

  • cloud_essd_entry: ESSD Entry disk.

cloud_essd

system_disk_size

integer

No

The size of the system disk for the node, in GiB.

Value range: 20 to 2048.

120

system_disk_performance_level

string

No

The performance level of the node's system disk. This parameter is valid only for Enhanced SSDs (ESSDs). The performance level of an ESSD depends on its size. For more information, see ESSDs.

  • PL0: Moderate I/O performance and stable read/write latency.

  • PL1: Moderate I/O performance and stable read/write latency.

  • PL2: High I/O performance and stable read/write latency.

  • PL3: Extremely high I/O performance and extremely stable read/write latency.

PL1

system_disk_encrypted

boolean

No

Specifies whether to encrypt the system disk. Valid values:

  • true: encrypts the system disk.

  • false: does not encrypt the system disk.

false

system_disk_kms_key_id

string

No

The ID of the KMS key that is used to encrypt the system disk.

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

system_disk_encrypt_algorithm

string

No

The encryption algorithm for the system disk. Valid value: aes-256.

aes-256

system_disk_bursting_enabled

boolean

No

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

  • true: Enables the feature.

  • false: Disables the feature.

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

true

system_disk_provisioned_iops

integer

No

The provisioned read/write IOPS for the system disk.

Valid values: 0 to min{50,000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.

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

1000

data_disks

array

No

The data disk settings for the nodes in the node pool.

data_disk

No

The data disk configurations.

disk_init

array

No

The block device initialization configurations.

DiskInit

No

The DiskInit configurations.

security_group_ids

array

No

A list of security group IDs. You must specify either security_group_ids or security_group_id. If you specify both security_group_id and security_group_ids, security_group_ids takes precedence.

string

No

A list of security group IDs. You must specify either security_group_ids or security_group_id. Using security_group_ids is recommended. If you specify both security_group_id and security_group_ids, security_group_ids takes precedence.

sg-wz9a8g2mt6x5ll******

key_pair

string

No

The name of the key pair for passwordless logon. You must specify either key_pair or login_password.

Note

If you select ContainerOS for the node pool, you can specify only key_pair.

np-key-name

login_password

string

No

The Secure Shell (SSH) logon password. You must specify either key_pair or login_password. The password must be 8 to 30 characters long 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 created ECS instance as a non-root user.

  • true: Logs on as the 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. You can enable this feature only when you select Alibaba Cloud Linux 2 or Alibaba Cloud Linux 3 for the OS image. Alibaba Cloud provides baseline checks and scanning programs for Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 MLPS 2.0 Level 3 images to help you meet classified protection requirements.

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 the public IP address. Valid values:

  • PayByBandwidth: pay-by-bandwidth.

  • PayByTraffic: pay-by-traffic.

PayByTraffic

internet_max_bandwidth_out

integer

No

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

5

tags

array<object>

No

Adds tags only to ECS instances.

Tag keys must be unique. A tag key can be up to 128 characters long. Tag keys and values cannot start with "aliyun" or "acs:", and cannot contain "http://" or "https://".

object

No

The node tag.

key

string

No

The name of the tag.

node-k-1

value

string

No

The value of the tag.

node-v-1

desired_size

integer

No

The expected number of nodes to create and maintain in the node pool.

Adjust this value to scale the node pool out or in. To ensure that cluster components run as expected, set this value to at least 2.

If you do not want to create any nodes, set this parameter to 0. You can manually adjust the number of nodes later.

0

multi_az_policy

string

No

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

  • PRIORITY: Scales instances based on the vSwitch priority. If an ECS instance cannot be created in the zone where the vSwitch with a higher priority resides, the system automatically uses the vSwitch with the next priority to create the instance.

  • COST_OPTIMIZED: Creates instances at the lowest vCPU price. When multiple instance types are specified in the scaling configuration and the billing method is spot, the system preferentially creates the spot instance with the lowest price. Use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to reasons such as insufficient inventory.

    Note

    The COST_OPTIMIZED policy takes effect only when multiple instance types are specified or spot instances are selected.

  • BALANCE: Evenly distributes ECS instances across multiple zones specified in the scaling group. If the distribution of ECS instances becomes unbalanced due to insufficient inventory, call the RebalanceInstances API operation to balance the resources.

Default value: PRIORITY.

COST_OPTIMIZED

scaling_policy

string

No

The scaling mode of the scaling group. Valid values:

  • release: standard mode. In this mode, ECS instances are created and released based on the resource usage.

  • recycle: accelerated mode. In this mode, ECS instances are created, stopped, and started to accelerate scaling. The computing resources of stopped instances are not billed. However, the storage resources are still billed. This mode is not applicable to instance types with local disks.

Default value: release.

release

on_demand_base_capacity

integer

No

The minimum number of pay-as-you-go instances to maintain in the scaling group. Valid values: [0,1000]. If the number of pay-as-you-go instances falls below this value, the system creates pay-as-you-go instances first.

0

on_demand_percentage_above_base_capacity

integer

No

The percentage of pay-as-you-go instances for additional capacity above on_demand_base_capacity. Valid values: [0, 100].

20

spot_instance_pools

integer

No

The number of instance types to use for spot instances. The scaling group creates spot instances from a pool of the lowest-priced instance types. This parameter sets the size of this pool. Valid values: 1 to 10.

5

spot_instance_remedy

boolean

No

Specifies whether to enable the instance replacement feature. If enabled, the scaling group attempts to replace a spot instance that is about to be reclaimed by creating a new one. Valid values:

  • true: enables the instance replacement feature.

  • false: disables the instance replacement feature.

false

compensate_with_on_demand

boolean

No

If multi_az_policy is set to COST_OPTIMIZED, specifies whether to allow the system to automatically create pay-as-you-go instances to meet the requirement on the number of ECS instances when spot instances cannot be created due to reasons such as price and inventory. Valid values:

  • true: allows the system to automatically create pay-as-you-go instances.

  • false: does not allow the system to automatically create pay-as-you-go instances.

true

deploymentset_id

string

No

The ID of the deployment set. A deployment set deploys the ECS instances in a node pool to different physical servers. This ensures high availability and disaster recovery. When you create an ECS instance in a deployment set, the system starts the ECS instance in the specified region based on the specified deployment policy.

Important If you specify a deployment set, the maximum number of nodes in the node pool is limited. By default, the maximum number of nodes that a deployment set supports is 20 × the number of zones. The number of zones is determined by the specified vSwitches. Select a deployment set with caution to ensure that its quota is sufficient to prevent node creation failures.

ds-bp1d19mmbsv3jf6xxxxx

rds_instances

array

No

A list of RDS instances.

string

No

The ID of the RDS instance.

rds-****

private_pool_options

object

No

Configurations for the private node pool.

id

string

No

The ID of the private node pool. This parameter is required if match_criteria is set to Target.

eap-bp67acfmxazb4****

match_criteria

string

No

The matching criteria for the private pool. A private pool provides reserved capacity from an elasticity assurance or a capacity reservation. This parameter determines how the system uses this reserved capacity to launch instances. Valid values:

  • Open: The system automatically matches and uses capacity from any open private pool. If no matching capacity is found, the system uses public resources.

  • Target: The system uses capacity only from the specified private pool. If the specified pool has no available capacity, the instances fail to launch.

  • None: The system does not use capacity from any private pool.

Target

security_group_id deprecated

string

No

The ID of the security group for the node pool. You must specify 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 OS distribution. Valid values:

  • CentOS

  • AliyunLinux

  • Windows

  • WindowsCore

Default value: AliyunLinux.

null

instance_patterns

array

No

The instance property configurations.

instance_patterns

No

The instance properties.

ram_role_name

string

No

The name of the worker RAM role.

  • If this parameter is not specified, the cluster's default worker RAM role is used.

  • If this parameter is specified, the RAM role must be a service role with Elastic Compute Service as the trusted service. For more information, see Create a service role. If the specified RAM role is not the cluster's default worker RAM role, the role name cannot start with KubernetesMasterRole- or KubernetesWorkerRole-.

Important This parameter is available only for ACK managed clusters that run Kubernetes 1.22 or later.

example-role

instance_metadata_options InstanceMetadataOptions

No

The ECS instance metadata access configurations.

resource_pool_options

object

No

The resource pool and policy used to create instances. This parameter takes effect only when you create pay-as-you-go instances. This parameter cannot be set at the same time as private_pool_options.match_criteria and private_pool_options.id.

strategy

string

No

The policy for the resource pool used to create instances. A resource pool consists of a private pool and a public pool. A private pool is created when an elasticity assurance or a capacity reservation service takes effect. Valid values:PrivatePoolFirst: The system prioritizes using a private pool. If you specify resource_pool_options.private_pool_ids, the system attempts to use that pool first. If that pool has insufficient capacity, or if you do not specify a pool, the system searches for other available private pools. If no suitable private pool is found, the system uses the public pool.PrivatePoolOnly: The system uses only the private pool specified in resource_pool_options.private_pool_ids. This parameter is required. If the specified pool has insufficient capacity, instances are not created.None: No resource pool policy is used.Default value: None.

PrivatePoolFirst

private_pool_ids

array

No

A list of private pool IDs. The IDs are for elasticity assurance services or capacity reservation services. You can specify only the IDs of private pools in Target mode. The list can contain 1 to 20 IDs.

string

No

The ID of the private pool. This is the ID of an elasticity assurance service or a capacity reservation service. You can specify IDs only for private pools that are in Target mode.

eap-bp67acfmxazb4****

system_disk_snapshot_policy_id

string

No

The ID of the snapshot policy for the system disk.

sp-0jl6xnmme8v7o935****

node_config

object

No

The node configurations.

kubelet_configuration kubelet_config

No

The kubelet parameter settings.

kubernetes_config

object

No

The configurations of the cluster.

labels

array

No

The labels to add to the nodes in the node pool.

tag

No

The tag configuration.

taints

array

No

The taints to apply to the nodes.

taint

No

A collection of taint configurations.

runtime

string

No

The name of the container runtime. ACK supports the following container runtimes.

  • containerd: We recommend containerd. It is supported by all cluster versions.

  • Sandboxed-Container.runv: A sandboxed container that provides higher isolation. This runtime is supported by clusters that run Kubernetes 1.31 or earlier.

  • docker: This runtime is no longer maintained. It is supported by clusters that run Kubernetes 1.22 or earlier.

Default value: containerd.

containerd

runtime_version

string

No

The version of the container runtime.

1.6.38

cpu_policy

string

No

The CPU management policy for the node. If your cluster runs Kubernetes 1.12.6 or later, the following policies are supported:

  • static: Allows pods with specific resource characteristics to have enhanced CPU affinity and exclusivity on the node.

  • none: Enables the default CPU affinity scheme.

Default value: none.

none

user_data

string

No

The user data for the instance. The script is run after the node joins the cluster. 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 Cloud Monitor on the ECS nodes. After Cloud Monitor is installed, you can view monitoring information for the created ECS instances in the Cloud Monitor console. We recommend that you enable this feature. Valid values:

  • true: Installs Cloud Monitor on the ECS nodes.

  • false: Does not install Cloud Monitor on the ECS nodes.

Default value: false.

false

node_name_mode

string

No

The custom node name. After you specify a custom node name, the node name, ECS instance name, and ECS instance hostname are changed at the same time.

Note

For a Windows instance for which a custom node name is enabled, the hostname is fixed to the IP address. The system replaces periods (.) in the IP address with hyphens (-). The hostname does not contain a prefix or suffix.

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

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

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

  • The prefix is required due to an ECS limit. The suffix is optional.

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

For example, the IP address of a node is 192.XX.YY.55, the prefix is aliyun.com, and the suffix is test.

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

  • If the node is a Windows node, the ECS instance hostname is 192-XX-YY-55. 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 user data to run on a node before it is added to the cluster. For more information, see User-Data script.

dGhpcyBpcyBhIGV4YW1wbGU

tee_config

object

No

The configurations of the Kubernetes cluster for confidential computing.

tee_enable

boolean

No

Specifies whether to enable confidential computing on the nodes in the node pool.

  • true: enables confidential computing.

  • false: disables confidential computing.

true

interconnect_config deprecated

object

No

[This parameter is deprecated]

The configurations of the edge node pool.

cen_id

string

No

[This parameter is deprecated]

The ID of the CEN instance that is associated with the enhanced edge node pool.

null

ccn_id

string

No

[This parameter is deprecated]

The ID of the CCN instance that is associated with the enhanced edge node pool.

null

ccn_region_id

string

No

[This parameter is deprecated]

The region of the CCN instance for the enhanced edge node pool.

null

bandwidth

integer

No

[This parameter is deprecated]

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

null

improved_period

string

No

[This parameter is deprecated]

The subscription duration of the enhanced edge node pool. Unit: month.

null

count deprecated

integer

No

[This parameter is deprecated] Use desired_size instead.

The number of nodes in the node pool.

null

max_nodes deprecated

integer

No

[This parameter is deprecated]

The maximum number of nodes in the edge node pool.

null

interconnect_mode

string

No

The network type of the edge node pool. This parameter applies only to node pools of the edge type. Valid values:

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

  • private: dedicated network. The nodes in the node pool connect to the cloud network using leased lines, VPNs, or CEN for higher communication quality and security.

basic

host_network

boolean

No

Specifies whether to use the host network for the pod network.

  • true: host network. pods directly use the network stack of the host 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 can communicate with each other at Layer 3.

  • true: All nodes in the node pool can communicate with each other at Layer 3.

  • false: Nodes in the node pool cannot communicate with each other at Layer 3.

true

eflo_node_group

object

No

The configurations of the Lingjun node pool.

cluster_id

string

No

The ID of the Lingjun cluster that you want to associate with the Lingjun node pool.

i1169130516633730****

group_id

string

No

The ID of the Lingjun group in the Lingjun cluster to associate with the Lingjun node pool.

ng-ec3c96ff0aa****

auto_mode

object

No

The intelligent hosting settings for the node pool.

enable

boolean

No

Specifies whether to enable the intelligent hosting mode. Valid values:

  • true: Enables the intelligent hosting mode. This option is available only if the intelligent hosting mode is enabled for the cluster.

  • false: Disables the intelligent hosting mode.

true

node_components

array<object>

No

A list of node components.

array<object>

No

The node components.

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 configurations of the node component.

custom_config

object

No

The custom configurations of the node component.

string

No

The custom configuration string of the node component.

cpuManagerPolicy

Response elements

Element

Type

Description

Example

object

The node pool configurations.

nodepool_id

string

The ID of the node pool.

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.