CreateCluster

Updated at:

You can use OpenAPI to create an ACK cluster, including ACK managed clusters, ACK serverless clusters, ACK Edge clusters, and registered clusters. When creating a cluster, you configure cluster information, cluster components, and related Alibaba Cloud resources.

Operation description

Generate OpenAPI request parameters in the console

If your CreateCluster API call fails due to incorrect parameter combinations, you can generate valid request parameters directly in the console. Follow these steps:

  1. Log on to the Container Service for Kubernetes console. In the left navigation pane, select Clusters.

  2. On the Clusters page, click Cluster Templates.

  3. In the dialog box, select the cluster type you want to create and click Create. Then configure your cluster on the cluster configuration page.

  4. After completing your configuration, go to the Review Configuration page and click Equivalent Code in the upper-right corner. The dialog box displays the required parameter combination for cluster creation. Copy and use these parameters.

Important Starting July 4, 2026, some request parameters will no longer take effect. For details about these changes and replacement parameters, see Announcement on Changes and Deprecation of ACK Cluster Management–Related OpenAPI Parameters.

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:CreateCluster

create

*Cluster

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

  • cs:ClusterType
  • cs:ClusterSpec
  • cs:ClusterProfile
  • cs:EnableSecretEncryption
  • cs:EnableApiServerEip
  • cs:EnableAddonLogtailDs
  • cs:EnableCoreControlPlaneComponentsLog
  • cs:AddonNames
  • cs:EnableSNAT
  • cs:EnableNodePoolPublicIP
None

Request syntax

POST /clusters HTTP/1.1

Request parameters

Parameter

Type

Required

Description

Example

body

object

No

Request body parameters.

cluster-demo

name

string

Yes

Custom cluster name. It can contain digits, letters, Chinese characters, or hyphens (-). The name must be 1 to 63 characters long and cannot start with a hyphen (-).

cluster-demo

region_id

string

Yes

The region ID where the cluster is deployed. For more information, see Regions supported by Container Service for Kubernetes.

cn-beijing

cluster_type

string

No

  • Kubernetes: ACK dedicated cluster.

  • ManagedKubernetes: ACK managed clusters, including ACK managed clusters (Pro Edition, Basic Edition), ACK serverless clusters (Pro Edition, Basic Edition), ACK Edge clusters (Pro Edition, Basic Edition), and ACK LINGJUN clusters (Pro Edition).

  • ExternalKubernetes: Registered cluster.

Kubernetes

cluster_spec

string

No

When you set cluster_type to ManagedKubernetes and configure profile, you can further specify the cluster specification. Valid values:

  • ack.standard: Basic Edition (default when this parameter is empty)

  • ack.pro.small: Pro Edition

  • ack.pro.xlarge: Pro XL

  • ack.pro.2xlarge: Pro 2XL

  • ack.pro.4xlarge: Pro 4XL (requires whitelist approval from customer service)

Pro XL, Pro 2XL, and Pro 4XL are three tiers provided by ACK Pro Provisioned Control Plane. These tiers pre-allocate and dedicate control plane resources to ensure consistently high levels of API concurrency and pod scheduling performance. They are suitable for AI training and inference, ultra-large-scale clusters, and mission-critical workloads.

For cluster management fees for Pro Edition and provisioned control plane clusters, see Cluster management fees.

ack.pro.small

profile

string

No

When you set cluster_type to ManagedKubernetes (ACK managed clusters), you can further specify the cluster subtype.

  • Default: ACK managed cluster, including ACK clusters (Pro Edition, Basic Edition).

  • Edge: ACK Edge cluster, including ACK Edge clusters (Pro Edition, Basic Edition).

  • Serverless: ACK serverless cluster, including ACK serverless clusters (Pro Edition, Basic Edition).

  • Lingjun: ACK LINGJUN cluster, available in Pro Edition only.

Default

kubernetes_version

string

No

Cluster version, aligned with the Kubernetes community baseline version. We recommend using the latest version. If you do not specify this parameter, the latest version is used by default.

You can create clusters using the three most recent versions. Use the DescribeKubernetesVersionMetadata API operation to query supported cluster versions.

For more information about Kubernetes versions supported by ACK, see Overview of Kubernetes version releases.

1.32.1-aliyun.1

auto_mode

object

No

Intelligent Managed Mode configuration.

enable

boolean

No

Whether to enable Intelligent Managed Mode.

  • true: Enable.

  • false: Disable.

true

tags

array

No

Node labels. Label rules:

  • Labels consist of case-sensitive key-value pairs. You can add up to 20 tags.

  • Tag keys must be unique and up to 64 characters long. Tag values can be empty and up to 128 characters long. Neither tag keys nor tag values can start with "aliyun", "acs:", "https://", or "http://". For more information, see Labels and Selectors.

tag

No

Node labels. Label rules:

  • Labels consist of case-sensitive key-value pairs. You can add up to 20 tags.

  • Tag keys must be unique and up to 64 characters long. Tag values can be empty and up to 128 characters long. Neither tag keys nor tag values can start with "aliyun", "acs:", "https://", or "http://". For more information, see Labels and Selectors.

resource_group_id

string

No

The resource group ID to which the cluster belongs. This enables isolation of different resources.

rg-acfm3mkrure****

deletion_protection

boolean

No

Cluster deletion protection prevents accidental cluster deletion through the console or API. Valid values:

  • true: Enable deletion protection. You cannot delete the cluster through the console or API.

  • false: Disable deletion protection. You can delete the cluster through the console or API.

Default value: false.

true

zone_ids

array

No

A list of zone IDs in the cluster region. This parameter applies only to ACK managed clusters.

string

No

The zone ID in the cluster region. A vSwitch is automatically created in this zone.

When creating an ACK managed cluster, if you do not specify vpc_id and vswitch_ids, specify zone_ids to automatically create VPC network resources across multiple zones. If you specify vpc_id and vswitch_ids, this parameter is invalid.

cn-beijing-h

vpcid

string

No

The VPC used by the cluster. You must provide a VPC when creating the cluster.

vpc-2zeik9h3ahvv2zz95****

vswitch_ids

array

No

The vSwitches where cluster nodes reside. This field is required when creating a zero-node managed cluster.

string

No

The vSwitches where cluster nodes reside. This field is required when creating a zero-node managed cluster.

vsw-2ze3ds0mdip0hdz8i****

ip_stack

string

No

Cluster IP stack.

可选值: ipv4(单栈) dual(双栈),默认值为ipv4。

pod_vswitch_ids deprecated

array

No

[This field is deprecated.] When you select Terway as the network plug-in, specify the vSwitches to assign IP addresses to pods. Each pod vSwitch corresponds to a worker node vSwitch, and their zones must match.

Note

We recommend that the pod vSwitch CIDR mask not exceed /19 and must not exceed /25. Otherwise, the number of assignable pod IP addresses becomes very limited, affecting normal cluster operations.

string

No

When you select Terway as the network plug-in, specify the vSwitches to assign IP addresses to pods. Each pod vSwitch corresponds to a worker node vSwitch, and their zones must match.

Note

We recommend that the pod vSwitch CIDR mask not exceed /19 and must not exceed /25. Otherwise, the number of assignable pod IP addresses becomes very limited, affecting normal cluster operations.

vsw-2ze97jwri7cei0mpw****

container_cidr

string

No

The pod network CIDR block. It must be a valid private CIDR block: 10.0.0.0/8, 172.16.0.0/12 to 172.31.0.0/16, or 192.168.0.0/16, or their subnets. It cannot overlap with the VPC or existing Kubernetes cluster CIDR blocks in the VPC. This value cannot be modified after cluster creation.

For more information about cluster network planning, see Network planning for ACK managed clusters.

Note

This field is required for Flannel clusters.

172.20.0.0/16

service_cidr

string

No

The Service network CIDR block. Valid ranges: 10.0.0.0/16–24, 172.16.0.0/16–24 to 172.31.0.0/16–24, or 192.168.0.0/16–24. It cannot overlap with the VPC CIDR block 10.1.0.0/21 or existing Kubernetes cluster CIDR blocks in the VPC. This value cannot be modified after cluster creation.

Default value: 172.19.0.0/20.

172.21.0.0/20

security_group_id

string

No

When using an existing security group to create a cluster, specify the security group ID. This parameter and is_enterprise_security_group are mutually exclusive. Cluster nodes are automatically added to this security group.

sg-bp1bdue0qc1g7k****

is_enterprise_security_group

boolean

No

Automatically create an advanced security group. This takes effect only when security_group_id is empty.

Note

When using a basic security group, the total number of nodes and Terway pods in the cluster cannot exceed 2,000. Therefore, we recommend using an advanced security group for Terway network clusters.

  • true: Create and use an advanced security group.

  • false: Use a basic security group.

Default value: true.

true

snat_entry

boolean

No

Configure SNAT for the VPC. Valid values:

  • true: Automatically create a NAT Gateway and configure SNAT rules. Set this to true if nodes or applications in the cluster need public network access.

  • false: Do not create a NAT Gateway or SNAT rules. Nodes and applications in the cluster cannot access the public network.

Note

If you do not enable this during cluster creation but later need public network access, you can manually enable it.

Default value: false.

false

control_plane_endpoints_config

object

No

Cluster connection configuration.

internal_dns_config

object

No

Internal domain name configuration for the cluster, applicable to ACK managed clusters. The internal domain name allows node-side system components such as kubelet and kube-proxy to access the API Server. If internal domain name access is disabled, node-side system components access the API Server through the CLB IP address.

bind_vpcs

array

No

The VPCs where the internal domain name resolution takes effect.

string

No

The VPCs where the internal domain name resolution takes effect.

vpc-xxxx

endpoint_public_access

boolean

No

Whether to enable public network access. Expose the API Server through an EIP to allow public network access to the cluster.

  • true: Enable public network access.

  • false: Disable public network access. If disabled, you cannot access the cluster API Server from the public network.

Default value: false.

true

load_balancer_id

string

No

Specify the CLB instance ID for API Server access. If specified, no new API Server CLB is automatically created.

Note

Ensure the CLB instance has no dependencies (such as listeners or backend servers). Shared and public CLB instances are not supported.

lb-wz9t256gqa3vbouk****

ssh_flags

boolean

No

Whether to enable public SSH logon. This is used to log on to master nodes of ACK dedicated clusters. This parameter does not take effect for managed clusters.

  • true: Enable.

  • false: Disable.

Default value: false.

true

timezone

string

No

The time zone used by the cluster. For more information, see Supported time zones.

Asia/Shanghai

node_cidr_mask

string

No

The number of IP addresses per node, determined by the specified CIDR mask. This parameter applies only to Flannel network clusters.

Default value: 26.

25

proxy_mode

string

No

kube-proxy proxy mode

  • iptables: A mature and stable kube-proxy mode. Kubernetes Service discovery and load balancing use iptables rules. Performance is moderate and scales poorly with large numbers of Services. Suitable for clusters with few Services.

  • ipvs: A high-performance kube-proxy mode. Kubernetes Service discovery and load balancing use the Linux IPVS module. Suitable for clusters with many Services and high load balancing performance requirements.

  • nftables: A next-generation kube-proxy mode based on Linux nftables for Service discovery and load balancing. It is a modern replacement for iptables. Compared to iptables, nftables offers better network performance, faster rule updates, and superior scalability for large numbers of Services.
    Supported only for clusters running Kubernetes version 1.35 or later. The Kubernetes community deprecated IPVS starting in version 1.35. We recommend using nftables for new clusters to ensure long-term community support.

Default value: ipvs.

ipvs

controlplane_log_ttl

string

No

Number of days to retain control plane component logs.

30

controlplane_log_project

string

No

The Simple Log Service project for control plane component logs. You can use an existing project or let the system automatically create one. If auto-created, the project name is k8s-log-{ClusterID}.

k8s-log-xxx

controlplane_log_components

array

No

List of component names specifying which control plane component logs to collect.

By default, logs from kube-apiserver, kube-controller-manager, kube-scheduler, and cloud-controller-manager are collected.

string

No

List of component names specifying which control plane component logs to collect.

By default, logs from kube-apiserver, kube-controller-manager, kube-scheduler, and cloud-controller-manager are collected.

["apiserver","kcm","scheduler"]

audit_log_config

object

No

Cluster audit log configuration.

enabled

boolean

No

Whether to enable cluster audit logging.

  • true: Enable.

  • false: Disable.

true

sls_project_name

string

No

The SLS Project containing the Logstore for cluster audit logs.

  • Default value: k8s-log-{clusterid}.

  • When audit logging is enabled, a Logstore for audit logs is created in the specified SLS Project.

k8s-log-c2345xxxxxxxxxxxx

rrsa_config

object

No

RRSA feature configuration.

enabled

boolean

No

Whether to enable the RRSA feature.

  • true: Enable.

  • false: Disable.

true

cluster_domain

string

No

Cluster local domain name.

Naming rules: The domain name consists of one or more parts separated by dots (.). Each part can be up to 63 characters long and can contain lowercase letters, digits, and hyphens (-). Each part must start and end with a lowercase letter or digit.

cluster.local

encryption_provider_key

string

No

The KMS key ID used to encrypt data disks. For more information, see Key Management Service.

Note

This feature is available only for professional managed clusters (ACK Pro clusters).

0fe64791-55eb-4fc7-84c5-c6c7cdca****

service_account_issuer

string

No

A ServiceAccount is the access credential that pods use to communicate with the cluster API Server. The service-account-issuer is the issuer identity in the serviceaccount token, corresponding to the iss field in the token payload.

For more information about ServiceAccount, see Deploy service account token volume projection.

kubernetes.default.svc

api_audiences

string

No

A ServiceAccount is the access credential that pods use to communicate with the cluster API Server. The api-audiences specifies valid token identities for authenticating requests on the apiserver side. You can configure multiple audience values separated by commas (,).

For more information about ServiceAccount, see Deploy service account token volume projection.

kubernetes.default.svc

extra_sans

array

No

Custom Subject Alternative Names (SANs) for the API Server certificate.

string

No

Certificate SANs. You can specify custom IP addresses or domain names.

192.168.xx.xx

maintenance_window maintenance_window

No

Cluster maintenance window.

operation_policy

object

No

Cluster automated O&M policy.

cluster_auto_upgrade

object

No

Cluster automatic upgrade.

enabled

boolean

No

Whether to enable cluster automatic upgrade.

  • true: Enable.

  • false: Disable.

true

channel

string

No

Cluster automatic upgrade frequency. Valid values:

  • patch: Automatically upgrade to the latest patch version within the current minor version. New Kubernetes versions do not include breaking changes.

  • stable: Automatically upgrade to the latest patch version of the second-newest minor version. New Kubernetes versions may include API and feature changes but have undergone extensive stability validation.

  • rapid: Automatically upgrade to the latest patch version of the newest minor version to quickly access new Kubernetes community features.

stable

addons

array

No

List of cluster add-ons. Specify the add-ons you want to install when creating the cluster using the addons parameter.

Network add-ons: Required. Choose between Flannel and Terway:

  • Flannel network: [{"name":"flannel","config":""}].

  • Terway network: [{"name": "terway-eniip","config": ""}].

Storage add-ons: Optional. Only csi is supported:

csi: [{"name":"csi-plugin","config": ""},{"name": "csi-provisioner","config": ""}].

Logging add-ons: Optional. We recommend enabling this. Without Simple Log Service, you cannot use cluster audit features.

  • Use an existing SLS Project: [{"name": "loongcollector","config": "{"IngressDashboardEnabled":"true","sls_project_name":"your_sls_project_name"}"}].

  • Create a new SLS Project: [{"name": "loongcollector","config": "{"IngressDashboardEnabled":"true"}"}].

Ingress add-on: Optional. ACK dedicated clusters install the nginx-ingress-controller by default.

  • Install Ingress and enable public access: [{"name":"nginx-ingress-controller","config":"{"IngressSlbNetworkType":"internet"}"}].

  • Disable default Ingress installation: [{"name": "nginx-ingress-controller","config": "","disabled": true}].

Event Hub: Optional. Enabled by default.

Event Hub provides storage, querying, and alerting capabilities for Kubernetes events. The associated Logstore for Kubernetes Event Hub is free for 90 days. For more information about the free policy, see Create and use Kubernetes Event Hub.

Example to enable Event Hub: [{"name":"ack-node-problem-detector","config":"{"sls_project_name":"your_sls_project_name"}"}].

addon

No

List of cluster add-ons. Specify the add-ons you want to install when creating the cluster using the addons parameter.

nodepools

array

No

List of node pools.

nodepool

No

Node pool configuration.

user_ca

string

No

Custom cluster CA.

-----BEGIN CERTIFICATE-----****

control_plane_config

object

No

Control plane configuration for ACK dedicated clusters.

charge_type

string

No

Payment type for control plane nodes.

  • PrePaid: Subscription.

  • PostPaid: Pay-as-you-go.

Default value: PostPaid.

PostPaid

period

integer

No

Subscription duration for control plane nodes, in months. Required and valid only when charge_type is PrePaid.

Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.

Default value: 1.

1

period_unit

string

No

Time unit for the subscription duration of control plane nodes. Required and valid only when charge_type is PrePaid.

Valid value: Month. Only monthly billing cycles are supported.

Month

auto_renew

boolean

No

Whether to enable auto-renewal for control plane nodes. Valid only when charge_type is PrePaid.

  • true: Enable auto-renewal.

  • false: Disable auto-renewal.

Default value: true.

true

auto_renew_period

integer

No

Auto-renewal duration for control plane nodes, in months.

Valid values: {1, 2, 3, 6, 12}.

Default value: 1.

1

instance_types

array

No

Node instance types.

string

No

Node instance type specifications.

ecs.g6.large

image_type

string

No

Operating system image type.

AliyunLinux3

image_id

string

No

Image ID.

aliyun_3_x64_20G_alibase_20240819.vhd

key_pair

string

No

Key pair name. Mutually exclusive with login_password.

ack

login_password

string

No

SSH login password. Password rules: 8–30 characters, including at least three of the following: uppercase letters, lowercase letters, digits, and special characters. Mutually exclusive with key_pair.

********

system_disk_category

string

No

Node system disk type.

  • cloud_efficiency: Ultra disk.

  • cloud_ssd: Standard SSD.

  • cloud_essd: ESSD.

  • cloud_auto: ESSD AutoPL.

  • cloud_essd_entry: ESSD Entry.

Default value: cloud_ssd. The default value may vary by zone.

cloud_ssd

system_disk_size

integer

No

Node system disk size.

Valid range: [40,500] GiB.

Default value: 120.

120

system_disk_snapshot_policy_id

string

No

Automatic snapshot backup policy for node system disks.

sp-2zej1nogjvovnz4z****

system_disk_performance_level

string

No

Disk performance level for node system disks. Applies only to ESSD disks.

Disk performance level depends on disk size. For more information, see ESSD.

PL1

system_disk_provisioned_iops

integer

No

Provisioned read/write IOPS for node system disks.

Valid range: 0 to min{50,000, 1000 × capacity − baseline performance}. Baseline performance = min{1,800 + 50 × capacity, 50,000}.

This parameter is supported only when system_disk_category is cloud_auto.

1000

system_disk_bursting_enabled

boolean

No

Whether to enable bursting (performance burst) for node system disks.

  • true: Enable.

  • false: Disable.

This parameter is supported only when system_disk_category is cloud_auto.

true

deploymentset_id

string

No

Deployment set ID.

ds-bp10b35imuam5amw****

cloud_monitor_flags

boolean

No

Whether to install Cloud Monitor on nodes.

  • true: Install the CloudMonitor agent.

  • false: Do not install the CloudMonitor agent.

Default value: false.

false

instance_metadata_options InstanceMetadataOptions

No

ECS instance metadata access configuration.

soc_enabled

boolean

No

Whether to enable MLPS 2.0 security hardening.

  • true: Enable MLPS 2.0 security hardening.

  • false: Disable MLPS 2.0 security hardening.

Default value: false.

false

security_hardening_os

boolean

No

Whether to enable Alibaba Cloud OS security hardening.

  • true: Enable Alibaba Cloud OS security hardening.

  • false: Disable Alibaba Cloud OS security hardening.

Default value: false.

false

cpu_policy

string

No

Node CPU management policy.

  • static: Enhances CPU affinity and exclusivity for pods with specific resource characteristics on the node.

  • none: Uses the default CPU affinity scheme.

Default value: none.

none

runtime

string

No

[This field is deprecated.] Control plane node runtime name. Valid value:

containerd: Containerd runtime, supported for all cluster versions.

containerd

node_port_range

string

No

[This field is deprecated.] Node service port range.

30000-32767

size

integer

No

Number of control plane nodes.

Valid values: 3 or 5.

3

custom_san deprecated

string

No

[This field is deprecated.] Use the extra_sans parameter instead.

Custom certificate SANs. Separate multiple IP addresses or domain names with commas (,).

cs.aliyun.com

runtime deprecated runtime

No

Container runtime for the cluster. Supported runtimes include containerd, sandboxed container, and Docker.

Note

Kubernetes 1.24 no longer supports Docker as a built-in container runtime.

For more information, see Comparison of Docker, containerd, and sandboxed container runtimes.

node_name_mode deprecated

string

No

[This field is deprecated.] For node pool configuration, use the node_name_mode parameter under kubernetes_config in nodepool instead.

null

user_data deprecated

string

No

[This field is deprecated.] Custom node data.

IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFD****

image_id deprecated

string

No

[This field is deprecated.] For control plane configuration, use the image_id parameter under control_plane_config. For node pool configuration, use the image_id parameter under scaling_group in nodepool.

Custom node image. By default, the system image is used. When you select a custom image, it replaces the default system image. For more information, see Custom images.

m-bp16z7xko3vvv8gt****

rds_instances deprecated

array

No

[This field is deprecated.] For node pool configuration, use the rds_instances parameter under scaling_group in nodepool instead.

List of RDS instances to add to the whitelist. We recommend adding the pod and node CIDR blocks of your container to the RDS instance whitelist. Setting RDS instances may fail if the instances are not in the Running state.

string

No

List of RDS instances to add to the whitelist. We recommend adding the pod and node CIDR blocks of your container to the RDS instance whitelist. Setting RDS instances may fail if the instances are not in the Running state.

rm-2zev748xi27xc****

taints deprecated

array

No

[This field is deprecated.] For node pool configuration, use the taints parameter under kubernetes_config in nodepool instead.

Node taint information. Taints and tolerations work together to prevent pods from being scheduled onto unsuitable nodes. For more information, see taint-and-toleration.

taint

No

Node taint information. Taints and tolerations work together to prevent pods from being scheduled onto unsuitable nodes. For more information, see taint-and-toleration.

cloud_monitor_flags deprecated

boolean

No

[This field is deprecated.] For control plane node configuration, use the cloud_monitor_flags parameter under control_plane_config. For node pool configuration, use the cms_enabled parameter under kubernetes_config in nodepool.

Whether to install the CloudMonitor agent on the cluster. Valid values:

  • true: Install the CloudMonitor agent.

  • false: Do not install the CloudMonitor agent.

Default value: false.

false

platform deprecated

string

No

[This field is deprecated.] For node pool configuration, use the platform parameter under scaling_group in nodepool instead.

Operating system distribution. Valid values:

  • CentOS

  • AliyunLinux

  • QbootAliyunLinux

  • Qboot

  • Windows

  • WindowsCore

Default value: CentOS.

CentOS

os_type deprecated

string

No

[This field is deprecated.] For control plane node configuration, use the image_type parameter under control_plane_config. For node pool configuration, use the image_type parameter under scaling_group in nodepool.

Operating system platform type. Valid values:

  • Windows

  • Linux

Default value: Linux.

Linux

soc_enabled deprecated

boolean

No

[This field is deprecated.] For control plane node configuration, use the soc_enabled parameter under control_plane_config. For node pool configuration, use the soc_enabled parameter under scaling_group in nodepool.

MLPS 2.0 security hardening. For more information, see Instructions for using MLPS 2.0 security hardening in ACK.

Valid values:

  • true: Enable MLPS 2.0 security hardening.

  • false: Disable MLPS 2.0 security hardening.

Default value: false.

false

security_hardening_os deprecated

boolean

No

[This field is deprecated.] For control plane configuration, use the security_hardening_os parameter under control_plane_config. For node pool configuration, use the security_hardening_os parameter under scaling_group in nodepool.

Alibaba Cloud OS security hardening. Valid values:

  • true: Enable Alibaba Cloud OS security hardening.

  • false: Disable Alibaba Cloud OS security hardening.

Default value: false.

false

cis_enabled deprecated

boolean

No

[This field is deprecated.] For control plane configuration, use the security_hardening_os parameter under control_plane_config. For node pool configuration, use the security_hardening_os parameter under scaling_group in nodepool.

false

cpu_policy deprecated

string

No

[This field is deprecated.] For control plane configuration, use the cpu_policy parameter under control_plane_config. For node pool configuration, use the cpu_policy parameter under kubernetes_config in nodepool.

Node CPU management policy. For clusters running Kubernetes version 1.12.6 or later, the following policies are supported:

  • static: Enhances CPU affinity and exclusivity for pods with specific resource characteristics on the node.

  • none: Uses the default CPU affinity scheme.

Default value: none.

none

node_port_range deprecated

string

No

Node service port range. Valid range: [30000,65535].

Default value: 30000-32767.

30000~32767

master_vswitch_ids deprecated

array

No

[This field is deprecated.] Use the vswitch_ids parameter instead.

List of master node vSwitch IDs. The number of vSwitches must be in the range [1,3]. To ensure high availability, we recommend selecting three vSwitches in different zones.

The number of specified instance types must match master_count and correspond one-to-one with the elements in master_vswitch_ids.

string

No

List of master node vSwitch IDs. The number of vSwitches must be in the range [1,3]. To ensure high availability, we recommend selecting three vSwitches in different zones.

The number of specified instance types must match master_count and correspond one-to-one with the elements in master_vswitch_ids.

vsw-2ze3ds0mdip0hdz8i****

key_pair deprecated

string

No

[This field is deprecated.] For control plane configuration, use the key_pair parameter under control_plane_config. For node pool configuration, use the key_pair parameter under scaling_group in nodepool.

Key pair name. Mutually exclusive with login_password.

security-key

login_password deprecated

string

No

[This field is deprecated.] For control plane configuration, use the login_password parameter under control_plane_config. For node pool configuration, use the login_password parameter under scaling_group in nodepool.

SSH login password. Mutually exclusive with key_pair . Password rules: 8–30 characters, including at least three of the following: uppercase letters, lowercase letters, digits, and special characters.

null

master_count deprecated

integer

No

[This field is deprecated.] For control plane configuration, use the size parameter under control_plane_config instead.

Number of master nodes. Valid values: 3 or 5.

Default value: 3.

3

master_instance_types deprecated

array

No

[This field is deprecated.] For control plane configuration, use the instance_types parameter under control_plane_config instead.

Master node instance types. For more information, see Instance families.

string

No

Master node instance types. The number of specified instance types must match master_count and correspond one-to-one with the elements in master_instance_types. For more information, see Instance families.

ecs.n4.xlarge

master_system_disk_category deprecated

string

No

[This field is deprecated.] For control plane configuration, use the system_disk_category parameter under control_plane_config instead.

Master node system disk type. Valid values:

  • cloud_efficiency: Ultra disk.

  • cloud_ssd: Standard SSD.

  • cloud_essd: ESSD.

Default value: cloud_ssd. The default value may vary by zone.

cloud_ssd

master_system_disk_size deprecated

integer

No

[This field is deprecated.] For control plane configuration, use the system_disk_size parameter under control_plane_config instead.

Master node system disk size. Valid range: [40,500] GiB.

Default value: 120.

120

master_system_disk_performance_level deprecated

string

No

[This field is deprecated.] For control plane configuration, use the system_disk_performance_level parameter under control_plane_config instead.

Performance level of the master node system disk. Applies only to ESSD disks. Disk performance level depends on disk size. For more information, see ESSD.

PL1

master_system_disk_snapshot_policy_id deprecated

string

No

[This field is deprecated.] For control plane configuration, use the system_disk_snapshot_policy_id parameter under control_plane_config instead.

ID of the automatic snapshot policy for the master node system disk.

sp-2zej1nogjvovnz4z****

master_instance_charge_type deprecated

string

No

[This field is deprecated.] For control plane configuration, use the instance_charge_type parameter under control_plane_config instead.

Master node payment type. Valid values:

  • PrePaid: Subscription.

  • PostPaid: Pay-as-you-go.

Default value: PostPaid.

PrePaid

master_period_unit deprecated

string

No

[This field is deprecated.] For control plane configuration, use the period_unit parameter under control_plane_config instead.

Master node billing cycle. Required when the payment type is PrePaid.

Valid value: Month. Only monthly billing cycles are supported.

Month

master_period deprecated

integer

No

[This field is deprecated.] For control plane configuration, use the unit parameter under control_plane_config instead.

Subscription duration for master nodes, in months. Required and valid only when master_instance_charge_type is PrePaid.

Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.

Default value: 1.

1

master_auto_renew deprecated

boolean

No

[This field is deprecated.] For control plane configuration, use the auto_renew parameter under control_plane_config instead.

Whether to enable auto-renewal for master nodes. Valid only when master_instance_charge_type is PrePaid. Valid values:

  • true: Enable auto-renewal.

  • false: Disable auto-renewal.

Default value: true.

true

master_auto_renew_period deprecated

integer

No

[This field is deprecated.] For control plane configuration, use the auto_renew_period parameter under control_plane_config instead.

Auto-renewal period for master nodes, in months. Required and valid only when the payment type is subscription.

Valid values: {1, 2, 3, 6, 12}.

Default value: 1.

1

num_of_nodes deprecated

integer

No

[This field is deprecated.] For node pool configuration, use the desired_size parameter under scaling_group in nodepool instead.

Number of worker nodes. Range: [0, 100].

3

worker_vswitch_ids deprecated

array

No

[This field is deprecated.] For node pool configuration, use the vswitch_ids parameter under scaling_group in nodepool instead.

List of vSwitches used by cluster nodes. One node corresponds to one value.

When creating a zero-node managed cluster, worker_vswitch_ids is optional, but you must provide vswitch_ids.

string

No

List of worker node vSwitches. Valid range: [1,20]. To ensure high availability, we recommend selecting vSwitches in different zones.

When creating a zero-node managed cluster, worker_vswitch_ids is optional, but you must provide vswitch_ids.

vsw-2ze3ds0mdip0hdz8i****

worker_instance_types deprecated

array

No

[This field is deprecated.] For node pool configuration, use the instance_types parameter under scaling_group in nodepool instead.

Worker node instance configuration.

string

No

Worker node instance types. You must specify at least one instance type. For more information, see Instance families.

Note

Instance type priority decreases in the order they appear in the list. If an instance cannot be created using a higher-priority instance type, the system automatically tries the next lower-priority instance type.

ecs.n4.large

worker_system_disk_category deprecated

string

No

[This field is deprecated.] For node pool configuration, use the system_disk_category parameter under scaling_group in nodepool instead.

Worker node system disk type. For more information, see Overview of Elastic Block Storage.

Valid values:

  • cloud_efficiency: Ultra disk.

  • cloud_ssd: Standard SSD.

Default value: cloud_ssd.

cloud_efficiency

worker_system_disk_size deprecated

integer

No

[This field is deprecated.] For node pool configuration, use the system_disk_size parameter under scaling_group in nodepool instead.

Worker node system disk size, in GiB.

Valid range: [40,500].

This value must be greater than or equal to max{40, ImageSize}.

Default value: 120.

120

worker_system_disk_snapshot_policy_id deprecated

string

No

[This field is deprecated.] For node pool configuration, use the system_disk_snapshot_policy_id parameter under scaling_group in nodepool instead.

ID of the automatic snapshot policy for the worker node system disk.

sp-2zej1nogjvovnz4z****

worker_system_disk_performance_level deprecated

string

No

[This field is deprecated.] For node pool configuration, use the system_disk_performance_level parameter under scaling_group in nodepool instead.

When the system disk is an ESSD, you can set the performance level (PL). For more information, see ESSD.

Valid values:

  • PL0

  • PL1

  • PL2

  • PL3

PL1

worker_data_disks deprecated

array<object>

No

[This field is deprecated.] For node pool configuration, use the data_disks parameter under scaling_group in nodepool instead.

Configuration of worker node data disk types, sizes, and other settings.

object

No

Data disk configuration set.

category

string

Yes

Data disk type.

cloud_essd

encrypted

string

No

Whether to encrypt the data disk. Valid values:

  • true: Encrypt the data disk.

  • false: Do not encrypt the data disk.

Default value: false.

true

size

string

Yes

Data disk size. Valid range: 40–32767 GiB.

120

performance_level

string

No

Performance level of the node data disk. Applies only to ESSD.

PL1

worker_instance_charge_type deprecated

string

No

[This field is deprecated.] For node pool configuration, use the instance_charge_type parameter under scaling_group in nodepool instead.

Worker node payment type. Valid values:

  • PrePaid: Subscription.

  • PostPaid: Pay-as-you-go.

Default value: Pay-as-you-go.

PrePaid

worker_period_unit deprecated

string

No

[This field is deprecated.] For node pool configuration, use the period_unit parameter under scaling_group in nodepool instead.

Worker node billing cycle. Required when the payment type is PrePaid.

Valid value: Month. Only monthly billing cycles are supported.

Month

worker_period deprecated

integer

No

[This field is deprecated.] For node pool configuration, use the period parameter under scaling_group in nodepool instead.

Subscription duration for worker nodes, in months. Required and valid only when worker_instance_charge_type is PrePaid.

Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.

Default value: 1.

1

worker_auto_renew deprecated

boolean

No

[This field is deprecated.] For node pool configuration, use the auto_renew parameter under scaling_group in nodepool instead.

Whether to enable auto-renewal for worker nodes. Valid only when worker_instance_charge_type is PrePaid. Valid values:

  • true: Enable auto-renewal.

  • false: Disable auto-renewal.

Default value: true.

true

worker_auto_renew_period deprecated

integer

No

[This field is deprecated.] For node pool configuration, use the auto_renew_period parameter under scaling_group in nodepool instead.

Auto-renewal period for worker nodes, in months. Required and valid only when the payment type is subscription.

Valid values: {1, 2, 3, 6, 12}.

1

instances deprecated

array

No

[This field is deprecated.] Creating a cluster does not support selecting existing nodes. To add existing nodes to a cluster, first create a node pool and then call the AttachInstancesToNodePool API operation.

When using existing nodes to create a cluster, specify the ECS instance list. These instances are added to the cluster as worker nodes.

Note

This field is required when using existing instances to create a cluster.

string

No

When using existing nodes to create a cluster, specify the ECS instance list. These instances are added to the cluster as worker nodes.

Note

This field is required when using existing instances to create a cluster.

i-2ze4zxnm36vq00xn****

format_disk deprecated

boolean

No

[This field is deprecated.] Creating a cluster does not support selecting existing nodes. To add existing nodes to a cluster, first create a node pool and then call the AttachInstancesToNodePool API operation.

When using existing instances to create a cluster, whether to mount data disks. Valid values:

  • true: Store containers and images on the data disk. Existing data on the data disk is lost. Back up your data.

  • false: Do not store containers and images on the data disk.

Default value: false.

Data disk mounting rules:

  • If the ECS instance has a mounted data disk and the file system of the last data disk is uninitialized, the system automatically formats the disk as ext4 to store /var/lib/docker and /var/lib/kubelet.

  • If the ECS instance has no mounted data disks, no new data disks are mounted.

false

keep_instance_name deprecated

boolean

No

[This field is deprecated.] Creating a cluster does not support selecting existing nodes. To add existing nodes to a cluster, first create a node pool and then call the AttachInstancesToNodePool API operation.

When using existing instances to create a cluster, whether to keep the instance names.

  • true: Keep.

  • false: Replace with system-generated names.

Default value: true.

true

service_discovery_types deprecated

array

No

[This field is deprecated.] Service discovery types within the cluster, used to specify the service discovery method for ACK Serverless clusters.

  • CoreDNS: Uses CoreDNS, the standard Kubernetes-native service discovery component. Requires deploying a set of containers for DNS resolution. By default, two ECI instances with 0.25 vCPU and 512 MiB memory are used.

  • PrivateZone: Uses Alibaba Cloud PrivateZone for service discovery. Requires enabling the PrivateZone service.

Default value: Disabled.

string

No

Service discovery types within the cluster, used to specify the service discovery method for ACK Serverless clusters.

  • CoreDNS: Uses CoreDNS, the standard Kubernetes-native service discovery component. Requires deploying a set of containers for DNS resolution. By default, two ECI instances with 0.25 vCPU and 512 MiB memory are used.

  • PrivateZone: Uses Alibaba Cloud PrivateZone for service discovery. Requires enabling the PrivateZone service.

Default value: Disabled.

PrivateZone

nat_gateway deprecated

boolean

No

[This field is deprecated.] Use the snat_entry parameter instead.

true

zone_id deprecated

string

No

[This field is deprecated.] Use the zone_ids parameter instead.

The zone ID in the cluster region. This parameter applies only to ACK managed clusters.

When creating an ACK managed cluster, if you do not specify vpc_id and vswitch_ids, you must specify zone_id to automatically create VPC network resources in this zone. If you specify vpc_id and vswitch_ids, this parameter is invalid.

cn-beiji****

logging_type deprecated

string

No

[This field is deprecated.] Enables Simple Log Service for the cluster. Applies only to ACK Serverless clusters and must be set to SLS.

SLS

disable_rollback deprecated

boolean

No

[This field is deprecated.] By default, clusters are not rolled back on creation failure. You must manually clean up failed clusters.

Whether to roll back when cluster creation fails. Valid values:

  • true: Roll back when cluster creation fails.

  • false: Do not roll back when cluster creation fails.

Default value: true.

true

timeout_mins deprecated

integer

No

[This field is deprecated.] By default, clusters are not rolled back on creation failure. You must manually clean up failed clusters.

Cluster creation timeout, in minutes.

Default value: 60.

60

image_type deprecated

string

No

[This field is deprecated.] For control plane configuration, use the image_type parameter under control_plane_config. For node pool configuration, use the image_type parameter under scaling_group in nodepool.

Operating system distribution type. We recommend using this parameter to specify the node operating system. Valid values:

  • CentOS

  • AliyunLinux

  • AliyunLinux Qboot

  • AliyunLinuxUEFI

  • AliyunLinux3

  • Windows

  • WindowsCore

  • AliyunLinux3Arm64

  • ContainerOS

Default value: CentOS.

AliyunLinux

load_balancer_spec deprecated

string

No

[This parameter is deprecated.] CLB is billed based on usage. This parameter has no effect.

Load Balancer specification. Valid values:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

Default value: slb.s2.small.

slb.s2.small

enable_rrsa deprecated

boolean

No

[This field is deprecated.] Use the rrsa_config parameter instead.

Whether to enable the RRSA feature.

  • true: Enable.

  • false: Disable.

false

charge_type deprecated

string

No

[This field is deprecated.]

Payment type for the CLB instance used by the API Server. Default value: PostPaid. Valid values:

  • PostPaid: Pay-as-you-go.

  • PrePaid: Subscription. New CLB instances no longer support subscription billing, but existing instances are unaffected.

Important

For details, see [Product Announcement] Discontinuation of Subscription Billing for API Server CLB in New Clusters and Adjustment Announcement for Classic Load Balancer Billing Items.

PostPaid

period_unit deprecated

string

No

[This field is deprecated.]

Billing cycle. Required when the payment type is PrePaid.

Valid value: Month. Only monthly billing cycles are supported.

This parameter changed on October 15, 2024. For more information, see Announcement on Changes to CreateCluster API Parameters.

Month

period deprecated

integer

No

[This field is deprecated.]

Subscription duration. Required and valid only when charge_type is PrePaid.

Valid values: {1, 2, 3, 6, 12, 24, 36, 48, 60}.

Default value: 1.

This parameter changed on October 15, 2024. For more information, see Announcement on Changes to CreateCluster API Parameters.

1

auto_renew deprecated

boolean

No

[This field is deprecated.]

Whether to enable auto-renewal. Valid only when charge_type is PrePaid. Valid values:

  • true: Enable auto-renewal.

  • false: Disable auto-renewal.

Default value: false.

This parameter changed on October 15, 2024. For more information, see Announcement on Changes to CreateCluster API Parameters.

true

auto_renew_period deprecated

integer

No

[This field is deprecated.]

Auto-renewal period. Valid only when prepaid and auto-renewal are enabled. When PeriodUnit=Month, valid values are {1, 2, 3, 6, 12}.

Default value: 1.

This parameter changed on October 15, 2024. For more information, see Announcement on Changes to CreateCluster API Parameters.

1

access_control_list deprecated

array

No

[This field is deprecated.] Access control list for the registered cluster API Server SLB.

string

No

Access control list for the registered cluster API Server SLB.

192.168.XX.XX/24

Response elements

Element

Type

Description

Example

object

Response body.

cluster_id

string

Cluster ID.

cb95aa626a47740afbf6aa099b650****

request_id

string

Request ID.

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

task_id

string

Task ID.

T-5a54309c80282e39ea****

Examples

Success response

JSON format

{
  "cluster_id": "cb95aa626a47740afbf6aa099b650****",
  "request_id": "687C5BAA-D103-4993-884B-C35E4314****",
  "task_id": "T-5a54309c80282e39ea****"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.