建立一個新的跨可用性區域的高可用的Kubernetes叢集執行個體,並建立指定數量的節點。

請求資訊

請求行 RequestLine

POST /clusters HTTP/1.1

特有要求標頭 RequestHead

無,請參考公用要求標頭部

請求體 RequestBody

{
    "disable_rollback":"失敗是否復原",
    "name": "叢集名稱",
    "timeout_mins": 叢集建立逾時時間,
    "cluster_type": "Kubernetes",
    "region_id": "地區"
    "multi_az": true,
    "vpcid": "VPC ID ",
    "container_cidr": "容器 CIDR",         
    "service_cidr": "服務 CIDR",
    "vswitch_id_a": "第一個可用性區域交換器ID",
    "vswitch_id_b": "第二個可用性區域交換器ID",
    "vswitch_id_c": "第三個可用性區域交換器ID",        
    "master_instance_type_a": "第一個可用性區域Master節點執行個體規格",
    "master_instance_type_b": "第二個可用性區域Master節點執行個體規格",
    "master_instance_type_c": "第三個可用性區域Master節點執行個體規格", 
    "master_system_disk_category": "Master節點系統硬碟類型",
    "master_system_disk_size": "Master節點系統硬碟大小",               
    "worker_instance_type_a": "第一個可用性區域Worker節點執行個體規格",
    "worker_instance_type_b": "第二個可用性區域Worker節點執行個體規格",
    "worker_instance_type_c": "第三個可用性區域Worker節點執行個體規格",
    "worker_system_disk_category": "Worker節點系統硬碟類型",
    "worker_system_disk_size": "Worker節點系統硬碟大小",
    "num_of_nodes_a": "第一個可用性區域Worker節點數",
    "num_of_nodes_b": "第二個可用性區域Worker節點數",
    "num_of_nodes_c": "第三個可用性區域Worker節點數",
    "ssh_flags": "是否開放公網SSH登入",
    "login_password": "SSH登入密碼",             "cloud_monitor_flags":"是否安裝Cloud Monitor外掛程式"
}

請求體解釋

名稱 類型 必須 描述
disable_rollback bool 失敗是否復原,true 表示失敗不復原,false 失敗復原。如果選擇失敗復原,則會釋放建立過程中所生產的資源,不推薦使用 false
name string 叢集名稱, 叢集名稱可以使用大小寫英文字母、中文、數字、中劃線。
timeout_mins int 叢集資源棧建立逾時時間,以分鐘為單位,預設值 60
region_id string 叢集所在地區ID
multi_az bool 高可用叢集類型,固定為 true
vpcid string VPCID
container_cidr string 容器網段, 不能和VPC網段衝突。當選擇系統自動建立VPC時,預設使用172.16.0.0/16網段
service_cidr string 服務網段,不能和VPC網段以及容器網段衝突。當選擇系統自動建立VPC時,預設使用172.19.0.0/20網段
vswitch_id_a string 第一個可用性區域的交換器ID
vswitch_id_b string 第二個可用性區域的交換器ID
vswitch_id_c string 第三個可用性區域的交換器ID
master_instance_type_a string 第一個可用性區域Master節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
master_instance_type_b string 第二個可用性區域Master節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
master_instance_type_c string 第三個可用性區域Master節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
master_system_disk_category string Master節點系統硬碟類型。
master_system_disk_size int Master節點系統硬碟大小
worker_instance_type_a string 第一個可用性區域Worker 節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
worker_instance_type_b string 第一個可用性區域Worker 節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
worker_instance_type_c string 第一個可用性區域Worker 節點 ECS 規格類型代碼。更多詳細資料,參見執行個體規格類型系列
worker_system_disk_category string Worker節點系統硬碟類型。
worker_system_disk_size int Worker節點系統硬碟大小
num_of_nodes_a int 第一個可用性區域Worker節點數。範圍是[1,300]
num_of_nodes_b int 第一個可用性區域Worker節點數。範圍是[1,300]
num_of_nodes_c int 第一個可用性區域Worker節點數。範圍是[1,300]
login_password string SSH登陸密碼。密碼規則為8 - 30 個字元,且同時包含三項(大、小寫字母,數字和特殊符號)。和key_pair 二選一
key_pair string keypair名稱。和login_password二選一
ssh_flags bool 是否開放公網SSH登入登陸
cloud_monitor_flags bool 是否安裝Cloud Monitor外掛程式

API使用注意

  • 首先需要在統一個VPC下包含至少3個交換器,為了保證高可用建議3個交換器分布在不同的可用性區域。
  • 被叢集將要使用的交換器必須具備訪問功能的能力(可以使用nat網關配置SNAT規則或者使用ECS作為網路代理程式。推薦使用nat網關配置SNAT規則的方式)

返回資訊

返回行 ResponseLine

HTTP/1.1 202 Accepted

特有返回頭 ResponseHead

無,請參考公用返回頭部

返回體 ResponseBody

{
    "cluster_id":"string",
    "request_id":"string",
    "task_id":"string"
}

樣本

請求樣本

POST /clusters HTTP/1.1
<公用要求標頭>
{
    "disable_rollback": true,
    "name": "mulit-az-cluster",
    "timeout_mins": 60,
    "cluster_type": "Kubernetes",
    "region_id": "cn-shanghai",
    "multi_az": true,
    "container_cidr": "10.4.0.0/16",
    "service_cidr": "10.3.0.0/20",
    "vpcid": "vpc-mytestvpc",
    "vswitch_id_a": "vsw-a",
    "vswitch_id_b": "vsw-b",
    "vswitch_id_c": "vsw-c",
    "master_instance_type_a": "ecs.c5.large",
    "master_instance_type_b": "ecs.d1.2xlarge",
    "master_instance_type_c": "ecs.c4.xlarge",
    "master_system_disk_category": "cloud_efficiency",
    "master_system_disk_size": 40,
    "worker_instance_type_a": "ecs.c5.large",
    "worker_instance_type_b": "ecs.d1.2xlarge",
    "worker_instance_type_c": "ecs.c4.xlarge",
    "worker_system_disk_category": "cloud_efficiency",
    "worker_system_disk_size": 40,
    "num_of_nodes_a": 2,
    "num_of_nodes_b": 2,
    "num_of_nodes_c": 2,
    "ssh_flags": true,
    "login_password": "Hello1234",
    "cloud_monitor_flags": true
}

返回樣本

HTTP/1.1 202 Accepted
<公用回應標頭>
{
    "cluster_id": "cb95aa626a47740afbf6aa099b650d7ce",
    "request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1",
    "task_id": "T-5a54309c80282e39ea00002f"
}