Documentation Index

Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Cluster 생성

Prev Next

VPC 환경에서 이용 가능합니다.

입력한 정보에 따라 신규 클러스터를 생성합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /vnks/v2/clusters (한국 리전)
POST /vnks/sgn-v2/clusters (싱가포르 리전)
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 서브넷 번호 목록
  • publicNetwork가 false인 경우, 일반 용도인 Private Subnet의 Subnet ID 입력
  • publicNetwork가 true인 경우, 일반 용도인 Public Subnet의 Subnet ID 입력
  • getSubnetList 참조
subnetLbNo Integer Conditional @deprecated 로드밸런서 전용 Private Subnet 번호
lbPrivateSubnetNo Integer Conditional 클러스터에 적용할 로드밸런서 전용 Private Subnet 번호
lbPrivateSubnetNoList[] Array Conditional 클러스터에 적용할 로드밸런서 전용 Private Subnet 번호 목록
  • lbPrivateSubnetNo를 입력하지 않은 경우, 필수 입력
  • 멀티존 구성 시 존별 1개씩 최대 2개 입력 (서로 다른 존의 서브넷만 허용)
  • 첫 번째 값이 단일존 로드밸런서 및 네트워크 로드밸런서의 대표 서브넷으로 사용됨
  • 미입력 시 lbPrivateSubnetNo 적용
  • getSubnetList 참조
lbPublicSubnetNo Integer Conditional 클러스터에 적용할 로드밸런서 전용 Public Subnet 번호
  • lbPublicSubnetNoList를 입력하지 않은 경우, 필수 입력
  • getSubnetList 참조
lbPublicSubnetNoList[] Array Conditional 클러스터에 적용할 로드밸런서 전용 Public Subnet 번호 목록
  • lbPublicSubnetNo를 입력하지 않은 경우, 필수 입력
  • 멀티존 구성 시 존별 1개씩 최대 2개 입력 (서로 다른 존의 서브넷만 허용)
  • 첫 번째 값이 단일존 로드밸런서 및 네트워크 로드밸런서의 대표 서브넷으로 사용됨
  • 미입력 시 lbPublicSubnetNo 적용
  • getSubnetList 참조
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
addons Array Optional 클러스터 생성 시 함께 설치할 Add-on 목록: addons

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 스토리지 크기 (GB)
  • 100~2000 (기본값: 100)
  • hypervisorCode KVM인 경우만 사용
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 설정 시 필수

addons

addons에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
addonName String Conditional 설치할 Add-on 이름
version String Conditional 설치할 Add-on 버전
  • addons 입력 시 필수
  • Add-on 조회versions[] 참조
  • 예시: 1.0.0
configurationValues String Optional Helm values 재정의 값(JSON 객체 문자열)

요청 예시

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

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",
    "lbPrivateSubnetNoList": [
      "Integer"
    ],
    "lbPublicSubnetNo": "Integer",
    "lbPublicSubnetNoList": [
      "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"
      }
    ],
    "addons": [
      {
        "addonName": "String",
        "version": "String",
        "configurationValues": "String"
      }
    ]
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
uuid String - 클러스터의 UUID

응답 상태 코드

Ncloud Kubernetes Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Kubernetes Service 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

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