ここでは、サンドボックス化コンテナーをサポートする Kubernetes クラスターの作成方法について説明します。

リクエスト情報

リクエスト行

POST /clusters HTTP/1.1

カスタムリクエストヘッダー

なし。 詳細については、「パブリックリクエストヘッダー」をご参照ください。

リクエストボディ

{
  "name": "cluster name",
  "cluster_type": "cluster type: ManagedKubernetes",
  "disable_rollback": true,
  "timeout_mins": 60,
  "region_id": "region",
  "snat_entry": "whether to configure SNAT entries",
  "cloud_monitor_flags": "whether to install the CloudMonitor agent",
  "public_slb": "whether to expose the cluster endpoint to the Internet",
  "worker_instance_type": "instance type of worker nodes",
   "num_of_nodes": "number of worker nodes",
  "vpcid": "vpc id",
  "vswitch_ids": "VSwitch IDs of worker nodes",
  "service_cidr": "Service CIDR Block",
  "login_password": "SSH logon password. Select one between SSH authentication and key pair authentication",
  "key_pair": "key pair name. Select one between SSH authentication and key pair authentication",
  "worker_system_disk_category": "system disk type of worker nodes",
  "worker_system_disk_size": "system disk size of worker nodes",
  "worker_data_disk_category": "data disk type of worker nodes",
  "worker_data_disk_size": "data disk size of worker nodes",
  "worker_data_disk": "whether to mount data disks. true|false",
  "worker_instance_charge_type": "billing method of worker nodes. PrePaid|PostPaid",
  "worker_period_unit": "subscription duration unit of worker nodes. Month|Year. This parameter only takes effect when parameter worker_instance_charge_type is set to PrePaid",
  "worker_period": "subscription duration of worker nodes. This parameter only takes effect when parameter worker_instance_charge_type is set to PrePaid",
  "worker_auto_renew": "whether to enable auto renewal for worker nodes. true|false",
  "worker_auto_renew_period": "renewal cycle of worker nodes",
  "kubernetes_version": "Kubernetes version",
  "addons": [{"name": "terway-eniip"}],
  "runtime": {"name": "Sandboxed-Container.runv", "version":"1.0.0"},
  "pod_vswitch_ids": "VSwitch IDs of Pods. Currently, only one VSwitch is supported."
}
表 1. リクエストボディパラメーター
Parameter タイプ 必須/省略可能 説明
addons list 必須 Kubernetes クラスターへのアドオン。
  • アドオンパラメーター:
    • name:必須。 アドオンの名前。
    • version:オプション。 このパラメーターを指定しない場合、デフォルトで最新バージョンが使用されます。
    • config:オプション。 このパラメーターが指定されていない場合、設定が不要であることを示します。
  • ネットワークプラグイン: Flannel と Terway のいずれかを選択します。
  • Log Service: オプション。
    • Log Service が有効になっていない場合、クラスター監査機能を使用できません。
    • Log Service を有効にするには、アドオン配列に{"name":"aliyun-log-controller"}を追加します。
cluster_type string 必須 クラスターのタイプ。

現在、ManagedKubernetes クラスターのみがサンドボックス化コンテナーをサポートしています。

key_pair string 必須 keypair 名です。 login_password または key_pair のいずれかを選択します。
kubernetes_version string 必須 サンドボックス化コンテナーは、1.14.6-aliyun.1 以降のバージョンでのみ利用できます。
login_password string 必須 SSH ログインパスワード。 パスワードの長さは 8〜30 文字で、大文字、小文字、数字、特殊文字の内 3 種類を含める必要があります。 login_password および key_pair のいずれかを選択します。
name string 必須 クラスター名。 名前には、英数字、漢字、片仮名、平仮名、およびハイフン (-) を使用できます。
num_of_nodes int 必須 ワーカーノードの数。 有効な値: 0~300。
pod_vswitch_ids list 必須 Pods によって使用される VSwitch の ID。
region_id string 必須 クラスターがデプロイされているリージョンの ID。
runtime json 必須
  • name:コンテナーランタイム。 現在、Sandboxed-Container.runv がサポートされています。
  • version:現在のバージョンは 1.0.0 です。
snat_entry bool 必須 SNAT を有効にするかどうか。
  • 既存の VPC ネットワークにインターネットアクセスがある場合、このパラメーターを false に設定します。
  • 既存の VPC ネットワークにインターネットアクセスがない場合:
    • このパラメーターを true に設定して、SNAT を有効にします。 これにより、クラスターがインターネットにアクセスできるようになります。
    • このパラメーターを false に設定して、SNAT を無効にします。 クラスターはインターネットにアクセスできません。
vpcid string 必須 VPC ネットワークの ID。 このパラメーターが指定されていない場合、システムは CIDR ブロック 192.168.0.0/16 で VPC ネットワークを自動的に作成します。
vpcid パラメーターと vswitchid パラメーターを一緒に使用する必要があります。
vswitch_ids list 必須 VSwitch の ID。 リストには 1〜3 個の要素が含まれている必要があります。
worker_data_disk bool 必須 データディスクをマウントするかどうか。 サンドボックス化コンテナーを有効にするには、このパラメーターを true に設定する必要があります。
worker_data_disk_size string 必須 データディスクのサイズ。 単位: GiB。 サンドボックス化コンテナーを有効にするには、このパラメーターを 200 以上の値に設定する必要があります。
worker_instance_type string 必須 サンドボックス化コンテナーをサポートするインスタンスのタイプ。

現在、ecs.ebmg5s.24xlargeecs.ebmc5s.24xlarge のインスタンスタイプがサポートされています。

worker_system_disk_category string 必須 ワーカーノードのシステムディスクタイプ。
worker_system_disk_size int 必須 ワーカーノードのシステムディスクサイズ。 単位: GiB。
cloud_monitor_flags bool 省略可能 CloudMonitor エージェントをインストールするかどうかを指定します。
  • true の場合、インストールします。
  • false の場合、インストールしません。
disable_rollback bool 省略可能 操作が失敗したときにロールバックするかどうかを指定します。
  • true の場合、ロールバックしません。
  • false の場合、ロールバックします。
デフォルト値 : true 。 操作が失敗したときにロールバックすることを選択した場合、操作中に作成されたリソースはリリースされます。 true の値 に設定することを推奨します。
endpoint_public_access bool 省略可能 API サーバーへのインターネットアクセスを許可するかどうかを指定します。
  • true の場合、API サーバーへのインターネットアクセスが許可されていることを示します。 デフォルト値 : true。
  • 値が false の場合、API サーバーへのインターネットアクセスが拒否されます。 API サーバーはイントラネットアクセスのみを許可します。
service_cidr string 任意 サービス CIDR ブロック。 この CIDR ブロックは、VPC ネットワークまたはコンテナーの CIDR ブロックと重複してはなりません。 VPC ネットワークがシステムによって自動的に作成される場合、サービス CIDR ブロックはデフォルトで 172.19.0.0/20 に設定されます。
tags list 省略可能 クラスターのラベル。
  • key: ラベルの名前。
  • value: ラベルの値。
timeout_mins int 省略可能 リソース作成操作に使用できる最大時間 (分単位)。 デフォルト値: 60。
worker_auto_renew bool 省略可能 ワーカーノードの自動更新を有効にするかどうかを設定します。
  • true の場合、自動更新は有効です。
  • false の場合、自動更新は無効です。
worker_auto_renew_period int 省略可能 自動更新のサイクル。 パラメーター worker_instance_charge_type が PrePaid に設定され、パラメーター worker_auto_renew が true に設定されている場合、このパラメーターは必須です。
  • PeriodUnit=Week に設定されている場合、有効な値は 1、2、および 3 です。
  • PeriodUnit=Month に設定されている場合、有効な値は、1、2、3、6、および 12 です。
worker_data_disk_category string 省略可能 ワーカーノードのデータディスクタイプ。 このパラメーターは、worker_data_disk パラメーターが true に設定されている場合にのみ有効です。 有効な値は次のとおりです。
  • cloud:ベーシックディスク
  • cloud_efficiency:ウルトラディスク。
  • cloud_ssd: SSD ディスク。
worker_instance_charge_type string 省略可能 ワーカーノードの課金方法。 有効な値は次のとおりです。
  • PrePaid の場合、サブスクリプションが使用されることを示します。
  • PostPaid の場合、従量課金が使用されることを示します。
デフォルト値:PostPaid。
worker_period int 省略可能 サブスクリプションの期間。 worker_instance_charge_type パラメーターが PrePaid に設定されている場合、このパラメーターは必須です。
  • PeriodUnit=Week に設定されている場合、有効な値は 1、2、3、および 4 です。
  • PeriodUnit=Month に設定されている場合、有効な値は、1、2、3、4、5、6、7、8、9、12、24、36、48、および 60 です。
worker_period_unit string 省略可能 サブスクリプション期間の単位。 worker_instance_charge_type パラメーターが PrePaid に設定されている場合、このパラメーターは必須です。 有効な値は次のとおりです。
  • Week の場合、サブスクリプション期間が週単位であることを示します。
  • Month の場合、サブスクリプション期間が月単位であることを示します。

レスポンス情報

レスポンス行

HTTP/1.1 202 Accepted

カスタムレスポンスヘッダー

なし。 「パブリックレスポンスヘッダー」をご参照ください。

表 2. レスポンスボディ
パラメーター データ型 説明
cluster_id string クラスターの ID。
request_id string リクエストの ID 。
task_id string タスクの ID。 タスク ID はシステムによって自動的に割り当てられ、タスクステータスの照会に使用されます。

リクエストの例

POST /logstores HTTP/1.1
<共通リクエストヘッダー>
{
  "name": "test-sandbox", 
  "cluster_type": "ManagedKubernetes",
  "disable_rollback": true,
  "timeout_mins": 60,
  "region_id": "cn-hangzhou",
  "snat_entry": true,
  "cloud_monitor_flags": false,
  "endpoint_public_access": true,
  "worker_instance_type": "ecs.ebmg5s.24xlarge",
  "num_of_nodes": 2,
  "vpcid": "vpc-bp1iybm49v9jgb50xxxxx",
  "vswitch_ids": ["vsw-bp1ue9z93i9zpcblxxxxx"],
  "service_cidr": "192.168.0.0/16",
  "login_password": "xxxxxxxx",
  "worker_system_disk_category": "cloud_efficiency",
  "worker_system_disk_size": 200,
  "worker_data_disk_category": "cloud_efficiency",
  "worker_data_disk_size": 200,
  "worker_data_disk": true,
  "worker_instance_charge_type": "PostPaid",
  "kubernetes_version": "1.14.6-aliyun.1",
  "addons": [{"name":"terway-eniip"}],
  "runtime": {"name": "Sandboxed-Container.runv", "version": "1.0.0"},
  "pod_vswitch_ids": ["vsw-bp18nj6xxfoc2ci2xxxxx"]
}

レスポンスの例

HTTP/1.1 202 Accepted
<共通レスポンスヘッダー>
{
    "cluster_id": "cb95aa626a47740afbf6aa099b65****",
    "request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1",
    "task_id": "T-5a54309c80282e39ea00002f"
}