调用CreateCluster创建一个标准Kubernetes专有版集群。如需创建Worker节点,请参见创建节点池。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求语法
POST /clusters HTTP/1.1
Content-Type:application/json
{
"name" : "String",
"region_id" : "String",
"cluster_type" : "String",
"kubernetes_version" : "String",
"runtime" : {
"name" : "String",
"version" : "String",
},
"resource_group_id" : "String",
"vpcid" : "String",
"pod_vswitch_ids" : [ "String" ],
"container_cidr" : "String",
"service_cidr" : "String",
"node_cidr_mask" : "String",
"security_group_id" : "String",
"is_enterprise_security_group" : Boolean,
"snat_entry" : Boolean,
"endpoint_public_access" : Boolean,
"load_balancer_spec" : "String",
"ssh_flags" : Boolean,
"timezone" : "String",
"proxy_mode" : "String",
"enable_rrsa" : Boolean,
"tags" : [ {
"key" : "String",
"value" : "String"
} ],
"cluster_domain" : "String",
"custom_san" : "String",
"service_account_issuer" : "String",
"api_audiences" : "String",
"disable_rollback" : Boolean,
"timeout_mins" : Long,
"deletion_protection" : Boolean,
"node_name_mode" : "String",
"keep_instance_name" : Boolean,
"rds_instances" : [ "String" ],
"master_count" : Long,
"image_type" : "String",
"image_id" : "String",
"os_type" : "String",
"master_vswitch_ids" : [ "String" ],
"master_instance_types" : [ "String" ],
"master_system_disk_category" : "String",
"master_system_disk_size" : Long,
"master_system_disk_performance_level" : "String",
"master_system_disk_snapshot_policy_id" : "String",
"master_instance_charge_type" : "String",
"master_period_unit" : "String",
"master_period" : Long,
"master_auto_renew" : Boolean,
"master_auto_renew_period" : Long,
"key_pair" : "String",
"login_password" : "String",
"addons" : [ {
"name" : "String",
"config" : "String",
"disabled" : Boolean
} ],
"cloud_monitor_flags" : Boolean
}
请求参数
基本配置请求Body参数
分类 | 名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
基本配置 | name | String | 是 | cluster-demo | 集群名称。 命名规则:由数字、汉字、英文字符、短划线(-)或下划线(_)组成,长度范围1~63个字符,且不能以下划线(_)开头。 |
region_id | String | 是 | cn-beijing | 集群所在的地域ID。 | |
cluster_type | String | 是 | Kubernetes | 集群类型。取值:
| |
kubernetes_version | String | 否 | 1.16.9-aliyun.1 | 集群版本,与Kubernetes社区基线版本保持一致。建议选择最新版本,若不指定,默认使用最新版本。 目前您可以在ACK控制台创建两种最新版本的集群。您可以通过API创建其他Kubernetes版本集群。关于ACK支持的Kubernetes版本,请参见Kubernetes版本发布概览。 | |
runtime | runtime | 否 | {"name": "docker", "version": "19.03.5"} | 容器运行时,支持containerd 、docker 、Sandboxed-Container.runv 三种运行时,默认为docker 。runtime包括以下2个信息:
有关容器运行时的选择,请参见如何选择Docker运行时、Containerd运行时、或者安全沙箱运行时?。 | |
resource_group_id | String | 否 | rg-acfm3mkrure**** | 集群所属资源组ID,实现不同资源的隔离。 | |
网络参数 | vpcid | String | 是 | vpc-2zeik9h3ahvv2zz95**** | 集群使用的专有网络,创建集群时必须为集群提供。 |
pod_vswitch_ids | Array of String | 否 | ["vsw-2ze97jwri7cei0mpw****"] | Pod虚拟交换机列表,您需要为每一个节点虚拟交换机指定至少一个相同可用区的Pod虚拟交换机并且不能跟节点 重要 当集群采用Terway网络类型时,必须为集群指定 pod_vswitch_ids 。 | |
container_cidr | String | 否 | 172.20.0.0/16 | Pod网络地址段,不能和VPC网段冲突。当选择系统自动创建VPC时,默认使用172.16.0.0/16网段。 重要
| |
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网段。 | |
node_cidr_mask | String | 否 | 25 | 节点IP数量,通过指定网络的CIDR来确定IP的数量,只对于Flannel网络类型集群生效。 默认值: | |
security_group_id | String | 否 | sg-bp1bdue0qc1g7k**** | 使用已有安全组创建集群时需要指定安全组ID,和 | |
is_enterprise_security_group | Boolean | 否 | true | 自动创建企业级安全组,当 说明 使用普通安全组时,集群内节点与Terway Pod数量之和不能超过2000。所以创建Terway网络类型集群时,建议使用企业安全组。
默认值: | |
snat_entry | Boolean | 否 | true | 为专有网络配置SNAT。取值:
默认值:true。 | |
endpoint_public_access | Boolean | 否 | true | 是否开启公网访问。通过EIP暴露API Server,实现集群公网访问。
默认值: | |
load_balancer_spec | String | 否 | slb.s2.small | 负载均衡规格,取值:
默认值: | |
高级选项 | ssh_flags | Boolean | 否 | true | 是否开放公网SSH登录。用于登录专有版集群的Master节点,托管版集群中该参数不生效。
默认值: |
timezone | String | 否 | Asia/Shanghai | 集群使用的时区。更多信息,请参见支持时区。 | |
proxy_mode | String | 否 | ipvs | kube-proxy代理模式:
默认值: | |
enable_rrsa | Boolean | 否 | true | 是否启用RRSA功能。 | |
tags | Array of tag | 否 |
| ||
cluster_domain | String | 否 | cluster.local | 集群本地域名。 命名规则:域名由小数点(.)分隔的一个或多个部分构成,每个部分最长为63个字符,可以使用小写字母、数字和短划线(-),且首尾必须为小写字母或数字。 | |
custom_san | String | 否 | cs.aliyun.com | 自定义证书SAN,多个IP或域名以英文逗号(,)分隔。 | |
service_account_issuer | String | 否 | kubernetes.default.svc | ServiceAccount是Pod和集群 关于 | |
api_audiences | String | 否 | kubernetes.default.svc | ServiceAccount是Pod和集群 关于 | |
disable_rollback | Boolean | 否 | true | 集群创建失败是否回滚。取值:
默认值: | |
timeout_mins | Long | 否 | 60 | 集群创建超时时间,单位分钟。 默认值: | |
deletion_protection | Boolean | 否 | true | 集群删除保护,防止通过控制台或API误删除集群。取值:
默认值: | |
node_name_mode | String | 否 | aliyun.com192.168.0.55test | 自定义节点名称。 节点名称由三部分组成:前缀+节点IP地址+后缀:
例如,节点IP地址为:192.168.0.55,指定前缀为aliyun.com,后缀为test,则节点名称为aliyun.com192.168.0.55test。 | |
keep_instance_name | Boolean | 否 | true | 使用已有实例创建集群时,是否保留实例名称。
默认值: | |
rds_instances | Array of String | 否 | ["rm-2zev748xi27xc****"] | RDS实例名称。 | |
Master配置 | master_count | Long | 否 | 3 | Master节点数量,可选值 默认值: |
image_type | String | 否 | CentOS | 操作系统发行版类型,推荐使用该字段指定节点操作系统。取值:
默认值: | |
image_id | String | 否 | m-bp16z7xko3vvv8gt**** | 节点自定义镜像,默认使用系统镜像。当选择自定义镜像时,将取代默认系统镜像。请参见使用自定义镜像创建ACK集群。 | |
os_type | String | 否 | Linux | 操作系统平台类型。取值:
默认值: | |
master_vswitch_ids | Array of String | 否 | ["vsw-2ze3ds0mdip0hdz8i****"] | 虚拟交换ID。 | |
master_instance_types | Array of String | 否 | ["ecs.n4.xlarge"] | Master节点实例类型。关于ECS实例规格的具体介绍,请参见实例规格族。 | |
master_system_disk_category | Long | 是 | cloud_ssd | Master节点系统盘类型,取值:
默认值: | |
master_system_disk_size | Long | 是 | 120 | Master节点系统盘类型,取值范围[40,500],单位:GiB。 默认值: | |
master_system_disk_performance_level | String | 否 | PL1 | 集群Master节点系统盘磁盘性能等级, 仅对ESSD磁盘生效。磁盘性能等级和磁盘大小有关。更多信息,请参见ESSD云盘。 | |
master_system_disk_snapshot_policy_id | String | 否 | sp-2zej1nogjvovnz4z**** | Master节点系统盘采用的自动快照策略ID。 | |
master_instance_charge_type | String | 否 | PrePaid | Master节点付费类型,取值:
默认值: | |
master_period_unit | String | 否 | Month | Master节点付费周期,当付费类型为 取值: | |
master_period | Long | 否 | 1 | Master节点包年包月时长,当 取值范围:{1, 2, 3, 6, 12, 24, 36, 48, 60}。 默认值:1。 | |
master_auto_renew | Boolean | 否 | true | 否开启自动续费,当
默认值: | |
master_auto_renew_period | Long | 否 | 1 | Master节点自动续费周期,以月为单位,当选择包年包月付费类型时才生效,且为必选值。 取值范围:{1, 2, 3, 6, 12}。 默认值:1。 | |
key_pair | String | 是 | security-key | Mater节点的密钥对名称,和 | |
login_password | String | 是 | Hello@1234 | Master节点的SSH登录密码,和 | |
组件配置 | addons | Array of addon | 否 | 集群组件列表,创建集群时通过 网络组件:必选,包含Flannel和Terway两种网络类型,创建集群时二选一:
存储组件:必选,支持
日志组件:可选。推荐开启,如果不开启日志服务时,将无法使用集群审计功能。
Ingress组件:可选,ACK专有版集群默认安装Ingress组件
事件中心:可选,默认开启。 事件中心提供对Kubernetes事件的存储、查询、告警等能力。Kubernetes事件中心关联的Logstore在90天内免费。关于免费策略的更多信息,请参见创建并使用K8s事件中心。 开启事件中心:[{"name":"ack-node-problem-detector","config":"{\"sls_project_name\":\"your_sls_project_name\"}"}]。 | |
cloud_monitor_flags | Boolean | 否 | true | 集群是否安装云监控插件。取值:
默认值: |
响应体语法
HTTP/1.1 200
Content-Type:application/json
{
"cluster_id" : "String",
"request_id" : "String",
"task_id" : "String"
}
响应参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
cluster_id | String | cb95aa626a47740afbf6aa099b650**** | 集群ID。 |
request_id | String | 687C5BAA-D103-4993-884B-C35E4314A1E1 | 请求ID。 |
task_id | String | T-5a54309c80282e39ea00002f | 任务ID。 |
创建ACK专有版集群示例
请求示例
POST /clusters
{
"name":"ACK专有版",
"region_id":"cn-zhangjiakou",
"cluster_type":"Kubernetes",
"kubernetes_version":"1.18.8-aliyun.1",
"runtime":{
"name":"docker",
"version":"19.03.5"
},
"resource_group_id":"rg-acfm3mkrure****",
"vpcid":"vpc-8vbh3b9a2f38urhls****",
"pod_vswitch_ids":[
"vsw-8vbo5fwyqiw0bbtlq0mc9"
],
"container_cidr":"172.20.0.0/16",
"service_cidr":"172.21.0.0/20",
"node_cidr_mask":"26",
"security_group_id":"sg-8vb7grbyvlb10j0i****",
"is_enterprise_security_group":true,
"snat_entry":true,
"endpoint_public_access":true,
"load_balancer_spec":"slb.s2.small",
"ssh_flags":true, // 是否允许SSH访问Kubernetes集群,即登录集群的Master节点。
"timezone":"Asia/Shanghai",
"proxy_mode":"ipvs",
"enable_rrsa":true,
"tags":[
{
"key":"tag-k",
"value":"tag-v"
}
],
"cluster_domain":"cluster.local",
"custom_san":"cs.aliyuncs.com",
"service_account_issuer":"kubernetes.default.svc",
"api_audiences":"kubernetes.default.svc",
"disable_rollback":true,
"timeout_mins":60,
"deletion_protection":true,
"node_name_mode":"customized,aliyun,5,test",
"keep_instance_name": true
"rds_instances": ["rm-xx","rm-xx"],
"master_count":3, // Master节点数量,支持:3、5
"image_type":"CentOS",
"image_id":"m-bp16z7xko3vvv8gt****",
"os_type":"Linux",
"master_vswitch_ids":[ // Master节点虚拟交换机列表。
"vsw-8vbmoffowsztjaawjtyzo",
"vsw-8vbmoffowsztjaawjtyzo",
"vsw-8vbmoffowsztjaawjtyzo"
],
"master_instance_types":[ // Master节点的实例规格。
"ecs.c6.large",
"ecs.c6.large",
"ecs.c6.large"
],
"master_system_disk_category":"cloud_essd", // Master节点系统盘类型。
"master_system_disk_size":120, // Master节点系统盘大小,取值范围:40~500。
"master_system_disk_performance_level":"PL1",
"master_system_disk_snapshot_policy_id":"sp-2zej1nogjvovnz4z****",
"master_instance_charge_type":"PrePaid", // Master节点付费类型。
"master_period_unit":"Month", // Master节点付费周期。
"master_period":1, // Master节点包年包月时长。
"master_auto_renew":true, // Master节点到期是否自动续费。
"master_auto_renew_period":1, // Master节点自动续费时长。
"key_pair": "sin-name",
"login_password":"Hello1234",
"addons":[
{
"name":"flannel"
},
{
"name":"arms-prometheus"
},
{
"name":"csi-plugin"
},
{
"name":"csi-provisioner"
},
{
"name":"logtail-ds",
"config":"{\"IngressDashboardEnabled\":\"true\"}"
},
{
"name":"ack-node-problem-detector",
"config":"{\"sls_project_name\":\"\"}"
},
{
"name":"nginx-ingress-controller",
"config":"{\"IngressSlbNetworkType\":\"internet\"}"
}
],
"cloud_monitor_flags":true
}
正常返回示例
XML
格式
<cluster_id>cb95aa626a47740afbf6aa099b650****</cluster_id>
<task_id>T-5a54309c80282e39ea00002f</task_id>
<request_id>687C5BAA-D103-4993-884B-C35E4314A1E1</request_id>
JSON
格式
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"task_id": "T-5a54309c80282e39ea00002f",
"request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1"
}
错误码
访问错误中心查看更多错误码。