All Products
Search
Document Center

Container Service for Kubernetes:Create an ACK Edge cluster by using OpenAPI

Last Updated:Mar 26, 2026

Creates an ACK Edge cluster by calling the CreateCluster operation.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates sample code for different SDKs.

Request syntax

POST /clusters HTTP/1.1
Content-Type:application/json
{
  "name" : "String",
  "cluster_type" : "String",
  "disable_rollback" : Boolean,
  "timeout_mins" : Long,
  "kubernetes_version" : "String",
  "runtime" : {
    "name" : "String",
    "version" : "String"
  },
  "region_id" : "String",
  "key_pair" : "String",
  "login_password" : "String",
  "num_of_nodes" : Long,
  "profile" : "String",
  "logging_type" : "String",
  "snat_entry" : Boolean,
  "vswitch_ids" : [ "String" ],
  "worker_system_disk_category" : "String",
  "worker_system_disk_size" : Long,
  "container_cidr" : "String",
  "cloud_monitor_flags" : Boolean,
  "endpoint_public_access" : Boolean,
  "service_cidr" : "String",
  "addons" : [ {
    "name" : "String",
    "config" : "String",
    "disabled" : Boolean
  } ],
  "tags" : [ {
    "key" : "String",
    "value" : "String"
  } ],
  "vpcid" : "String",
  "worker_data_disks" : [ {
    "category" : "String",
    "size" : Long,
    "encrypted" : "String",
    "auto_snapshot_policy_id" : "String"
  } ],
  "deletion_protection" : Boolean,
  "node_cidr_mask" : "String",
  "worker_instance_types" : [ "String" ],
  "worker_instance_charge_type" : "String",
  "security_group_id" : "String",
  "is_enterprise_security_group" : Boolean,
  "rds_instances" : [ "String" ]
}

Request parameters

Table 1. Request body parameters

Parameter Type Required Example Description
name String Yes demo-edge-cluster The name of the cluster. The name must be 1 to 63 characters in length and can contain digits, letters, and hyphens (-). The name cannot start with a hyphen (-).
cluster_type String Yes ManagedKubernetes The type of the cluster. Set this parameter to ManagedKubernetes to create an ACK Edge cluster.
disable_rollback Boolean No true Deprecated. Specifies whether to perform a rollback when the cluster fails to be created. Valid values: true (performs a rollback) and false (does not perform a rollback). Default value: false.
timeout_mins Long No 60 Deprecated. The timeout period for resource creation. Unit: minutes. Default value: 60.
kubernetes_version String No 1.30.1-aliyun.1 The Kubernetes version of the cluster. The Kubernetes versions supported by ACK are the same as those supported by open-source Kubernetes. If this parameter is not set, the latest Kubernetes version is used. You can create clusters of the latest three Kubernetes versions in the ACK console, or create clusters of earlier versions by calling API operations. For more information, see Support for Kubernetes versions.
runtime Array of runtime No {"name": "containerd", "version": "1.6.20"} The container runtime. Supported runtimes are containerd and docker. This parameter includes: name (the name of the container runtime) and version (the version of the container runtime).
region_id String Yes cn-beijing The region ID of the cluster.
key_pair String Yes demo-key Deprecated. The name of the key pair. Set this parameter or login_password.
login_password String Yes HelloWorld123 Deprecated. The password for SSH logon. Set this parameter or key_pair. 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.
num_of_nodes Long Yes 1 Deprecated. The number of worker nodes. Valid values: 0 to 100.
profile String Yes Edge Identifies the cluster as an ACK Edge cluster. Default value: Edge.
logging_type String No SLS Specifies whether to enable Simple Log Service for the cluster. Set this parameter to SLS to enable Simple Log Service. This parameter takes effect only for ACK Serverless clusters.
snat_entry Boolean No true Specifies whether to configure SNAT rules for the virtual private cloud (VPC) in which the cluster is deployed. If the VPC can access the Internet, set this parameter to false. If the VPC does not provide Internet access, valid values are: true (configures SNAT rules to enable Internet access from the VPC) and false (does not configure SNAT rules, leaving the cluster without Internet access). If applications in the cluster need Internet access, set this parameter to true. Default value: false.
vswitch_ids Array of String Yes vsw-2ze48rkq464rsdts1\*\*\*\* The IDs of vSwitches. Specify one to three vSwitches.
worker_system_disk_category String Yes cloud_efficiency Deprecated. The system disk type for worker nodes. Valid values: cloud_efficiency (ultra disk) and cloud_ssd (standard SSD). Default value: cloud_ssd.
worker_system_disk_size Long Yes 100 Deprecated. The size of the system disk for worker nodes. Unit: GiB. Valid values: 40 to 500. The value must be at least 40 and no less than the image size. Default value: 120.
container_cidr String No 172.20.0.0 The CIDR block of pods. This CIDR block cannot overlap with the CIDR block of the VPC. If the VPC is automatically created by the system, the default pod CIDR block is 172.16.0.0/16.
Important

This parameter is required if the cluster uses Flannel as the network plug-in, and optional if the cluster uses Terway.

cloud_monitor_flags Boolean No true Deprecated. Specifies whether to install the CloudMonitor agent. Valid values: true (installs the agent) and false (does not install the agent). Default value: false.
endpoint_public_access Boolean No true Specifies whether to enable Internet access for the API server. Valid values: true (enables Internet access) and false (disables Internet access; the API server is accessible only within the internal network). Default value: true.
Important

In ACK Edge clusters, edge nodes communicate with the control plane over the Internet. Enable Internet access for the API server when creating an ACK Edge cluster.

service_cidr String Yes 172.21.0.0 The CIDR block of Services. This CIDR block cannot overlap with the pod CIDR block or the VPC CIDR block. If the VPC is automatically created by the system, the default Service CIDR block is 172.19.0.0/20.
addons Array of addon No \[{"name":"flannel","config":""},{"name":"logtail-ds-docker","config":""},{"name":"alibaba-log-controller","config":"{\"IngressDashboardEnabled\":\"false\"}"}\] The components to install in the cluster. Parameters: name (required; the component name), config (optional; leave blank if no configuration is needed), and disabled (optional; specifies whether to disable automatic installation). Network plug-in (required): Flannel or Terway. Specify Flannel as [{"name":"flannel","config":""}]. Specify Terway as [{"name":"terway-eniip","config":""}]. Volume plug-in (optional): Container Storage Interface (CSI). Specify CSI as [{"name":"csi-plugin","config":""},{"name":"csi-provisioner","config":""}]. Log Service component (optional): If Simple Log Service is disabled, the cluster auditing feature is unavailable. To use an existing project: [{"name":"logtail-ds","config":"{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}]. To create a new project: [{"name":"logtail-ds","config":"{\"IngressDashboardEnabled\":\"true\"}"}]. Ingress controller (optional): By default, nginx-ingress-controller is installed in ACK dedicated clusters. To install nginx-ingress-controller with Internet access: [{"name":"nginx-ingress-controller","config":"{\"IngressSlbNetworkType\":\"internet\"}"}]. To skip installation: [{"name":"nginx-ingress-controller","config":"","disabled":true}]. Event center (optional): Enabled by default. To enable the event center: [{"name":"ack-node-problem-detector","config":"{\"sls_project_name\":\"your_sls_project_name\"}"}]. For more information, see Create and use an event center.
tags Array of tag No \[{"key":"env","value":"prod"}\] The labels to add to the cluster. key: the label key. value: the label value.
vpcid String Yes vpc-2zeik9h3ahvv2zz95\*\*\*\* The ID of the VPC in which to deploy the cluster. A VPC is required when creating a cluster.
Note

Leave both vpc_id and vswitch_ids blank, or make sure the vSwitches specified by vswitch_ids belong to the VPC specified by vpc_id.

worker_data_disks Array of data_disk No Deprecated. The data disk configuration for worker nodes, including disk type and size.
deletion_protection Boolean No true Specifies whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted from the ACK console or by calling API operations. Valid values: true (enables deletion protection) and false (disables deletion protection). Default value: false.
node_cidr_mask String No 25 The maximum number of IP addresses assignable to each node, determined by the pod CIDR block. This parameter takes effect only when the cluster uses the Flannel plug-in. Default value: 25.
worker_instance_types Array of String Yes ecs.n4.large Deprecated. The Elastic Compute Service (ECS) instance types for worker nodes. Specify at least one instance type. The types are listed in descending priority order; if the system cannot create nodes with the highest-priority type, it attempts the next type. For more information, see Overview of instance families.
worker_instance_charge_type String Yes PrePaid Deprecated. The billing method of worker nodes. Valid values: PrePaid (subscription) and PostPaid (pay-as-you-go). Default value: PostPaid.
security_group_id String No sg-bp1bdue0qc1g7k\*\*\*\* The ID of an existing security group for the cluster. Set this parameter or is_enterprise_security_group. Nodes in the cluster are automatically added to the specified security group.
is_enterprise_security_group Boolean No true Specifies whether to create an advanced security group. This parameter takes effect only when security_group_id is not set. Valid values: true (creates an advanced security group) and false (does not create one). Default value: true.
Note

To use a basic security group, make sure the total number of nodes and Terway pods does not exceed 2,000. For clusters using the Terway network plug-in, use an advanced security group.

rds_instances rds_instances No rm-2zev748xi27xc\*\*\*\* Deprecated. The names of the ApsaraDB RDS instances.
cluster_spec String No ack.pro.small The type of ACK managed cluster. Valid values: ack.pro.small (ACK Edge Pro cluster) and ack.standard (ACK Edge Basic cluster). Default value: ack.standard. If this parameter is not set, an ACK Edge Basic cluster is created. For more information, see the introduction to ACK Edge Pro clusters.
resource_group_id String No rg-acfm3mkrure\*\*\*\* The ID of the resource group to which the cluster belongs. Use this parameter to isolate clusters across different resource groups.

Response syntax

HTTP/1.1 200
Content-Type:application/json
{
  "cluster_id" : "String",
  "request_id" : "String",
  "task_id" : "String"
}

Response parameters

Table 2. Response body parameters

Parameter Type Example Description
cluster_id String cb95aa626a47740afbf6aa099b650\*\*\*\* The cluster ID.
request_id String 687C5BAA-D103-4993-884B-C35E4314A1E1 The request ID.
task_id String T-5a54309c80282e39ea00002f The task ID.

Examples

Sample requests

POST /clusters
<Common request headers>
{
    "name":"ACK Edge cluster",
    "cluster_type":"ManagedKubernetes",
    "disable_rollback":true,
    "timeout_mins":60,
    "kubernetes_version":"1.14.8-aliyunedge.1",
    "region_id":"cn-zhangjiakou",
    "snat_entry":true,
    "cloud_monitor_flags":true,
    "endpoint_public_access":true,
    "deletion_protection":true,
    "node_cidr_mask":"25",
    "tags":[
        {
            "key":"tag-k",
            "value":"tag-v"
        }
    ],
    "addons":[
        {
            "name":"logtail-ds-docker"
        },
        {
            "name":"alibaba-log-controller",
            "config":"{\"IngressDashboardEnabled\":\"false\"}"
        },
        {
            "name":"flannel"
        },
        {
            "name":"alicloud-monitor-controller"
        }
    ],
    "profile":"Edge",            // Specifies that the cluster is an ACK Edge cluster.
    "logging_type" : "SLS",
    "worker_instance_types":[
        "ecs.hfc6.large"
    ],
    "runtime":{                       // The configuration of the container runtime.
        "name":"containerd",              // The name of the container runtime.
        "version":"1.6.20"          // The version of the container runtime.
    },
    "num_of_nodes":1,
    "worker_system_disk_category":"cloud_ssd",
    "worker_system_disk_size":40,
    "worker_data_disks":[
        {
            "category":"cloud_efficiency",
            "size":"40",
            "encrypted":"false",
            "auto_snapshot_policy_id":"",
        }
    ],
    "worker_instance_charge_type":"PostPaid",
    "vpcid":"vpc-8vb435kr467tnfj42****",
    "container_cidr":"172.20.0.0/16",
    "service_cidr":"172.21.0.0/20",
    "vswitch_ids":[
        "vsw-8vbhdhn461i65p32g****"
    ],
    "login_password":"Hello1234",
    "key_pair": "sin-name",
    "security_group_id":"sg-8vb7grbyvlb10j0i****",
    "is_enterprise_security_group":true,
    "rds_instances": ["rm-xx","rm-xx"]
}

Sample success responses

XML format

<cluster_id>cb95aa626a47740afbf6aa099b650****</cluster_id>
<task_id>T-5a54309c80282e39ea00002f</task_id>
<request_id>687C5BAA-D103-4993-884B-C35E4314A1E1</request_id>

JSON format

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

Error codes

For more information about error codes, see the Error Center.

For a list of error codes, see Service error codes.