調用CreateCluster創建一個基礎托管版安全沙箱Kubernetes集群。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求語法
POST /clusters HTTP/1.1
Content-Type:application/json
{
"addons" : [ {
"name" : "String",
"config" : "String",
"disabled" : Boolean
} ],
"cloud_monitor_flags" : Boolean,
"cluster_type" : "String",
"container_cidr" : "String",
"cpu_policy" : "String",
"deletion_protection" : Boolean,
"disable_rollback" : Boolean,
"endpoint_public_access" : Boolean,
"is_enterprise_security_group" : Boolean,
"key_pair" : "String",
"kubernetes_version" : "String",
"login_password" : "String",
"name" : "String",
"node_cidr_mask" : "String",
"node_port_range" : "String",
"num_of_nodes" : Long,
"pod_vswitch_ids" : [ "String" ],
"proxy_mode" : "String",
"region_id" : "String",
"runtime" : {
"name" : "String",
"version" : "String"
},
"service_cidr" : "String",
"security_group_id" : "String",
"snat_entry" : Boolean,
"ssh_flags" : Boolean,
"tags" : [ {
"key" : "String",
"value" : "String"
} ],
"taints" : [ {
"key" : "String",
"value" : "String",
"effect" : "String"
} ],
"timeout_mins" : Long,
"user_data" : "String",
"vpcid" : "String",
"vswitch_ids" : [ "String" ],
"worker_auto_renew" : Boolean,
"worker_auto_renew_period" : Long,
"worker_data_disks" : [ {
"category" : "String",
"size" : Long,
"encrypted" : "String",
"auto_snapshot_policy_id" : "String"
} ],
"worker_vswitch_ids" : [ "String" ],
"worker_instance_types" : [ "String" ],
"worker_system_disk_category" : "String",
"worker_system_disk_size" : Long,
"worker_instance_charge_type" : "String",
"worker_period_unit" : "String",
"worker_period" : Long,
"zone_id" : "String"
}
請求參數
表 1. 請求Body參數
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
addons | Array | 是 | [{"name": "terway-eniip","config": ""}, {"name": "logtail-ds","config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}, {"name":"nginx-ingress-controller","config":"{\"IngressSlbNetworkType\":\"internet\"}"}] | Kubernetes集群的安裝的組件列表:
|
cloud_monitor_flags | Boolean | 否 | true | 集群是否安裝云監控插件。取值:
默認值: |
cluster_type | String | 是 | ManagedKubernetes | 集群類型。創建基礎托管版安全沙箱集群時,只能選 |
container_cidr | String | 否 | 172.20.0.0/16 | Pod網絡地址段,不能和VPC網段沖突。當選擇系統自動創建VPC時,默認使用172.16.0.0/16網段。當創建Flannel網絡類型的集群時,該字段為必選。 |
cpu_policy | String | 否 | none | 節點CPU管理策略。當集群版本在1.12.6及以上時支持以下兩種策略:
默認值: |
deletion_protection | Boolean | 否 | true | 集群是否開啟集群刪除保護,防止通過控制臺或API誤刪除集群。取值:
默認值: |
disable_rollback | Boolean | 否 | true | 集群創建失敗是否回滾。取值:
默認值: |
endpoint_public_access | Boolean | 否 | true | 是否開啟公網API Server。取值:
默認值: |
is_enterprise_security_group | Boolean | 否 | true | 自動創建企業級安全組,當security_group_id為空時生效。Terway網絡類型集群,必須指定為企業安全組。
默認值: |
key_pair | String | 是 | security-key | 密鑰對名稱,和 |
kubernetes_version | String | 否 | 1.16.9-aliyun.1 | 集群版本,與Kubernetes社區基線版本保持一致。建議選擇最新版本,若不指定,默認使用最新版本。目前您可以在ACK控制臺創建兩種最新版本的集群。您可以通過API創建其他Kubernetes版本集群。關于ACK支持的Kubernetes版本,請參見Kubernetes版本發布概覽。 |
login_password | String | 是 | Hello@1234 | SSH登錄密碼,和 |
name | String | 是 | cluster-demo | 集群名稱。命名規則:由數字、漢字、英文字符或短劃線(-)組成,長度范圍1~63個字符,且不能以短劃線(-)開頭。 |
node_cidr_mask | String | 否 | 25 | 節點IP數量,通過指定網絡的CIDR來確定IP的數量,只對于Flannel網絡類型的集群生效。 默認值:25。 |
node_port_range | String | 否 | 30000~32767 | 節點服務端口范圍。取值范圍為[30000,65535]。 |
num_of_nodes | Long | 是 | 3 | Worker節點數。范圍是[0,100]。 |
pod_vswitch_ids | Array of String | 否 | vsw-2ze97jwri7cei0mpw**** | Pod的虛擬交換機列表。 說明 Terway網絡類型必須要指定 您需要為每一個節點虛擬交換機指定至少一個相同可用區的Pod虛擬交換機,并且不能跟節點 |
proxy_mode | String | 否 | ipvs | kube-proxy代理模式,支持 默認為 |
region_id | String | 是 | cn-beijing | 集群所在的地域ID。 |
runtime | 是 | {"name": "Sandboxed-Container.runv", "version": "2.2.0"} | 集群內容器運行時。支持
runtime包括以下2個信息:
重要 在創建安全沙箱集群的場景下,只能選擇 容器運行時版本,默認為最新版。關于安全沙箱運行時的變更詳情,請參見安全沙箱運行時發布記錄。 | |
security_group_id | String | 否 | sg-bp1bdue0qc1g7k**** | 使用已有安全組創建集群時需要指定安全組ID,集群節點自動加入到此安全組,和 |
service_cidr | String | 是 | 172.21.0.0/20 | Service網絡地址段,不能和VPC網段及Pod網絡網段沖突。當選擇系統自動創建VPC時,默認使用172.19.0.0/20網段。 |
snat_entry | Boolean | 否 | true | 是否為網絡配置SNAT:
如果您的應用需要訪問公網,建議配置為 默認值: |
ssh_flags | Boolean | 否 | true | 是否開放公網SSH登錄。取值:
默認值: |
tags | Array | 否 | 集群標簽。 | |
key | String | 否 | env | 標簽key-value的鍵。 |
value | String | 否 | prod | 標簽key-value的值。 |
taints | Array | 否 | 節點污點信息。污點和容忍度(Toleration)相互配合,可以用來避免Pod被分配到不合適的節點上。更多信息,請參見taint-and-toleration | |
effect | String | 否 | NoSchedule | 調度策略。取值:
|
key | String | 否 | disk_type | 污點key-value的鍵。 |
value | String | 否 | sshd | 污點key-value的值。 |
timeout_mins | Long | 否 | 60 | 集群創建超時時間。單位:分鐘 默認值:60。 |
user_data | String | 否 | IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFD**** | 節點自定義數據。更多信息,請參見ECS實例自定義數據概述。 |
vpcid | String | 是 | vpc-2zeik9h3ahvv2zz95**** | 集群使用的VPC實例ID。 |
vswitch_ids | Array of String | 是 | vsw-2ze48rkq464rsdts1****" | 虛擬交換實例ID。 |
worker_auto_renew | Boolean | 否 | true | Worker節點是否開啟自動續費,當
默認值: |
worker_auto_renew_period | Long | 否 | 1 | Worker節點自動續費周期,當選擇包年包月付費類型時才生效,且為必選值。取值范圍:{1,2,3,6,12}。 |
worker_data_disks | Array | 是 | Worker節點數據盤類型、大小等配置的組合。 | |
auto_snapshot_policy_id | String | 否 | sp-bp14j6w7ss6ozz**** | 自動快照策略ID。 |
category | String | 否 | cloud_ssd | Worker節點數據盤類型,取值:
默認值: |
encrypted | String | 否 | false | 是否對數據盤加密。取值:
默認值: |
size | String | 是 | 200 | 數據盤大小,內存單位為GiB。取值范圍:
說明 安全沙箱節點要求至少有一塊不小于200 GiB的數據盤。 |
worker_instance_charge_type | String | 是 | PrePaid | Worker節點付費類型,可選值為:
默認:按量付費。 |
worker_instance_types | Array of String | 是 | ecs.ebmg5s.24xlarge | Worker節點實例類型。 重要 安全沙箱集群只支持神龍裸金屬實例。 |
worker_period | Long | 否 | 1 | Worker節點包年包月時長,當 默認值:1。 |
worker_period_unit | String | 否 | Month | Worker節點付費周期,當付費類型為 |
worker_system_disk_category | String | 否 | cloud_efficiency | Worker節點系統盤類型,取值:
默認值: |
worker_system_disk_size | Long | 否 | 120 | Worker節點系統盤大小,單位為GiB。 取值范圍:[40,500]。 說明 若您使用的是自定義鏡像,請確保該參數的取值大于或者等于您的自定義鏡像大小,即大于或者等于max{40, ImageSize}。 默認值: |
worker_vswitch_ids | Array of String | 否 | vsw-2ze3ds0mdip0hdz8i**** | 集群節點使用的虛擬交換機列表,一個節點對應一個值。 |
zone_id | String | 否 | cn-beijing-b | 集群所屬地域的可用區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 使用Flannel網絡插件創建ACK基礎托管版安全沙箱集群
請求示例
POST /clusters
公共請求頭
{
"name": "webService",
"cluster_type": "ManagedKubernetes",
"disable_rollback": true,
"timeout_mins": 60,
"kubernetes_version": "1.18.8-aliyun.1",
"region_id": "cn-hangzhou",
"snat_entry": true,
"cloud_monitor_flags": true,
"endpoint_public_access": false,
"deletion_protection": false,
"node_cidr_mask": "26",
"proxy_mode": "ipvs",
"tags": [],
"timezone": "Asia/Shanghai",
"addons": [{
"name": "flannel"
}, {
"name": "sandboxed-container-controller"
}, {
"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\"}"
}, {
"name": "arms-prometheus"
}],
"runtime": {
"name": "Sandboxed-Container.runv",
"version": "2.1.0"
},
"worker_instance_types": ["ecs.ebmc5s.24xlarge"],
"num_of_nodes": 3,
"worker_system_disk_category": "cloud_essd",
"worker_system_disk_size": 120,
"worker_data_disks": [{
"category": "cloud_efficiency",
"size": "200",
"encrypted": "false",
"auto_snapshot_policy_id": ""
}],
"worker_instance_charge_type": "PostPaid",
"vpcid": "vpc-bp1gxh70jnkl12vq27jg7",
"container_cidr": "172.23.0.0/16",
"service_cidr": "172.21.0.0/20",
"vswitch_ids": ["vsw-bp1hl2o4i9z7sbmy*****"],
"login_password": "Hello1234!",
"logging_type": "SLS",
"cpu_policy": "none",
"is_enterprise_security_group": 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"
}
示例2 使用Terway網絡插件創建ACK基礎托管版安全沙箱集群
如果您創建的是Terway網絡類型的集群,pod_vswitch_ids
為必填參數。
請求示例
POST /clusters HTTP/1.1
公共請求頭
{
"name": "webService",
"cluster_type": "ManagedKubernetes",
"disable_rollback": true,
"timeout_mins": 60,
"kubernetes_version": "1.18.8-aliyun.1",
"region_id": "cn-hangzhou",
"snat_entry": true,
"cloud_monitor_flags": true,
"endpoint_public_access": false,
"deletion_protection": false,
"proxy_mode": "ipvs",
"tags": [],
"timezone": "Asia/Shanghai",
"addons": [{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"false\",\"NetworkPolicy\":\"false\"}"
}, {
"name": "sandboxed-container-controller"
}, {
"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\"}"
}, {
"name": "arms-prometheus"
}],
"pod_vswitch_ids": ["vsw-bp1e5819t8dl8ulcrpgkm"],
"runtime": {
"name": "Sandboxed-Container.runv",
"version": "2.1.0"
},
"worker_instance_types": ["ecs.ebmc5s.24xlarge"],
"num_of_nodes": 3,
"worker_system_disk_category": "cloud_essd",
"worker_system_disk_size": 120,
"worker_data_disks": [{
"category": "cloud_efficiency",
"size": "200",
"encrypted": "false",
"auto_snapshot_policy_id": ""
}],
"worker_instance_charge_type": "PostPaid",
"vpcid": "vpc-bp1gxh70jnkl12vq27jg7",
"service_cidr": "172.21.0.0/20",
"vswitch_ids": ["vsw-bp1hl2o4i9z7sbmy*****"],
"login_password": "Hello1234!",
"logging_type": "SLS",
"cpu_policy": "none",
"is_enterprise_security_group": 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"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
開發者資源
阿里云為您提供多種語言的SDK,幫助您快速通過API集成阿里云的產品和服務,推薦您使用SDK調用API,已免除您手動簽名驗證,詳情請參見SDK參考文檔鏈接。
快速檢索,可視化調試API,在線命令行工具,同步動態生成可執行的SDK代碼示例。
阿里云資產管理和配置工具,可通過命令方式同時管理多個阿里云產品和服務,簡單快捷,是您上云好幫手。