调用CreateCluster创建一个标准Kubernetes专有版集群实例,并新建指定数量的节点。

说明 创建集群时,请求参数需要正确组合,否则会导致集群创建失败。在容器服务控制台创建集群界面,提供了生成集群创建OpenAPI参数功能,可以为您提供准确的参数组合。请参见生成 OpenAPI参数

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。请参考[公共请求头部](https://help.aliyun.com/document_detail/86802.html#section-mr5-lf1-wdb)。

请求语法

POST /clusters HTTPS|HTTP

请求参数

名称 类型 是否必选 示例值 描述
region_id String cn-beijing

集群所在地域ID。

name String test-cluster

集群名称, 集群名称可以使用大小写英文字母、中文、数字、中划线。

key_pair String key_pair-xxxxxx

keypair名称,和login_password二选一。

snat_entry Boolean true

是否为网络配置SNAT:

  • 当已有VPC能访问公网环境时,设置为 false。
  • 当已有VPC不能访问公网环境时:
    • 设置为true,表示配置SNAT,此时可以访问公网环境。
    • 设置为false,表示不配置SNAT,此时不能访问公网环境。
login_password String Yourpasswd1234

SSH登录密码。密码规则为8~30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号),和key_pair 二选一。

master_system_disk_category String cloud_ssd

Master节点系统盘类型,取值范围是:

  • cloud_efficiency:高效云盘。
  • cloud_ssd:SSD云盘。
master_system_disk_size Integer 120

Master节点系统盘大小,单位为GiB。

num_of_nodes Integer 3

Worker节点数。范围是[0,100]。

worker_system_disk_category String cloud_efficiency

Worker节点系统盘类型。

worker_instance_types List<String> ["ecs.i1.2xlarge"]

Worker节点ECS规格类型代码。更多详细信息,参见实例规格族

master_instance_types List<String> ["ecs.n4.xlarge","ecs.n4.xlarge","ecs.n4.xlarge"]

Master节点ECS规格类型代码。更多详细信息,参见实例规格族

master_vswitch_ids List<String> ["vsw-2ze4jvvvade1yk899****","vsw-2ze4jvvvade1yk899****","vsw-2ze4jvvvade1yk899****"]

Master节点交换机ID列表,交换机个数取值范围为1~3。为确保集群的高可用性,推荐您选择3个交换机,且分布在不同的可用区。

worker_system_disk_size Integer 120

Worker节点系统盘大小,单位为GiB。

worker_vswitch_ids List<String> ["vsw-2ze4jvvvade1yk899****"]

Worker节点的虚拟交换机ID列表。

cluster_type String Kubernetes

集群类型,包括:托管版集群(ManagedKubernetes)、专有版集群(DedicatedKubernetes)、ServerLess集群(ServerlessKubenetes)以及边缘集群。

tags Array [{"key":"tier","value":"backend"}]

给集群打tag标签:

  • key:标签名称。
  • value:标签值。
endpoint_public_access Boolean true

是否开启公网API Server:

  • true:默认为True,表示开放公网API Server。
  • false:若设置为false, 则不会创建公网的API Server,仅创建私网的API Server。
kubernetes_version String 1.16.6-aliyun.1

Kubernetes集群版本,默认最新版。

timeout_mins Integer 60

集群资源栈创建超时时间,以分钟为单位,默认值 60。

disable_rollback Boolean true

失败是否回滚:

  • true:表示失败不回滚。
  • false:表示失败回滚。

默认为true,如果选择失败回滚,则会释放创建过程中所生产的资源,不推荐使用false。

ssh_flags Boolean true

是否开放公网SSH登录:

  • true:表示开放。
  • false:表示不开放。
cloud_monitor_flags Boolean true

是否安装云监控插件:

  • true:表示安装。
  • false:表示不安装。
deletion_protection Boolean true

是否开启集群删除保护,防止通过控制台或API误删除集群。

node_cidr_mask String 26

节点网络的网络前缀。

proxy_mode String ipvs

kube-proxy代理模式,支持iptables和IPVS两种模式,默认为iptables 。

os_type String Linux

运行pod的主机的操作系统类型,例如:linux,Windows等。

platform String CentOS

运行pod的主机的平台架构,例如:x86。

node_port_range String 30000-32767

节点服务端口。取值范围为[30000,65535]。

master_instance_charge_type String PrePaid

Master节点付费类型,可选值为:

  • PrePaid:预付费
  • PostPaid:按量付费

默认为按量付费。

worker_instance_charge_type String PrePaid

Worker节点付费类型,可选值为:

  • PrePaid:预付费。
  • PostPaid:按量付费。

默认为按量付费。

master_period Integer 1

包年包月时长,当master_instance_charge_type取值为PrePaid时才生效且为必选值,取值范围: PeriodUnit=Month时,Period取值:{ “1”, “2”, “3”,“6”,“12”}。

worker_period Integer 1

包年包月时长,当worker_instance_charge_type取值为PrePaid时才生效且为必选值,取值范围:PeriodUnit=Month时,Period取值:{ “1”, “2”, “3”, “6”, “12”}。

cpu_policy String none

CPU策略。集群版本为1.12.6及以上版本支持static 和 none两种策略。默认为none。

worker_period_unit String Month

当指定为PrePaid的时候需要指定周期。Month:以月为计时单位。

master_auto_renew Boolean true

Master节点是否自动续费,当master_instance_charge_type取值为PrePaid时才生效,可选值为:

  • true:自动续费。
  • false:不自动续费。
master_auto_renew_period Integer 6

自动续费周期,当选择预付费和自动续费时才生效,且为必选值。PeriodUnit=Month时,取值为{“1”, “2”, “3”, “6”, “12”}。

worker_auto_renew Boolean true

是否开启Worker节点自动续费,可选值为:

  • true:自动续费。
  • false:不自动续费。
worker_auto_renew_period Integer 6

自动续费周期,当选择预付费和自动续费时才生效,且为必选值: PeriodUnit=Month时,取值{“1”, “2”, “3”, “6”, “12”}。

master_period_unit String Month

当指定为PrePaid的时候需要指定周期。Month:以月为计时单位。

master_count Integer 3

Master实例个数,可选值3或者5。默认值为3。

runtime Json {"name":"docker","version":"19.03.5"}

容器运行时,一般为docker,包括2个信息:name和version。

worker_data_disk Boolean true

是否挂载数据盘,可选择为:

  • true:表示worker节点挂载数据盘。
  • false:表示worker节点不挂载数据盘。
vpcid String vpc-2ze8b1o12tx3ocbzx****

VPC ID,可空。如果不设置,系统会自动创建VPC,系统创建的VPC网段为192.168.0.0/16。

说明 VpcId 和 vswitchid 只能同时为空或者同时都设置对应的值。

security_group_id String sg-2ze6ess9kho6fdn9****

指定集群ECS实例所属于的安全组ID。

container_cidr String 172.20.0.0/16

容器网段,不能和VPC网段冲突。当选择系统自动创建VPC时,默认使用172.16.0.0/16网段。

service_cidr String 172.21.0.0/20

服务网段,不能和VPC网段以及容器网段冲突。当选择系统自动创建VPC时,默认使用172.19.0.0/20网段。

addons Array [{"name":"flannel"},{"name":"flexvolume"},{"name":"alicloud-disk-controller"},{"name":"logtail-ds","config":"{"IngressDashboardEnabled":"true"}"},{"name":"nginx-ingress-controller","config":"{"IngressSlbNetworkType":"internet"}"}]

Kubernetes集群的addon插件的组合。

  • addons的参数:
    • name:必填,addon插件的名称。
    • version:可选,取值为空时默认取最新版本。
    • config:可选,取值为空时表示无需配置。
  • 网络插件:包含Flannel和Terway网络插件,二选一。
  • 日志服务:可选,如果不开启日志服务时,将无法使用集群审计功能。
  • Ingress:默认开启安装Ingress组件。
worker_data_disks Array [{"category":"cloud","size":"40","encrypted":"false"}]

Worker数据盘类型、大小等配置的组合。该参数只有在挂载Worker节点数据盘时有效,包含以下参数:

  • category:数据盘类型。取值范围:
    • cloud:普通云盘。
    • cloud_efficiency:高效云盘。
    • cloud_ssd:SSD云盘。
  • size:数据盘大小,单位为GiB。
  • encrypted:是否对数据盘加密,true|false。
taints Array

用于给节点做污点标记,通常用于Pods的调度策略,与之相对应的概念为。容忍(tolerance),若Pods上有相对应的tolerance标记,则可以容忍节点上的污点,并调度到该节点。

返回数据

名称 类型 示例值 描述
cluster_id String cb95aa626a47740afbf6aa099b650****

集群实例ID。

request_id String 687C5BAA-D103-4993-884B-C35E4314A1E1

请求ID。

task_id String T-5a54309c80282e39ea00002f

任务ID。系统自动分配,用户查询任务状态。

示例

请求示例

POST /clusters HTTP/1.1
公共请求头
{
    "cluster_type": "Kubernetes",
    "name": "test-cluster",
    "region_id": "cn-beijing",
    "snat_entry": "true",
    "key_pair": "key_pair-xxxxxx",
    "login_password": "Yourpasswd1234",
    "master_system_disk_category": "cloud_ssd",
    "master_system_disk_size": "120",
    "num_of_nodes": "3",
    "worker_system_disk_category": "cloud_efficiency",
    "worker_system_disk_size": "120",
    "master_instance_types": ["ecs.n4.xlarge","ecs.n4.xlarge","ecs.n4.xlarge"],
    "master_vswitch_ids": ["vsw-2ze4jvvvade1yk899****","vsw-2ze4jvvvade1yk899****","vsw-   2ze4jvvvade1yk899****"],
    "tags": [{"key":"tier","value":"backend"}],
    "worker_instance_types": ["ecs.i1.2xlarge"],
    "worker_vswitch_ids": ["vsw-2ze4jvvvade1yk899****"]
}

正常返回示例

XML 格式

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

JSON 格式

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

错误码

访问错误中心查看更多错误码。