全部產品
Search
文件中心

Container Service for Kubernetes:調用CreateCluster建立ACK Serverless叢集

更新時間:Apr 24, 2025

調用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配置為Serverless,表示建立ACK Serverless叢集

profile

String

Serverless

叢集標識。參數cluster_type取值為ManagedKubernetes,同時該參數配置為Serverless,表示建立ACK Serverless叢集

cluster_spec

String

ack.pro.small

ACK Serverless叢集類型。取值:

  • ack.pro.smallACK Serverless叢集Pro版

  • ack.standardACK Serverless叢集基礎版

預設值:ack.standard。取值可以為空白,為空白時則建立ACK Serverless叢集基礎版

更多資訊,請參見叢集概述

name

String

cluster-demo

叢集名稱。

命名規則:由數字、漢字、英文字元或短劃線(-)組成,長度範圍1~63個字元,且不能以短劃線(-)開頭。

kubernetes_version

String

1.32.1-aliyun.1

叢集版本,與Kubernetes社區基準版本保持一致。建議選擇最新版本,若不指定,預設使用最新版本。

目前您可以在ACK控制台建立兩種最新版本的叢集。您可以通過API建立其他Kubernetes版本叢集。關於ACK支援的Kubernetes版本,請參見【已下線】Kubernetes版本發布概覽

private_zone

Boolean

false

是否開啟PrivateZone用於服務發現。取值:

  • true:開啟PrivateZone用於服務發現。

  • false:不開啟PrivateZone用於服務發現。

更多資訊,請參見ASK叢集雲端式解析PrivateZone的服務發現

region_id

String

cn-beijing

叢集所在地區ID。

endpoint_public_access

Boolean

true

是否開啟公網API Server。取值:

  • true:表示開放公網API Server。

  • false:表示不會建立公網的API Server,僅建立私網的API Server。

預設值:true

service_discovery_types

Array of String

PrivateZone

叢集內服務發現類型,用於在ACK Serverless叢集中指定服務發現方式。

  • CoreDNS:使用Kubernetes原生標準服務發現組件CoreDNS,需要在叢集部署一組容器用於DNS解析。預設採用兩個0.25 Core 512 MiB規格的ECI執行個體。

  • PrivateZone:使用阿里雲PrivateZone產品提供服務發現能力,需要開啟PrivateZone服務。

預設值:不開啟。

zoneid

String

cn-beiji****

叢集所屬地區的可用性區域ID。

重要

如果不指定vpcidvswitch_ids的情況下,必須指定zoneid

logging_type

String

SLS

叢集開啟Log Service,只針對ACK Serverless叢集生效,且取值必須是SLS

tags

Array of tag

[{"key": "env", "value": "prod"}]

給叢集打tag標籤。包含以下資訊:

  • key:標籤名稱。

  • value:標籤值。

deletion_protection

Boolean

true

叢集是否開啟叢集刪除保護,防止通過控制台或API誤刪除叢集。取值:

  • true:叢集開啟叢集刪除保護。

  • false:叢集不開啟叢集刪除保護。

預設值:false

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叢集安裝的組件列表。組件的結構包括:

  • name:必填,組件名稱。

  • config:可選,取值為空白時表示無需配置。

  • disabled:可選,是否禁止預設安裝。

日誌組件:可選。

說明

如果不開啟Log Service時,將無法使用叢集審計功能。

  • 使用已有SLS Project:[{"name": "logtail-ds","config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}] 。

  • 建立新的SLS Project:[{"name": "logtail-ds","config": "{\"IngressDashboardEnabled\":\"true\"}"}] 。

Ingress組件:可選,ACK專有版叢集預設安裝Ingress組件nginx-ingress-controller。

  • 安裝Ingress並且開啟公網:[{"name":"nginx-ingress-controller","config":"{\"IngressSlbNetworkType\":\"internet\"}"}] 。

  • 不安裝Ingress:[{"name": "nginx-ingress-controller","config": "","disabled": true}] 。

snat_entry

Boolean

true

建立ACK Serverless叢集時,是否在VPC中建立NAT Gateway並配置SNAT規則。取值:

  • true:將為您建立NAT Gateway並自動設定SNAT規則,叢集VPC將具備公網訪問能力。

  • false:不為您建立NAT Gateway及SNAT規則。叢集VPC將不具備公網訪問能力。

預設值:false

vpcid

String

vpc-2zeik9h3ahvv2zz95****

叢集使用的專用網路,建立叢集時必須為叢集提供。

說明

vpcidvswitch_ids只能同時都設定對應的值。

vswitch_ids

Array of String

["vsw-2ze97jwri7cei0mpw****"]

交換器ID。List長度範圍為[1,3]。

security_group_id

String

sg-bp1bdue0qc1g7k****

使用已有安全性群組建立叢集時需要指定安全性群組ID,和is_enterprise_security_group二選一,叢集節點自動加入到此安全性群組。

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",
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。