--- title: "Cluster 생성" slug: "nks-createcluster" tags: ["Kubernetes Service", "Cluster"] updated: 2026-09-17T09:16:20Z published: 2026-09-17T09:16:20Z canonical: "api.ncloud-docs.com/nks-createcluster" --- > ## 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 생성 VPC 환경에서 이용 가능합니다. 입력한 정보에 따라 신규 클러스터를 생성합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /vnks/v2/clusters (한국 리전) | | POST | /vnks/sgn-v2/clusters (싱가포르 리전) | | POST | /vnks/jpn-v2/clusters (일본 리전) | ### 요청 헤더 Ncloud Kubernetes Service API에서 공통으로 사용하는 헤더에 대한 정보는 [Ncloud Kubernetes Service 공통 요청 헤더](/docs/compute-vpckubernetesservice#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `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 | 쿠버네티스 버전 - [k8s 지원 버전 조회](/docs/nks-viewk8sversion) 참조 | | `loginKeyName` | String | Required | 인증키 이름 - 보유하고 있는 인증키 이름 입력 | | `hypervisorCode` | String | Optional | 하이퍼바이저 코드 - `XEN` (기본값) \| `KVM` | | `regionCode` | String | Required | 리전 코드 - [getRegionList](/docs/platform-region-getregionlist) 참조 | | `isRegional` | Boolean | Optional | 멀티존(Regional) 클러스터 여부 - `true` \| `false` (기본값) - `true`인 경우 `zoneCode`, `zoneNo` 입력 불필요 - [k8s 지원 버전 조회](/docs/nks-viewk8sversion)에서 `isRegionalSupport`가 `true`인 버전만 사용 가능 | | `zoneCode` | String | Conditional | 존 코드 - `isRegional`이 `true`인 경우 불필요 - `zoneNo`를 입력하지 않은 경우, 필수 입력 - [getZoneList](/docs/compute-vserver-server-common-getzonelist) 참조 | | `zoneNo` | Integer | Conditional | 존 번호 - `isRegional`이 `true`인 경우 불필요 - `zoneCode`를 입력하지 않은 경우, 필수 입력 - [getZoneList](/docs/compute-vserver-server-common-getzonelist) 참조 | | `publicNetwork` | Boolean | Optional | 서브넷 네트워크 유형 - `true` \| `false` (기본값) - `true`: Public - `false`: Private | | `vpcNo` | Integer | Required | 클러스터를 배치할 VPC 번호 - 콘솔 또는 [getVpcList](/docs/networking-vpc-vpcmanagement-getvpclist) 참조 | | `subnetNoList[]` | Array | Required | 서브넷 번호 목록 - `publicNetwork`가 false인 경우, 일반 용도인 Private Subnet의 Subnet ID 입력 - `publicNetwork`가 true인 경우, 일반 용도인 Public Subnet의 Subnet ID 입력 - [getSubnetList](/docs/networking-vpc-subnetmanagement-getsubnetlist) 참조 | | `subnetLbNo` | Integer | Conditional | @deprecated 로드밸런서 전용 Private Subnet 번호 - [getSubnetList](/docs/networking-vpc-subnetmanagement-getsubnetlist) 참조 | | `lbPrivateSubnetNo` | Integer | Conditional | 클러스터에 적용할 로드밸런서 전용 Private Subnet 번호 - [getSubnetList](/docs/networking-vpc-subnetmanagement-getsubnetlist) 참조 | | `lbPrivateSubnetNoList[]` | Array | Conditional | 클러스터에 적용할 로드밸런서 전용 Private Subnet 번호 목록 - `lbPrivateSubnetNo`를 입력하지 않은 경우, 필수 입력 - 멀티존 구성 시 존별 1개씩 최대 2개 입력 (서로 다른 존의 서브넷만 허용) - 첫 번째 값이 단일존 로드밸런서 및 네트워크 로드밸런서의 대표 서브넷으로 사용됨 - 미입력 시 `lbPrivateSubnetNo` 적용 - [getSubnetList](/docs/networking-vpc-subnetmanagement-getsubnetlist) 참조 | | `lbPublicSubnetNo` | Integer | Conditional | 클러스터에 적용할 로드밸런서 전용 Public Subnet 번호 - `lbPublicSubnetNoList`를 입력하지 않은 경우, 필수 입력 - [getSubnetList](/docs/networking-vpc-subnetmanagement-getsubnetlist) 참조 | | `lbPublicSubnetNoList[]` | Array | Conditional | 클러스터에 적용할 로드밸런서 전용 Public Subnet 번호 목록 - `lbPublicSubnetNo`를 입력하지 않은 경우, 필수 입력 - 멀티존 구성 시 존별 1개씩 최대 2개 입력 (서로 다른 존의 서브넷만 허용) - 첫 번째 값이 단일존 로드밸런서 및 네트워크 로드밸런서의 대표 서브넷으로 사용됨 - 미입력 시 `lbPublicSubnetNo` 적용 - [getSubnetList](/docs/networking-vpc-subnetmanagement-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 - [Key Management Service 목록](https://console.ncloud.com/security-kms/management) 참조 | | `nodePool` | Array | Optional | 추가할 노드풀 목록: [nodePool](/docs/nks-createcluster#nodePool) | | `addons` | Array | Optional | 클러스터 생성 시 함께 설치할 Add-on 목록: [addons](/docs/nks-createcluster#addons) | #### `nodePool` `nodePool`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `name` | String | Optional | 노드풀 이름 | | `nodeCount` | Integer | Optional | 노드 개수 | | `subnetNo` | Integer | Optional | @deprecated 서브넷 번호 | | `subnetNoList[]` | Array | Optional | 서브넷 번호 - 유효 범위: 클러스터 subnetNoList | | `softwareCode` | String | Optional | 서버 이미지 코드 - [서버 이미지 조회](/docs/nks-viewserverimage) 참조 | | `productCode` | String | Optional | 서비스 코드 - hypervisorCode XEN인 경우만 사용 - [서버 스펙 조회](/docs/nks-viewserverspec) 참조 | | `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 | 서버 유형 - hypervisorCode KVM인 경우만 사용 - [서버 스펙 조회](/docs/nks-viewserverspec) 참조 | | `storageSize` | Integer | Optional | 스토리지 크기 (GB) - `100`~`2000` (기본값: `100`) - hypervisorCode KVM인 경우만 사용 | | `serverRoleId` | String | Optional | 노드풀 서버의 역할을 부여하기 위한 ID - 콘솔 또는 [Role 목록 조회](/docs/management-subaccount-getroles) 참조 | | `zoneCode` | String | Conditional | 노드풀의 존 코드 - `isRegional`이 `true`인 경우, 필수 입력 - 싱글존 클러스터에서는 무시됨 - [getZoneList](/docs/compute-vserver-server-common-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 이름 - `addons` 입력 시 필수 - [Add-on 목록 조회](/docs/nks-getaddonconfiglist) 참조 | | `version` | String | Conditional | 설치할 Add-on 버전 - `addons` 입력 시 필수 - [Add-on 조회](/docs/nks-getaddonconfig)의 `versions[]` 참조 - 예시: `1.0.0` | | `configurationValues` | String | Optional | Helm values 재정의 값(JSON 객체 문자열) - [Add-on 버전 조회](/docs/nks-getaddonconfigversion)의 `configurationSchema` 참조 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` 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 응답 상태 코드](/docs/compute-vpckubernetesservice#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "uuid": "****a20e-e0fb-4dc9-af1b-97fd3f8d****" } ```