调用CreateCluster创建一个新的ACK Serverless集群实例。
请求语法
POST /clusters HTTP/1.1
Content-Type:application/json
{
"cluster_type" : "String",
"profile": "String",
"cluster_spec" : "String",
"name" : "String",
"kubernetes_version" : "String",
"private_zone" : Boolean,
"region_id" : "String",
"endpoint_public_access" : Boolean,
"service_discovery_types" : [ "String" ],
"zoneid" : "String",
"logging_type" : "String",
"tags" : [ {
"key" : "String",
"value" : "String"
} ],
"deletion_protection" : Boolean,
"service_cidr" : "String",
"timezone" : "String",
"addons" : [ {
"name" : "String",
"config" : "String",
"disabled" : Boolean
} ],
"snat_entry" : Boolean,
"vpcid" : "String",
"vswitch_ids" : [ "String" ],
"security_group_id" : "String"
}
请求参数
表 1. 请求Body参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
cluster_type | String | 是 | ManagedKubernetes | 集群类型。可选值为ManagedKubernetes,同时profile配置为 |
profile | String | 是 | Serverless | 集群标识。参数cluster_type取值为 |
cluster_spec | String | 否 | ack.pro.small | ACK Serverless集群类型。取值:
默认值: 更多信息,请参见ACK Serverless Pro版集群概述。 |
name | String | 是 | cluster-demo | 集群名称。 命名规则:由数字、汉字、英文字符或短划线(-)组成,长度范围1~63个字符,且不能以短划线(-)开头。 |
kubernetes_version | String | 否 | 1.30.1-aliyun.1 | 集群版本,与Kubernetes社区基线版本保持一致。建议选择最新版本,若不指定,默认使用最新版本。 目前您可以在ACK控制台创建两种最新版本的集群。您可以通过API创建其他Kubernetes版本集群。关于ACK支持的Kubernetes版本,请参见Kubernetes版本概览及机制。 |
private_zone | Boolean | 否 | false | 是否开启ACK Serverless集群的PrivateZone用于服务发现。取值:
|
region_id | String | 是 | cn-beijing | 集群所在地域ID。 |
endpoint_public_access | Boolean | 否 | true | 是否开启公网API Server。取值:
默认值: |
service_discovery_types | Array of String | 否 | PrivateZone | 集群内服务发现类型,用于指定服务发现方式。
默认值:不开启。 |
zoneid | String | 否 | cn-beiji**** | 集群所属地域的可用区ID。 重要 如果不指定 |
logging_type | String | 否 | SLS | 集群开启日志服务,只针对ACK Serverless集群生效,且取值必须是 |
tags | Array of tag | 否 | [{"key": "env", "value": "prod"}] | 给集群打tag标签。包含以下信息:
|
deletion_protection | Boolean | 否 | true | 集群是否开启集群删除保护,防止通过控制台或API误删除集群。取值:
默认值: |
service_cidr | String | 否 | 172.21.0.0/20 | Service网络地址段,可选范围:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24 不能与VPC网段10.1.0.0/21及VPC内已有Kubernetes集群使用的网段重复,创建成功后无法修改。 默认使用172.19.0.0/20网段。 |
timezone | String | 否 | Asia/Shanghai | 集群使用的时区。更多信息,请参见支持时区。 |
addons | Array of addon | 否 | [{"name":"logtail-ds","config":"{\"sls_project_name\":\"your_sls_project_name\"}"}] | Kubernetes集群安装的组件列表。组件的结构包括:
网络组件:必选,包含Flannel和Terway两种网络类型,创建集群时二选一:
存储组件:可选,仅支持
日志组件:可选。 说明 如果不开启日志服务,将无法使用集群审计功能。
Ingress组件:可选,ACK专有版集群默认安装Ingress组件nginx-ingress-controller。
事件中心:可选,默认开启。事件中心提供对Kubernetes事件的存储、查询、告警等能力。Kubernetes事件中心关联的Logstore在90天内免费。关于免费策略的更多信息,请参见创建并使用K8s事件中心。 开启事件中心:[{"name":"ack-node-problem-detector","config":"{\"sls_project_name\":\" your_sls_project_name\"}"}]。 |
snat_entry | Boolean | 否 | true | 创建ACK Serverless集群时,是否在VPC中创建NAT网关并配置SNAT规则。取值:
默认值: |
vpcid | String | 否 | vpc-2zeik9h3ahvv2zz95**** | 集群使用的专有网络,创建集群时必须为集群提供。 说明
|
vswitch_ids | Array of String | 否 | ["vsw-2ze97jwri7cei0mpw****"] | 交换机ID。List长度范围为[1,3]。 |
security_group_id | String | 否 | sg-bp1bdue0qc1g7k**** | 使用已有安全组创建集群时需要指定安全组ID,和 |
resource_group_id | String | 否 | rg-acfm3mkrure**** | 集群所属资源组ID,实现不同资源的隔离。 |
响应体语法
HTTP/1.1 200
Content-Type:application/json
{
"cluster_id" : "String",
"request_id" : "String",
"task_id" : "String"
}
响应参数
表 2. 响应Body参数
名称 | 类型 | 示例值 | 描述 |
cluster_id | String | cb95aa626a47740afbf6aa099b650**** | 集群ID。 |
request_id | String | 687C5BAA-D103-4993-884B-C35E4314A1E1 | 请求ID。 |
task_id | String | T-5a54309c80282e39ea00002f | 任务ID。 |
示例1 使用自动创建VPC方式创建ACK Serverless集群基础版
请求示例
POST /clusters HTTP/1.1
<公共请求头>
{
"cluster_type":"ManagedKubernetes",
"profile":"Serverless",
"cluster_spec":"ack.standard",
"name":"test-ask",
"region_id":"cn-hangzhou",
"endpoint_public_access":false,
"logging_type" : "SLS",
"private_zone":false,
"snat_entry":true,
"tags":[
{
"key":"k-aa",
"value":"v-aa"
}
],
"deletion_protection":false,
"addons":[
{
"name":"logtail-ds"
}
],
"zoneid":"cn-hangzhou-i"
}
返回示例
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f",
}
示例2 使用已有VPC方式创建ACK Serverless集群Pro版
请求示例
POST /clusters HTTP/1.1
<公共请求头>
{
"cluster_type":"ManagedKubernetes",
"profile":"Serverless",
"cluster_spec":"ack.pro.small",
"name":"ask-cluster",
"region_id":"cn-shenzhen",
"endpoint_public_access":true,
"logging_type": "SLS",
"private_zone":true,
"tags":[
{
"key":"tier",
"value":"frontend"
}
],
"deletion_protection":true,
"addons":[
{
"name":"logtail-ds"
}
],
"vpcid":"vpc-wz984yvbd6lck22z3****",
"vswitch_ids":[
"vsw-wz9uwxhawmtzg7u9h****"
],
"security_group_id":"sg-wz9b86l4s7nthi1k****"
}
返回示例
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f",
}
错误码
访问错误中心查看更多错误码。
开发者资源
阿里云为您提供多种语言的SDK,帮助您快速通过API集成阿里云的产品和服务,推荐您使用SDK调用API,以免除您手动签名验证,详情请参见SDK参考文档链接。
快速检索,可视化调试API,在线命令行工具,同步动态生成可执行的SDK代码示例。
阿里云资产管理和配置工具,可通过命令方式同时管理多个阿里云产品和服务,简单快捷,是您上云好帮手。