すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:API操作を呼び出してACK管理クラスターを作成する

最終更新日:Oct 31, 2024

CreateCluster操作を呼び出して、Container Service for Kubernetes (ACK) マネージドクラスターを作成できます。 ACK管理クラスターを作成するときに、1つ以上のノードプールを作成できます。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 利便性を考慮して、この操作は OpenAPI Explorer で呼び出すことが推奨されます。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエスト構文

POST /clusters HTTP/1.1 
Content-Type:application/json
{
  "name" : "String",
  "region_id" : "String",
  "cluster_type" : "String",
  "cluster_spec" : "String",
  "kubernetes_version" : "String",
  "resource_group_id" : "String",
  "vpcid" : "String",
  "vswitch_ids" : [ "String" ],
  "pod_vswitch_ids" : [ "String" ],
  "container_cidr" : "String",
  "service_cidr" : "String",
  "security_group_id" : "String",
  "is_enterprise_security_group" : Boolean,
  "node_cidr_mask" : "String",
  "snat_entry" : Boolean,
  "endpoint_public_access" : Boolean,
  "load_balancer_spec" :  "String",
  "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",
  "encryption_provider_key" : "String",
  "timeout_mins" : Long,
  "disable_rollback" : Boolean,
  "deletion_protection" : Boolean,
  "addons" : [ {
    "name" : "String",
    "config" : "String",
    "disabled" : Boolean
  } ],
  "controlplane_log_ttl" : "String",
  "controlplane_log_project" : "String",
  "controlplane_log_components" : [ "String" ],
  "nodepools" : [ {
    "auto_scaling" : {
      "enable" : Boolean,
      "max_instances" : Long,
      "min_instances" : Long,
      "type" : "String",
      "is_bond_eip" : Boolean,
      "eip_internet_charge_type" : "String",
      "eip_bandwidth" : Long
    },
    "kubernetes_config" : {
      "cms_enabled" : Boolean,
      "cpu_policy" : "String",
      "labels" : [ {
        "key" : "String",
        "value" : "String"
      } ],
      "runtime" : "String",
      "runtime_version" : "String",
      "taints" : [ {
        "key" : "String",
        "value" : "String",
        "effect" : "String"
      } ],
      "user_data" : "String"
    },
    "nodepool_info" : {
      "name" : "String",
      "resource_group_id" : "String"
    },
    "scaling_group" : {
      "auto_renew" : Boolean,
      "auto_renew_period" : Long,
      "data_disks" : [ {
        "category" : "String",
        "size" : Long,
        "encrypted" : "String",
        "auto_snapshot_policy_id" : "String"
      } ],
      "image_id" : "String",
      "instance_charge_type" : "String",
      "instance_types" : [ "String" ],
      "key_pair" : "String",
      "login_password" : "String",
      "period" : Long,
      "period_unit" : "String",
      "platform" : "String",
      "rds_instances" : [ "String" ],
      "spot_strategy" : "String",
      "spot_price_limit" : [ {
        "instance_type" : "String",
        "price_limit" : "String"
      } ],
      "scaling_policy" : "String",
      "security_group_id" : "String",
      "security_group_ids" : [ "String" ],
      "system_disk_category" : "String",
      "system_disk_size" : Long,
      "tags" : [ {
        "key" : "String",
        "value" : "String"
      } ],
      "vswitch_ids" : [ "String" ],
      "multi_az_policy" : "String",
      "on_demand_base_capacity" : Long,
      "on_demand_percentage_above_base_capacity" : Long,
      "spot_instance_pools" : Long,
      "spot_instance_remedy" : Boolean,
      "compensate_with_on_demand" : Boolean,
      "internet_charge_type" : "String",
      "internet_max_bandwidth_out" : Long
    },
    "tee_config" : {
      "tee_enable" : Boolean
    },
    "management" : {
      "enable" : Boolean,
      "auto_repair" : Boolean,
      "upgrade_config" : {
        "auto_upgrade" : Boolean,
        "surge" : Long,
        "surge_percentage" : Long,
        "max_unavailable" : Long
      }
    },
    "count" : Long
  } ]
}

リクエストパラメーター

表 1. リクエストボディパラメータ

カテゴリ

パラメーター

タイプ

必須

説明

基本設定

name

String

必須

cluster-デモ

クラスター名。

名前は1 ~ 63文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できます。 アンダースコア (_) で始めることはできません。

region_id

String

必須

cn-beijing

クラスターをデプロイするリージョンのID。

cluster_type

String

必須

ManagedKubernetes

クラスタータイプはManagedKubernetesです。 有効な値:

  • ManagedKubernetes: ACKマネージドクラスター (BasicおよびProエディション) 、ACKサーバーレスクラスター (BasicおよびProエディション) 、ACK Edgeクラスター (BasicおよびProエディション) を作成できます。

  • Kubernetes: ACK専用クラスター

  • ExternalKubernetes: 登録済みクラスター

cluster_spec

String

任意

ack.pro.small

ACK管理クラスターのタイプ。 有効な値:

  • ack.pro.small: ACK Proクラスター

  • ack.standard: ACK Basicクラスター

デフォルト値: ack.standard このパラメーターを空のままにすると、ACK Basicクラスターが作成されます。

詳細については、「ACK Proクラスターの概要」をご参照ください。

kubernetes_version

String

任意

1.28.9-aliyun.1

クラスターのKubernetesバージョン。 ACKでサポートされているKubernetesバージョンは、オープンソースKubernetesでサポートされているKubernetesバージョンと同じです。 最新のKubernetesバージョンを指定することを推奨します。 このパラメーターを指定しない場合、最新のKubernetesバージョンが使用されます。

ACKコンソールで、最新の2つのKubernetesバージョンのクラスターを作成できます。 以前のバージョンのKubernetesのクラスターを作成する場合は、APIを使用します。 ACKでサポートされているKubernetesバージョンの詳細については、「Kubernetesバージョンのサポート」をご参照ください。

ランタイム

ランタイムの配列

選択可能

{"name": "containerd", "version": "1.6.20"}

コンテナーランタイムの名前。 ACKでサポートされるランタイムの種類は次のとおりです。

  • containerd: すべてのKubernetesバージョンをサポートします。 containerdを使用することを推奨します。

  • Sandboxed-Container.ru nv: サンドボックスコンテナーを実行します。これにより、アプリケーションコンテナーの分離が改善され、Kubernetes 1.24以前をサポートします。

  • docker: 1.22以前のKubernetesをサポートしています。

デフォルト値: containerd

resource_group_id

String

任意

rg-acfm3mkrure ****

クラスターが属するリソースグループのID。 このパラメーターを使用して、異なるクラスターを分離できます。

charge_type

String

任意

PostPaid

クラスターの課金方法です。 次のリソースは、サブスクリプションベースで課金されます。

クラスターAPIサーバーの内部対応のServer Load Balancer (SLB) インスタンス。

説明

2024年10月15日にこのパラメータに変更が加えられました。 詳細については、「 [製品のお知らせ] CreateCluster操作のパラメーターの動作の変更」をご参照ください。

有効な値:

  • PrePaid: サブスクリプション。

  • PostPaid: 従量課金。

デフォルト値: PostPaid

ピリオド

Long

選択可能

1

サブスクリプション期間です。 サブスクリプション期間です。 このパラメーターは、charge_typePrePaidに設定した場合にのみ有効になり、必要になります。

有効な値: 1、2、3、6、12、24、36、48、および60。

デフォルト値は 1 です。

説明

2024年10月15日にこのパラメータに変更が加えられました。 詳細については、「 [製品のお知らせ] CreateCluster操作のパラメーターの動作の変更」をご参照ください。

period_unit

String

任意

課金サイクルです。 このパラメーターは、charge_typePrePaidに設定されている場合に必要です。

値をMonthに設定します。 リソースは月単位でのみ課金されます。

説明

2024年10月15日にこのパラメータに変更が加えられました。 詳細については、「 [製品のお知らせ] CreateCluster操作のパラメーターの動作の変更」をご参照ください。

auto_renew

Boolean

選択可能

true

クラスターの自動更新を有効にするかどうかを指定します。 このパラメーターは、charge_typePrePaidに設定した場合にのみ有効になります。 有効な値:

  • true: 自動更新を有効にします。

  • false: 自動更新を無効にします。

デフォルト値: "false"

説明

2024年10月15日にこのパラメータに変更が加えられました。 詳細については、「 [製品のお知らせ] CreateCluster操作のパラメーターの動作の変更」をご参照ください。

auto_renew_期間

long

選択可能

1

クラスターの自動更新サイクル。 このパラメーターは、charge_typePrePaidに設定され、auto_renewtrueに設定されている場合にのみ有効になります。 period_unitMonthに設定されている場合、有効な値は1、2、3、6、12です。

デフォルト値は 1 です。

説明

2024年10月15日にこのパラメータに変更が加えられました。 詳細については、「 [製品のお知らせ] CreateCluster操作のパラメーターの動作の変更」をご参照ください。

ネットワークパラメータ

vpcid

String

必須

vpc-2zeik9h3ahvv2zz95 ****

クラスターをデプロイする仮想プライベートクラウド (VPC) のID。

vswitch_ids

文字列の配列

必須

["vsw-2ze48rkq464rsdts1 ****"]

vSwitchのID。 1〜5つのvSwitchを指定できます。

pod_vswitch_ids

文字列の配列

選択可能

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

ネットワークプラグインとしてTerwayを選択した場合、vSwitchをポッドに割り当てる必要があります。 各ポッドvSwitchは、ワーカーノードのvSwitchに対応します。 ポッドのvSwitchとワーカーノードのvSwitchは同じゾーンにある必要があります。

重要

ポッドvSwitchのCIDRブロックのサブネットマスクを19ビット以下に設定することを推奨しますが、サブネットマスクは25ビットを超えてはなりません。 それ以外の場合、クラスタネットワークには、ポッドに割り当てることができるIPアドレスの数が限られています。 その結果、クラスターは期待通りに機能しない可能性があります。

container_cidr

String

任意

172.20.0.0/16

ポッドのCIDRブロック。 このCIDRブロックは、クラスターがデプロイされているVPCのCIDRブロックと重複することはできません。 VPCがシステムによって自動的に作成される場合、ポッドのデフォルトのCIDRブロックは172.16.0.0/16です。

重要
  • このパラメーターは、クラスターがネットワークプラグインとしてFlannelを使用する場合に必要です。

  • クラスターがネットワークプラグインとしてTerwayを使用している場合、このパラメーターはオプションです。

service_cidr

String

必須

172.21.0.0/20

サービスのCIDRブロック。 このCIDRブロックは、ポッドのCIDRブロックまたはクラスターがデプロイされているVPCのCIDRブロックと重複することはできません。 VPCがシステムによって自動的に作成される場合、サービスのデフォルトのCIDRブロックは172.19.0.0/20です。

security_group_id

String

任意

sg-bp1bdue0qc1g7k ****

既存のセキュリティグループのID。 このパラメーターとis_enterprise_security_groupパラメーターを選択する必要があります。 クラスターノードが自動的にセキュリティグループに追加されます

is_enterprise_security_グループ

ブール値

選択可能

true

高度なセキュリティグループを作成するかどうかを指定します。 このパラメーターは、security_group_idが空の場合にのみ有効です。

説明

基本セキュリティグループを使用するには、クラスター内のノード数とTerwayを使用するポッド数の合計が2,000を超えないようにします。 そのため、Terwayをネットワークプラグインとして使用するクラスターには、高度なセキュリティグループを指定することをお勧めします。

  • true: 高度なセキュリティグループを作成します。

  • false: 高度なセキュリティグループを作成しません。

デフォルト値: true

node_cidr_mask

String

任意

25

各ノードに割り当てることができるIPアドレスの最大数。 この数は、指定されたポッドCIDRブロックによって決まります。 このパラメーターは、クラスターがFlannelプラグインを使用している場合にのみ有効です。

デフォルト値: 25

snat_entry

ブール値

選択可能

true

クラスターがデプロイされているVPCのSNATルールを設定するかどうかを指定します。

  • VPCがインターネットにアクセスできる場合、値をfalseに設定します。

  • VPCがインターネットにアクセスできない場合、次の値が有効です。

    • true: SNATルールを設定します。 これにより、クラスターのインターネットアクセスが可能になります。

    • false: SNATルールを設定しません。 この場合、クラスターはインターネットにアクセスできません。

アプリケーションでインターネットへのアクセスが必要な場合は、値をtrueに設定することを推奨します。

デフォルト値:false

説明

クラスターの作成時にこの機能が無効になっている場合は、クラスターの作成後に手動でこの機能を有効にできます。 詳細については、「既存のACKクラスターを有効にしてインターネットにアクセスする」をご参照ください。

endpoint_public_アクセス

ブール値

選択可能

true

クラスターのインターネットアクセスを有効にするかどうかを指定します。 elastic IPアドレス (EIP) を使用して、APIサーバーを公開できます。 これにより、インターネット経由でクラスターにアクセスできます。

  • true: インターネットアクセスを有効にします。

  • false: インターネットアクセスを無効にします。 このパラメーターをfalseに設定すると、インターネット経由でAPIサーバーにアクセスできなくなります。

デフォルト値: true

load_balancer_spec

String

任意

slb.s2.small

クラスターAPIサーバー用に作成されるServer Load Balancer (SLB) インスタンスの仕様。 有効な値:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

デフォルト値: slb.s2.small

拡張設定

タイムゾーン

String

任意

Asia/Shanghai

クラスターのタイムゾーン。 詳細は、「タイムゾーン」をご参照ください。

proxy_mode

String

任意

ipvs

kube-proxy モード。 有効な値:

  • iptables: iptablesは成熟した安定したkube-proxyモードです。 iptablesルールを使用して、サービスの検出と負荷分散を実行します。 このモードのパフォーマンスは、Kubernetesクラスターのサイズによって制限されます。 このモードは、少数のサービスを管理するKubernetesクラスターに適しています。

  • ipvs: IPVSは高性能kube-proxyモードです。 Linux Virtual Server (LVS) を使用して、サービスの検出と負荷分散を実行します。 このモードは、多数のサービスを管理するクラスターに適しています。 高パフォーマンスのロードバランシングが必要なシナリオでは、このモードを使用することを推奨します。

デフォルト値: ipvs

_rrsaを有効にする

ブール値

選択可能

true

サービスアカウントのRAMロール (RRSA) 機能を有効にするかどうかを指定します。

tags

タグの配列

選択可能

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

クラスターに追加するラベル。 ラベルには次の情報が含まれます。

  • key: ラベルのキー。

  • value: ラベルの値。

cluster_domain

String

任意

cluster.local

クラスターのドメイン名。

ドメイン名には、ピリオド (.) で区切られた1つ以上の部分を含めることができます。 各パートの長さは63文字を超えることはできません。英小文字、数字、およびハイフン (-) を使用できます。 各部分の先頭と末尾は、小文字または数字である必要があります。

custom_san

String

任意

cs.aliyun.com

指定したIPアドレスまたはドメイン名からのリクエストを受け付けるAPIサーバー証明書のカスタムサブジェクト代替名 (SAN) を指定します。 複数のIPアドレスとドメイン名はコンマ (,) で区切ります。

service_account_発行者

String

任意

kubernetes.default.svc

サービスアカウントは、ポッドがクラスターのAPIサーバーと通信するときにポッドのIDを提供します。 service-account-issuerの発行者です。serviceaccountトークンに対応します。issフィールドのトークンpayload.

ServiceAccountの詳細については、Use ServiceAccount token volume projectionをご参照ください。

api_audiences

String

任意

kubernetes.default.svc

サービスアカウントは、ポッドがクラスターのAPIサーバーと通信するときにポッドのIDを提供します。 api-audiencesによって使用されます。APIサーバーかどうかを確認します。トークンの要求は正当です。複数のオーディエンスをコンマ (,) で区切ります。

ServiceAccountの詳細については、Use ServiceAccount token volume projectionをご参照ください。

encryption_provider_key

String

任意

0fe64791-55eb-4fc7-84c5-c6c7cdca ****

key Management Service (KMS) によって管理されるキーのID。 キーは、Secretsに格納されたデータを暗号化するために使用されます。 詳細については、「」をご参照ください。キー管理サービスとは

説明

この機能はACK Proクラスターのみをサポートします。

timeout_mins

Long

選択可能

60

クラスター作成のタイムアウト期間を指定します。 単位は分です。

デフォルト値: 60

disable_rollback

ブール値

選択可能

true

クラスターの作成に失敗したときにロールバックを実行するかどうかを指定します。 有効な値:

  • true: クラスターの作成に失敗した場合、ロールバックを実行します。

  • false: クラスターの作成に失敗した場合、ロールバックは実行されません。

デフォルト値: true

deletion_protection

ブール値

選択可能

true

クラスターの削除保護を有効にするかどうかを指定します。 削除保護が有効になっている場合、ACKコンソールまたはAPI操作を呼び出してクラスターを削除することはできません。 有効な値:

  • true: クラスターの削除保護機能を有効にします。 この方法では、ACKコンソールまたはAPI操作を呼び出してクラスターを削除することはできません。

  • false: クラスターの削除保護機能を無効にします。 このようにして、ACKコンソールまたはAPI操作を呼び出すことで、クラスターを削除できます。

デフォルト値: false

コンポーネント設定

アドオン

アドオンの配列

選択可能

[{"name": "terway-eniip","config": ""}, {"name": "logtail-ds","config": "{\" IngressDashboardEnabled\":\" true\",\" sls_project_name\":\" \":\" your_sls_project_name\"}"}, {"ningress-ginx controller," "config": "{\" IngressSlbNetworkType\":\" internet\"}"}]

クラスターにインストールするコンポーネント。 クラスターを作成するときに、addonsパラメーターを設定して、特定のコンポーネントをインストールできます。

  • name: required このパラメータは、コンポーネントの名前を指定します。

  • config: オプション。 このパラメーターが空の場合、設定は必要ありません。

  • 無効化: オプション。 自動インストールを無効にするかどうかを指定します。

ネットワークプラグイン: 必須です。 サポートされているネットワークプラグインはFlannelとTerwayです。 クラスターのプラグインの1つを選択します。

  • Flannelプラグインを [{"name":"flannel","config":"" "}] の形式で指定します。

  • [{"name": "Terway-eniip","config": "" "}] の形式でterwayプラグインを指定します。

ボリュームプラグイン: オプション。 サポートされているボリュームプラグインはCSIです。

CSIプラグインを次の形式で指定します: [{"name": "csi-plugin","config": "},{" name ":" csi-provisioner "," config ":" ""}] 。

簡易Log Serviceコンポーネント: オプション。 Simple Log Serviceを有効にすることを推奨します。 Simple Log Serviceが無効になっている場合、クラスター監査機能は使用できません。

  • 既存のSimple Log Serviceプロジェクトを使用するには、次の形式でコンポーネントを指定します。[{"name": "logtail-ds","config": "{\" IngressDashboardEnabled\":\" true\",\" sls_project_name\"\"}"]

  • Simple Log Serviceプロジェクトを作成するには、次の形式でコンポーネントを指定します。[{"name": "logtail-ds","config": "{\" IngressDashboardEnabled\":\" true\"}"}"}] 。

Ingressコントローラ: オプション。 デフォルトでは、nginx-ingress-controllerコンポーネントはACK専用クラスターにインストールされます。

  • nginx-ingress-controllerをインストールしてインターネットアクセスを有効にするには、[{"name":"nginx-Ingress-controller","config":"{\" IngressSlbNetworkType\":\" Internet \"}"}] の形式でingressコントローラーを指定します。

  • nginx-ingress-controllerをインストールしない場合は、[{"name": "nginx-ingress-controller","config": "","disabled": true}] の形式でコンポーネントを指定します。

イベントセンター (オプション) デフォルトでは、イベントセンター機能は有効になっています。

Kubernetesイベントセンターを使用して、イベントを保存およびクエリし、イベントに基づいてアラートを設定できます。 Kubernetesイベントセンターに関連付けられているログストアを90日以内に無料で使用できます。 詳細については、「イベントセンターの作成と使用」をご参照ください。

Kubernetesイベントセンターを有効にするには、次の形式でコンポーネントを指定します: [{"name":"ack-node-problem-detector","config":"{\" sls_project_name\":\" your_sls_project_name\"}"}] 。

controlplane_log_ttl

String

任意

30

制御プレーンコンポーネントのログが収集される間隔。 有効な値: 1 ~ 3000 単位:日

デフォルト値: 30

controlplane_log_project

String

任意

k8s-log-xxx

制御プレーンコンポーネントのログを保存するために使用されるSimple Log Serviceプロジェクト。 既存のプロジェクトを使用するか、作成することができます。 Simple Log Serviceプロジェクトを作成する場合、作成されたプロジェクトの名前はk8s-log-{ClusterID} 形式になります。

controlplane_log_コンポーネント

文字列の配列

選択可能

["apiserver" 、"kcm" 、"scheduler" 、"ccm"]

ログ収集を有効にする制御プレーンコンポーネントのリスト。

デフォルトでは、APIサーバー、KCM、スケジューラ、およびクラウドコントローラマネージャー (CCM) のログが収集されます。

ノードプールの設定

ノードプール

nodepoolの配列

選択可能

ノードプールのパラメーター。

レスポンス構文

HTTP/1.1 200
Content-Type:application/json
{
  "cluster_id" : "String",
  "request_id" : "String",
  "task_id" : "String"
}

レスポンスパラメーター

表 2. 応答ボディパラメータ

パラメーター

タイプ

説明

cluster_id

String

cb95aa626a47740afbf6aa099b650 ****

クラスター ID

request_id

String

687C5BAA-D103-4993-884B-C35E4314A1E1

リクエスト ID。

task_id

String

T-5a54309c80282e39ea00002f

タスク ID。

例: ACK管理クラスターの作成

リクエストの例

POST /clusters 
<Common request headers>
{
    "name":"managed Kubernetes cluster",                      // The name of the cluster. #required
    "region_id":"cn-zhangjiakou",           // The ID of the region where the cluster is deployed. #required
    "cluster_type":"ManagedKubernetes",     // The type of cluster. #required
    "cluster_spec":"ack.pro.small",        // The type of ACK managed cluster. ack.pro.small: ACK Pro cluster. ack.standard: ACK Basic cluster. 
    "kubernetes_version":"1.28.9-aliyun.1",  // The Kubernetes version of the cluster. Only the latest three versions are available. 
    "resource_group_id":"rg-acfm3mkrure****",
    "vpcid":"vpc-8vbh3b9a2f38urhls****",          // The ID of the VPC in which you want to deploy the cluster.  #required
    "vswitch_ids":[                               // The IDs of vSwitches that you want to use for the cluster.  #required
        "vsw-8vbmoffowsztjaawj****"
    ],
    "pod_vswitch_ids":[                                // Set this parameter if the cluster has Terway installed because each pod in the cluster uses a separate IP address.                      
        "vsw-8vbo5fwyqiw0bbtlq****"
    ],
    "container_cidr":"172.20.0.0/16",             // The CIDR block of pods. #required. This parameter is optional if the cluster uses Terway as the network plug-in. 
    "service_cidr":"172.21.0.0/20",               // The CIDR block of Services.  #required
    "security_group_id":"sg-8vb7grbyvlb10j0i****",     // The existing security group that you want to use for the cluster. You must set the security_group_id or is_enterprise_security_group parameter. 
    "is_enterprise_security_group":true,               // Specifies whether to create an advanced security group. You must set the security_group_id or is_enterprise_security_group parameter. 
    "node_cidr_mask":"25",                // The maximum number of IP addresses that can be assigned to each node. This number is determined by the subnet mask of the specified CIDR block.   
    "snat_entry":true,                 // Specifies whether to configure SNAT rules for the VPC in which you want to deploy the cluster to enable Internet access for the cluster. 
    "endpoint_public_access":true,      // Specifies whether to enable Internet access for the cluster. 
    "load_balancer_spec":slb.s2.small,   
    "timezone":"Asia/Shanghai",   // The time zone of the cluster.
    "proxy_mode":"ipvs",           // The kube-proxy mode. Valid values: iptables and ipvs. 
    "enable_rrsa":true,
    "tags":[                       // The labels that you want to add to the cluster. The labels are applied to the ACK cluster, ECS instances, and nodes in the cluster. 
        {
            "key":"tag-k",
            "value":"tag-v"
        }
    ],
    "cluster_domain":"cluster.local",    // The domain name of the cluster. Default value: cluster.local. 
    "custom_san":"cs.aliyuncs.com",      // The custom SANs for the API server certificate. 
    "service_account_issuer":"kubernetes.default.svc", // Service account token volume projection. service_account_issuer is the issuer of the service account token, which corresponds to the iss field in the token payload. 
    "api_audiences":"kubernetes.default.svc",          // Service account token volume projection. api-audiences are valid identifiers of tokens. Audiences are used to validate tokens at the API server side. 
    "encryption_provider_key":"8734596c-c0d6-4a63-a76e-fe72c7b0****", // The ID of the key that is managed by KMS. The key is used to encrypt Secrets in your cluster. 
    "timeout_mins":60,                      // The timeout period of cluster creation. 
    "disable_rollback":true,                // Specifies whether to perform a rollback when the cluster fails to be created. 
    "deletion_protection":true,    // Specifies whether to enable deletion protection for the cluster. 
    "addons":[                    // The configurations of the components that you want to install in the cluster.
        {
            "name":"flannel"      // To install the Terway plug-in, replace the value with {"name":"terway-eniip"}. 
        },
        {
            "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",                      // The name of the component.
            "config":"{\"IngressSlbNetworkType\":\"internet\"}",    // The configuration of the component.
            "disabled": true                                        // Specifies whether to disable automatic installation. 
        },
        {
            "name":"arms-prometheus"
        }
    ],
    "controlplane_log_ttl" : "30",
    "controlplane_log_project" : "k8s-log-xxx",
    "controlplane_log_components" : ["apiserver","kcm","scheduler"],
    "nodepools" : [ {
      "auto_scaling" : {
        "enable" : true,
        "max_instances" : 10,
        "min_instances" : 1,
        "type" : "cpu"
      },
      "kubernetes_config" : {
        "cms_enabled" : true,
        "cpu_policy" : "none",
        "labels" : [ {
          "key" : "env",
          "value" : "prod"
        } ],
        "runtime" : "containerd",
        "runtime_version" : "1.6.20",
        "taints" : [ {
          "key" : "key",
          "value" : "value",
          "effect" : "NoSchedule"
        } ],
        "user_data" : "dGhpcyBpcyBhIGV4YW1wbGU=",
        "node_name_mode" : "aliyun.com00055test"
      },
      "nodepool_info" : {
        "name" : "cluster-demo",
        "resource_group_id" : "rg-acfmyvw3wjmb****",
        "type" : "ess"
      },
      "scaling_group" : {
        "auto_renew" : true,
        "auto_renew_period" : 1,
        "data_disks" : [ {
          "category" : "cloud_ssd",
          "size" : 40,
          "encrypted" : "true",
          "auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****",
          "performance_level" : "PL1"
        } ],
        "image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
        "instance_charge_type" : "PrePaid",
        "instance_types" : [ "ecs.d1ne.2xlarge" ],
        "key_pair" : "np-key-name",
        "login_password" : "Hello1234",
        "period" : 1,
        "period_unit" : "Month",
        "platform" : "AliyunLinux",
        "rds_instances" : [ "rds-****" ],
        "spot_strategy" : "NoSpot",
        "spot_price_limit" : [ {
          "instance_type" : "ecs.c6.large",
          "price_limit" : "0.39"
        } ],
        "scaling_policy" : "release",
        "security_group_id" : "sg-wz9a8g2mt6x5llu0****",
        "security_group_ids" : [ "sg-wz9a8g2mt6x5llu0****" ],
        "system_disk_category" : "cloud_efficiency",
        "system_disk_size" : 120,
        "system_disk_performance_level" : "PL1",
        "tags" : [ {
          "key" : "node-k-1",
          "value" : "node-v-1"
        } ],
        "vswitch_ids" : [ "vsw-wz9mfnhmssud6eicu****" ],
        "multi_az_policy" : "COST_OPTIMIZED",
        "on_demand_base_capacity" : 0,
        "on_demand_percentage_above_base_capacity" : 20,
        "spot_instance_pools" : 5,
        "spot_instance_remedy" : false,
        "compensate_with_on_demand" : true,
        "internet_charge_type" : "PayByTraffic",
        "internet_max_bandwidth_out" : 5,
        "image_type" : "AliyunLinux",
        "deploymentset_id" : "ds-bp1d19mmbsv3jf6xxxxx",
        "desired_size" : 0
      },
      "tee_config" : {
        "tee_enable" : true
      },
      "management" : {
        "enable" : false,
        "auto_repair" : false,
        "upgrade_config" : {
          "auto_upgrade" : false,
          "surge" : 0,
          "surge_percentage" : 0,
          "max_unavailable" : 1
        }
      },
      "count" : 1,
      "interconnect_mode" : "basic",
      "interconnect_config" : {
        "cen_id" : "cen-ey9k9nfhz0f*******",
        "ccn_id" : "ccn-qm5i0i0q9yi*******",
        "ccn_region_id" : "cn-shanghai",
        "bandwidth" : 10,
        "improved_period" : "1"
      },
      "max_nodes" : 10
  } ]
}POST /clusters 
<Common request headers>
{
    "name":"managed Kubernetes cluster",                      // The name of the cluster. #required
    "region_id":"cn-zhangjiakou",           // The ID of the region where the cluster is deployed. #required
    "cluster_type":"ManagedKubernetes",     // The type of cluster. #required
    "cluster_spec":"ack.pro.small",        // The type of ACK managed cluster. ack.pro.small: ACK Pro cluster. ack.standard: ACK Basic cluster. 
    "kubernetes_version":"1.28.9-aliyun.1",  // The Kubernetes version of the cluster. Only the latest three versions are available. 
    "resource_group_id":"rg-acfm3mkrure****",
    "vpcid":"vpc-8vbh3b9a2f38urhls****",          // The ID of the VPC in which you want to deploy the cluster.  #required
    "vswitch_ids":[                               // The IDs of vSwitches that you want to use for the cluster.  #required
        "vsw-8vbmoffowsztjaawj****"
    ],
    "pod_vswitch_ids":[                                // Set this parameter if the cluster has Terway installed because each pod in the cluster uses a separate IP address.                      
        "vsw-8vbo5fwyqiw0bbtlq****"
    ],
    "container_cidr":"172.20.0.0/16",             // The CIDR block of pods. #required. This parameter is optional if the cluster uses Terway as the network plug-in. 
    "service_cidr":"172.21.0.0/20",               // The CIDR block of Services.  #required
    "security_group_id":"sg-8vb7grbyvlb10j0i****",     // The existing security group that you want to use for the cluster. You must set the security_group_id or is_enterprise_security_group parameter. 
    "is_enterprise_security_group":true,               // Specifies whether to create an advanced security group. You must set the security_group_id or is_enterprise_security_group parameter. 
    "node_cidr_mask":"25",                // The maximum number of IP addresses that can be assigned to each node. This number is determined by the subnet mask of the specified CIDR block.   
    "snat_entry":true,                 // Specifies whether to configure SNAT rules for the VPC in which you want to deploy the cluster to enable Internet access for the cluster. 
    "endpoint_public_access":true,      // Specifies whether to enable Internet access for the cluster. 
    "load_balancer_spec":slb.s2.small,   
    "timezone":"Asia/Shanghai",   // The time zone of the cluster.
    "proxy_mode":"ipvs",           // The kube-proxy mode. Valid values: iptables and ipvs. 
    "enable_rrsa":true,
    "tags":[                       // The labels that you want to add to the cluster. The labels are applied to the ACK cluster, ECS instances, and nodes in the cluster. 
        {
            "key":"tag-k",
            "value":"tag-v"
        }
    ],
    "cluster_domain":"cluster.local",    // The domain name of the cluster. Default value: cluster.local. 
    "custom_san":"cs.aliyuncs.com",      // The custom SANs for the API server certificate. 
    "service_account_issuer":"kubernetes.default.svc", // Service account token volume projection. service_account_issuer is the issuer of the service account token, which corresponds to the iss field in the token payload. 
    "api_audiences":"kubernetes.default.svc",          // Service account token volume projection. api-audiences are valid identifiers of tokens. Audiences are used to validate tokens at the API server side. 
    "encryption_provider_key":"8734596c-c0d6-4a63-a76e-fe72c7b0****", // The ID of the key that is managed by KMS. The key is used to encrypt Secrets in your cluster. 
    "timeout_mins":60,                      // The timeout period of cluster creation. 
    "disable_rollback":true,                // Specifies whether to perform a rollback when the cluster fails to be created. 
    "deletion_protection":true,    // Specifies whether to enable deletion protection for the cluster. 
    "addons":[                    // The configurations of the components that you want to install in the cluster.
        {
            "name":"flannel"      // To install the Terway plug-in, replace the value with {"name":"terway-eniip"}. 
        },
        {
            "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",                      // The name of the component.
            "config":"{\"IngressSlbNetworkType\":\"internet\"}",    // The configuration of the component.
            "disabled": true                                        // Specifies whether to disable automatic installation. 
        },
        {
            "name":"arms-prometheus"
        }
    ],
    "controlplane_log_ttl" : "30",
    "controlplane_log_project" : "k8s-log-xxx",
    "controlplane_log_components" : ["apiserver","kcm","scheduler"],
    "nodepools" : [ {
      "auto_scaling" : {
        "enable" : true,
        "max_instances" : 10,
        "min_instances" : 1,
        "type" : "cpu"
      },
      "kubernetes_config" : {
        "cms_enabled" : true,
        "cpu_policy" : "none",
        "labels" : [ {
          "key" : "env",
          "value" : "prod"
        } ],
        "runtime" : "containerd",
        "runtime_version" : "1.6.20",
        "taints" : [ {
          "key" : "key",
          "value" : "value",
          "effect" : "NoSchedule"
        } ],
        "user_data" : "dGhpcyBpcyBhIGV4YW1wbGU=",
        "node_name_mode" : "aliyun.com00055test"
      },
      "nodepool_info" : {
        "name" : "cluster-demo",
        "resource_group_id" : "rg-acfmyvw3wjmb****",
        "type" : "ess"
      },
      "scaling_group" : {
        "auto_renew" : true,
        "auto_renew_period" : 1,
        "data_disks" : [ {
          "category" : "cloud_ssd",
          "size" : 40,
          "encrypted" : "true",
          "auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****",
          "performance_level" : "PL1"
        } ],
        "image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
        "instance_charge_type" : "PrePaid",
        "instance_types" : [ "ecs.d1ne.2xlarge" ],
        "key_pair" : "np-key-name",
        "login_password" : "Hello1234",
        "period" : 1,
        "period_unit" : "Month",
        "platform" : "AliyunLinux",
        "rds_instances" : [ "rds-****" ],
        "spot_strategy" : "NoSpot",
        "spot_price_limit" : [ {
          "instance_type" : "ecs.c6.large",
          "price_limit" : "0.39"
        } ],
        "scaling_policy" : "release",
        "security_group_id" : "sg-wz9a8g2mt6x5llu0****",
        "security_group_ids" : [ "sg-wz9a8g2mt6x5llu0****" ],
        "system_disk_category" : "cloud_efficiency",
        "system_disk_size" : 120,
        "system_disk_performance_level" : "PL1",
        "tags" : [ {
          "key" : "node-k-1",
          "value" : "node-v-1"
        } ],
        "vswitch_ids" : [ "vsw-wz9mfnhmssud6eicu****" ],
        "multi_az_policy" : "COST_OPTIMIZED",
        "on_demand_base_capacity" : 0,
        "on_demand_percentage_above_base_capacity" : 20,
        "spot_instance_pools" : 5,
        "spot_instance_remedy" : false,
        "compensate_with_on_demand" : true,
        "internet_charge_type" : "PayByTraffic",
        "internet_max_bandwidth_out" : 5,
        "image_type" : "AliyunLinux",
        "deploymentset_id" : "ds-bp1d19mmbsv3jf6xxxxx",
        "desired_size" : 0
      },
      "tee_config" : {
        "tee_enable" : true
      },
      "management" : {
        "enable" : false,
        "auto_repair" : false,
        "upgrade_config" : {
          "auto_upgrade" : false,
          "surge" : 0,
          "surge_percentage" : 0,
          "max_unavailable" : 1
        }
      },
      "count" : 1,
      "interconnect_mode" : "basic",
      "interconnect_config" : {
        "cen_id" : "cen-ey9k9nfhz0f*******",
        "ccn_id" : "ccn-qm5i0i0q9yi*******",
        "ccn_region_id" : "cn-shanghai",
        "bandwidth" : 10,
        "improved_period" : "1"
      },
      "max_nodes" : 10
  } ]
}

正常に処理された場合のレスポンス例

XML形式

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

JSON 形式

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

エラーコード

エラーコードの一覧については、「サービスエラーコード」をご参照ください。