Creates an ACK Edge cluster by calling the CreateCluster operation.
Debugging
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 |
| 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.