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 쿠버네티스 버전
loginKeyName String Required 인증키 이름
  • 보유하고 있는 인증키 이름 입력
hypervisorCode String Optional 하이퍼바이저 코드
  • XEN(기본값) | KVM
regionCode String Required 리전 코드
isRegional Boolean Optional 멀티존(Regional) 클러스터 여부
  • true | false(기본값)
  • true인 경우 zoneCode, zoneNo 입력 불필요
  • k8s 지원 버전 조회에서 isRegionalSupporttrue인 버전만 사용 가능
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 번호
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****"
}