Clusterの作成

Prev Next

VPC環境で利用できます。

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

リクエスト

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

メソッド URI
POST /vnks/v2/clusters/clusters (韓国リージョン)
POST /vnks/sgn-v2 (シンガポールリージョン)
POST /vnks/jpn-v2/clusters (日本リージョン)

リクエストヘッダ

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

リクエストボディ

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

フィールド タイプ 必須の有無 説明
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 リージョンコード
isRegional Boolean Optional マルチゾーン(Regional)クラスタかどうか
zoneCode String Conditional ゾーンコード
  • isRegionaltrueの場合、不要
  • zoneNoを入力しなかった場合、必須
  • getZoneListアクションを通じて確認
zoneNo Integer Conditional ゾーン番号
  • isRegionaltrueの場合、不要
  • 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

nodePool

nodePoolの説明は次の通りです。

フィールド タイプ 必須の有無 説明
name String Optional ノードプール名
nodeCount Integer Optional ノード数
subnetNo Integer Optional @deprecated サブネット番号
subnetNoList[] Array Optional サブネット番号
  • 有効な範囲: クラスタ subnetNoList
softwareCode String Optional サーバイメージコード
productCode String Optional サービスタイプ
labels[] Array Optional ノードラベルリスト
labels[].key String Conditional ラベルのキー
  • nodePool[].labels入力時、必須
  • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
labels[].value String Conditional ラベルの値
  • nodePool[].labels入力時、必須
  • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
taints[] Array Optional taintリスト
taints[].key String Conditional taintのキー
  • nodePool[].taints入力時、必須
  • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
taints[].value String Optional taintの値
  • 英数字、記号の「-」、「_」、「.」 が入力可能で、文字列の先頭と末尾は英字または数字のみ使用
taints[].effect String Conditional taintの効果
  • nodePool[].taints入力時、必須
  • NoSchedule |PreferNoSchedule|NoExecute
serverSpecCode String Optional サーバタイプ
storageSize Integer Optional ストレージ容量
  • hypervisorCode KVMの場合にのみ使用
  • 有効範囲: 100(デフォルト)~2000GB
serverRoleId String Optional ノードプールサーバのロールを付与するための ID
zoneCode String Conditional ノードプールのゾーンコード
  • isRegionaltrueの場合、必須
  • シングルゾーンクラスタでは無視される
  • getZoneListアクションを通じて確認
fabricCluster Object Conditional Fabric Cluster情報
  • Fabric Clusterサポートサーバスペックの使用時、必須
fabricCluster.poolName String Conditional Fabric Cluster Pool名
  • Fabric Clusterの設定時、必須
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"
    },
    "isRegional": "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",
        "zoneCode": "String"
      }
    ]
}'

レスポンス

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

レスポンスボディ

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

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

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

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

レスポンス例

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

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