---
title: "Create a new kubernetes cluster"
method: POST
path: "/project/{project_id}/location/{location}/kubernetes-cluster/{kubernetes_cluster_reference}"
tags: ["Kubernetes Cluster"]
---

# Create a new kubernetes cluster

`POST /project/{project_id}/location/{location}/kubernetes-cluster/{kubernetes_cluster_reference}`

## Request body

- object
  - `version` string, required — Version of the kubernetes cluster
  - `worker_size` string, required — Size of each worker VM
  - `cp_nodes` integer — Number of control plane nodes
  - `worker_nodes` integer — Number of worker nodes

## Response `200`

A KubernetesCluster

- KubernetesCluster
  - `cp_node_count` integer, required — Number of control plane nodes
  - `cp_vms` Vm[]
    - `boot_image` string, required — Boot image of the VM
    - `id` string, required — ID of the VM
    - `ip4` string, ipv4, nullable, required — IPv4 address
    - `ip4_enabled` boolean, required — Whether IPv4 is enabled
    - `ip6` string, ipv6, nullable, required — IPv6 address
    - `location` string, required — Location of the VM
    - `name` string, required — Name of the VM
    - `size` string, required — Size of the underlying VM
    - `state` string, required — State of the VM
    - `storage_size_gib` integer, required — Storage size in GiB
    - `unix_user` string, required — Unix user of the VM
  - `display_state` string — State of the KubernetesCluster
  - `id` string, required — ID of the KubernetesCluster
  - `location` string, required — Location of the KubernetesCluster
  - `name` string, required — Name of the KubernetesCluster
  - `node_size` string, required — Size of each control plane node
  - `nodepools` KubernetesNodepool[]
    - `kubernetes_cluster_id` string, required — Parent KubernetesCluster id
    - `id` string, required — ID of the KubernetesNodepool
    - `name` string, required — Name of the KubernetesNodepool
    - `node_count` integer, required — Number of worker nodes
    - `node_size` string, required — Size of each worker node
    - `version` string, required — Version of the KubernetesNodepool
    - `vms` Vm[] — Worker VMs definition
      - `boot_image` string, required — Boot image of the VM
      - `id` string, required — ID of the VM
      - `ip4` string, ipv4, nullable, required — IPv4 address
      - `ip4_enabled` boolean, required — Whether IPv4 is enabled
      - `ip6` string, ipv6, nullable, required — IPv6 address
      - `location` string, required — Location of the VM
      - `name` string, required — Name of the VM
      - `size` string, required — Size of the underlying VM
      - `state` string, required — State of the VM
      - `storage_size_gib` integer, required — Storage size in GiB
      - `unix_user` string, required — Unix user of the VM
  - `services_load_balancer_url` string, nullable — Services
  - `version` string, required — Version of the KubernetesCluster

## Other responses

- `default` — An error response

---

[API](https://skmtc.net/ubicloud/apis/clover-api.md) · [All operations](https://skmtc.net/ubicloud/apis/clover-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ubicloud/clover-api/versions/e8e5db50e9a6/schema)
