--- title: "Create cluster (G3)" slug: "cdss-createkvmcluster" updated: 2026-09-17T09:51:28Z published: 2026-09-17T09:51:28Z canonical: "api.ncloud-docs.com/cdss-createkvmcluster" --- > ## 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. # Create cluster (G3) Available in VPC Create a Cloud Data Streaming Service cluster. Note This is a dedicated API for third-generation servers of the KVM hypervisor type. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | POST | /api/v1/cluster/createKvmCluster (Korea Region) | | POST | /api/sgn-v1/cluster/createKvmCluster (Singapore Region) | | POST | /api/jpn-v1/cluster/createKvmCluster (Japan Region) | ### Request headers For information about the headers common to all Cloud Data Streaming Service APIs, see [Cloud Data Streaming Service request headers](/docs/en/analytics-clouddatastreamingservice#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request body You can include the following data in the body of your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `clusterName` | String | Required | Cluster name - Enter 3 to 15 characters using a combination of lowercase English letters, numbers, and the special character "-". - The string must start with a lowercase English letter and end with a lowercase English letter or a number. - Special character "-" can't be used consecutively. | | `kafkaVersionCode` | Integer | Required | Kafka version code - See [Get version](/docs/en/analytics-clouddatastreamingservice-cluster-getkafkaversionlist). | | `configGroupNo` | Integer | Required | Config group number - See [Get config group list](/docs/en/analytics-cdss-configgroup-getkafkaversionconfiggrouplist). - If there is no config group created with the applicable version, [Create config group](/docs/en/analytics-cdss-configgroup-createconfiggroup). | | `kafkaManagerUserName` | String | Required | Manager tool access account ID - Enter 3 to 15 characters using a combination of lowercase English letters, numbers, and the special character "-". - The string must start with a lowercase English letter and end with a lowercase English letter or a number. - Special character "-" can't be used consecutively. | | `kafkaManagerUserPassword` | String | Required | Manager tool access account password - Enter 8 to 20 characters using a combination of English letters, numbers, and special characters. - Unusable special characters: ', ", `, ₩, /, &, space | | `hypervisorCode` | String | Required | Hypervisor code - See [Get server generation](/docs/en/cdss-getservergenerationlist). | | `generationCode` | String | Required | Server generation code - See [Get server generation](/docs/en/cdss-getservergenerationlist). | | `softwareProductCode` | String | Required | Operating system type code - See [Get operating system type (G3)](/docs/en/cdss-getclusterserverimagelist). | | `vpcName` | String | Required | VPC name - See [Get VPC list](/docs/en/analytics-clouddatastreamingservice-cluster-getvpclist). | | `vpcNo` | Integer | Required | VPC number - See [Get VPC list](/docs/en/analytics-clouddatastreamingservice-cluster-getvpclist). | | `managerNodeSubnetName` | String | Required | Manager node subnet name - See [Get subnet list (G3)](/docs/en/cdss-getavailablesubnetlist). | | `managerNodeSubnetNo` | Integer | Required | Manager node subnet number - See [Get subnet list (G3)](/docs/en/cdss-getavailablesubnetlist). | | `managerNodeProductCode` | String | Required | Manager node server type code - See [Get server type (G3)](/docs/en/cdss-getserverspeclist). | | `dataNodeSubnetName` | String | Required | Broker node subnet name - See [Get subnet list (G3)](/docs/en/cdss-getavailablesubnetlist). | | `dataNodeSubnetNo` | Integer | Required | Broker node subnet number - See [Get subnet list (G3)](/docs/en/cdss-getavailablesubnetlist). | | `dataNodeCount` | Integer | Required | Number of broker nodes - 3-10 (default: 3) | | `dataNodeProductCode` | String | Required | Broker node server type code - See [Get server type (G3)](/docs/en/cdss-getserverspeclist). | | `dataNodeStorageType2Code` | String | Optional | Broker node storage connection type code - `NET` (valid value) | | `dataNodeStorageInfraResourceDetailTypeCode` | String | Optional | Broker node storage type code - `CB1` (valid value) | | `dataNodeStorageSize` | Integer | Required | Broker node storage capacity (GB) - 100-2000 (10 GB increment) | | `serverSpecCode` | String | Required | Server spec code - See [Get server type (G3)](/docs/en/cdss-getserverspeclist). | Note The `dataNode` in the request body refers to the broker node, for your reference. ### Request example The request example is as follows: ``` curl --location --request POST 'https://clouddatastreamingservice.apigw.ntruss.com/api/v1/cluster/createKvmCluster' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --data '{ "clusterName": "cluster01", "kafkaVersionCode": "3903006", "configGroupNo": 3**, "kafkaManagerUserName": "ncpadmin", "kafkaManagerUserPassword": "************", "hypervisorCode": "KVM", "generationCode": "G3", "softwareProductCode": "SW.VCDSS.OS.LNX64.ROCKY.08.G003", "vpcName": "test-vpc2", "vpcNo": 4***, "managerNodeSubnetName": "sb1", "managerNodeSubnetNo": 30***, "managerNodeProductCode": "SVR.VCDSS.STAND.C002.M008.NET.SSD.B050.G003", "dataNodeSubnetName": "sb2", "dataNodeSubnetNo": 33***, "dataNodeCount": 3, "dataNodeProductCode": "SVR.VCDSS.STAND.C002.M008.NET.SSD.B050.G003", "dataNodeStorageType2Code": "SSD", "dataNodeStorageInfraResourceDetailTypeCode": "CB1", "dataNodeStorageSize": 100, "serverSpecCode": "cdss.s2-g3" }' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | Integer | - | Response code | | `message` | String | - | Response message | | `result` | Boolean | - | Response result - `true` \| `null` - `true`: Succeeded - `null`: Failed | | `requestId` | String | - | ID for the request - UUID format | ### Response status codes For information about the HTTP status codes common to all Cloud Data Streaming Service APIs, see [Cloud Data Streaming Service response status codes](/docs/en/analytics-clouddatastreamingservice#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The response example is as follows: ``` { "code": 0, "message": "SUCCESS", "result": true, "requestId": "71643b2e-****-****-****-59f75d13f864" } ```