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"
  },
  "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 쿠버네티스 버전
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 번호
    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(기본값)
    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

    요청 예시

    요청 예시는 다음과 같습니다.

    curl --location --request POST 'https://nks.apigw.gov-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****"
    }