Clusterの作成

Prev Next

VPC環境で利用できます。

入力された情報で新規クラスタを作成します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /clusters

リクエストヘッダ

Ncloud Kubernetes Service APIリクエストで共通して使用されるヘッダの詳細は、Ncloud Kubernetes Serviceの共通リクエストヘッダをご参照ください。

リクエスト構文

リクエスト構文は次の通りです。

{
  "name": "String",
  "clusterType": "String",
  "k8sVersion": "String",
  "loginKeyName": "String",
  "hypervisorCode": "String",
  "regionCode": "String",
  "zoneCode": "String",
  "zoneNo": "Integer",
  "publicNetwork": "Boolean",
  "kubeNetworkPlugin": "String",
  "vpcNo": "Integer",
  "subnetNoList": [
    "Integer"
  ],
  "subnetLbNo": "Integer",
  "lbPrivateSubnetNo": "Integer",
  "lbPublicSubnetNo": "Integer",
  "log": {
    "audit": "Boolean"
  },
  "authType": "String",
  "bootstrapAccessEntry": "Boolean",
  "kmsKeyTag": "String",
  "nodePool": [
    {
      "name": "String",
      "nodeCount": "Integer",
      "subnetNo": "Integer",
      "subnetNoList": [
        "Integer"
      ],
      "softwareCode": "String",
      "productCode": "String",
      "labels": [
        {
          "key": "String",
          "value": "String"
        }
      ],
      "taints": [
        {
          "key": "String",
          "value": "String",
          "effect": "String"
        }
      ],
      "serverSpecCode": "String",
      "storageSize": "Integer",
      "serverRoleId": "String"
    }
  ]
}

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
name String Required クラスタ名
  • 英数字、記号の「-」のみ使用して3~30文字以内で入力、先頭文字は英字、末尾文字は英字または数字のみ使用可能
clusterType String Required クラスタタイプ
  • XEN
    • 10 ea: SVR.VNKS.STAND.C002.M008.NET.SSD.B050.G002
    • 50 ea: SVR.VNKS.STAND.C004.M016.NET.SSD.B050.G002
  • KVM
    • 250 ea: SVR.VNKS.STAND.C004.M016.G003
k8sVersion String Optional Kubernetesバージョン
loginKeyName String Required 認証キー名
  • 保有する認証キー名を入力
hypervisorCode String Optional ハイパーバイザコード
  • XEN(デフォルト) | KVM
regionCode String Required リージョンコード
zoneCode String Conditional ゾーンコード
  • zoneNoを入力しなかった場合、必須
  • getZoneListアクションを通じて確認
zoneNo String Conditional ゾーン番号
  • zoneCodeを入力しなかった場合、必須
  • getZoneListアクションを通じて確認
publicNetwork Boolean Optional サブネットネットワークタイプ
  • true | false(デフォルト)
  • true: Public
  • false: Private
  • vpcNo Integer Required クラスタを配置する VPC番号
    • コンソールまたはgetVpcListアクションを通じて確認
    subnetNoList[] Array Required サブネット番号リスト
    • getSubnetListアクションを通じて確認
    • publicNetworkが falseの場合、一般用の Private Subnetの Subnet IDを入力
    • publicNetworkが trueの場合、一般用の Public Subnetの Subnet IDを入力
    subnetLbNo Integer Conditional @deprecated ロードバランサ専用の Private Subnet番号
    lbPrivateSubnetNo Integer Conditional クラスタに適用するロードバランサ専用の Private Subnet番号
    lbPublicSubnetNo Integer Required クラスタに適用するロードバランサ専用の Public Subnet番号
    log Object Optional
    log.audit Boolean Optional Audit Logを設定
    • true | false (デフォルト)
    authType String Optional クラスタ認証方式
    • API (デフォルト) | CONFIG_MAP
    bootstrapAccessEntry Boolean Optional クラスタの作成時、bootstrap access entryを自動作成するか
    • true (デフォルト) | false
    kmsKeyTag String Optional Key Management Serviceの Key Tag
    nodePool[] Array Optional 追加するノードプールリスト
    nodePool[].name String Optional ノードプール名
    nodePool[].nodeCount Integer Optional ノード数
    nodePool[].subnetNo Integer Optional @deprecated サブネット番号
    nodePool[].subnetNoList[] Array Optional サブネット番号
    • 有効な範囲: クラスタ subnetNoList
    nodePool[].softwareCode String Optional サーバイメージコード
    nodePool[].productCode String Optional サービスタイプ
    nodePool[].labels[] Array Optional ノードラベルリスト
    nodePool[].labels[].key String Conditional ラベルのキー
    • nodePool[].labels入力時、必須
    • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
    nodePool[].labels[].value String Conditional ラベルの値
    • nodePool[].labels入力時、必須
    • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
    nodePool[].taints[] Array Optional taintリスト
    nodePool[].taints[].key String Conditional taintのキー
    • nodePool[].taints入力時、必須
    • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
    nodePool[].taints[].value String Optional taintの値
    • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
    nodePool[].taints[].effect String Conditional taintの効果
    • nodePool[].taints入力時、必須
    • NoSchedule |PreferNoSchedule|NoExecute
    nodePool[].serverSpecCode String Optional サーバタイプ
    nodePool[].storageSize Integer Optional ストレージ容量
    • hypervisorCode KVMの場合にのみ使用
    • 有効範囲: 100(デフォルト)~2000GB
    nodePool[].serverRoleId String Optional ノードプールサーバのロールを付与するための ID
    nodePool[].fabricCluster Object Conditional Fabric Cluster情報
    • Fabric Clusterサポートサーバスペックの使用時、必須
    nodePool[].fabricCluster.poolName String Conditional Fabric Cluster Pool名
    • Fabric Clusterの設定時、必須
    nodePool[].fabricCluster.poolNo Integer Conditional Fabric Cluster Pool番号
    • Fabric Clusterの設定時、必須

    リクエスト例

    リクエストのサンプルコードは次の通りです。

    curl --location --request POST 'https://nks.apigw.ntruss.com/vnks/v2/clusters' \
    --header 'x-ncp-apigw-timestamp: {Timestamp}' \
    --header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
    --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
    --header 'Content-Type: application/json'
    --data '{
        "name": "String",
        "clusterType": "String",
        "k8sVersion": "String",
        "loginKeyName": "String",
        "hypervisorCode": "String",
        "regionCode": "String",
        "zoneCode": "String",
        "zoneNo": "Integer",
        "publicNetwork": "Boolean",
        "kubeNetworkPlugin": "String",
        "vpcNo": "Integer",
        "subnetNoList": [
          "Integer"
        ],
        "subnetLbNo": "Integer",
        "lbPrivateSubnetNo": "Integer",
        "lbPublicSubnetNo": "Integer",
        "log": {
          "audit": "Boolean"
        },
        "nodePool": [
          {
            "name": "String",
            "nodeCount": "Integer",
            "subnetNo": "Integer",
            "subnetNoList": [
              "Integer"
            ],
            "softwareCode": "String",
            "productCode": "String",
            "labels": [
              {
                "key": "String",
                "value": "String"
              }
            ],
            "taints": [
              {
                "key": "String",
                "value": "String",
                "effect": "String"
              }
            ],
            "serverSpecCode": "String",
            "storageSize": "Integer",
            "serverRoleId": "String"
          }
        ]
    }'
    

    レスポンス

    レスポンス形式を説明します。

    レスポンス構文

    レスポンス構文は次の通りです。

    {
        "uuid": "String"
    }
    

    レスポンスボディ

    レスポンスボディの説明は次の通りです。

    フィールド タイプ 必須の有無 説明
    uuid String - クラスタの UUID

    レスポンスステータスコード

    Ncloud Kubernetes Service APIで共通して使用されるレスポンスステータスコードの詳細は、Ncloud Kubernetes Serviceのレスポンスステータスコードをご参照ください。

    レスポンス例

    レスポンスのサンプルコードは次の通りです。

    {
        "uuid": "****a20e-e0fb-4dc9-af1b-97fd3f8d****"
    }