How to create clusters
- Web console
- CLI
- Terraform
- In the sidebar, go to Compute → Kubernetes.
- Click Create cluster.
-
On the Cluster step, configure the cluster:
-
In the General section:
- Enter the cluster name.
- (Optional) Enter labels in the
key:valueformat.
- In the Network section, review the network and subnet. They are selected by default.
-
In the Control plane section:
- The Kubernetes version is set by default. For supported versions, see Kubernetes® versions in Managed Service for Kubernetes.
- A public endpoint is allocated by default. As a result, the cluster is available from the internet, you can connect to it from any machine. If you want to prevent access to the cluster from the internet, disable the public endpoint option. Then, you can connect to the cluster only from a virtual machine (VM) located in the same subnet as the cluster.
- (Optional) In the Observability section, enable Audit logs to record metadata about operations that modify the cluster. For details, see Logs in Managed Service for Kubernetes.
- Click Next.
-
In the General section:
-
On the Node groups step, optionally configure one or more node groups.
You can create a cluster without node groups and add them later. For more information, see Creating and modifying Managed Service for Kubernetes® node groups.
To add a node group during cluster creation:
- Click Add node group.
-
Configure the node group. If you have capacity block groups, the Reservations step is also shown between General and Compute resources.
-
On the General step:
- Enter the node group name.
- (Optional) Enable Assign public IPv4 addresses if you want the nodes to be accessible from the internet.
-
Under Size:
- (Optional) Enable Autoscaling if you want to let the node group scale up or down depending on the workload.
- Specify the initial Number of nodes.
-
Under Advanced:
- Auto-repair is enabled by default. When enabled, Managed Kubernetes automatically replaces unhealthy nodes.
- (Optional) Specify Max pods per node to limit how many Pods can run on each node in the group.
-
If the Reservations step is shown, select Reservation usage:
-
With reservations: Resources are allocated from reservations (capacity block groups). This ensures that resources are always available, even if VMs in the node group are stopped (for example, by you or a maintenance event).
In the Reservation section, you can configure the following options:
- Any (existing and future) (default): Compute selects among your matching capacity block groups automatically.
- Specific capacity block groups: Select one or more capacity block groups. Each option shows the capacity block group ID, reservation period and GPU usage. Make sure the selected groups have enough capacity and do not expire soon.
-
Switch to PAYG: Choose whether the VM can start after you create or restart it without active intervals in selected capacity block groups:
- When reservation is exhausted (default): The VM can start as a pay-as-you-go VM when no capacity is available in the selected capacity block groups.
- Never: The VM cannot start without available capacity in the selected capacity block groups.
- Without reservations: Resources are allocated from a common pool, and no reservations are used for the node group.
-
With reservations: Resources are allocated from reservations (capacity block groups). This ensures that resources are always available, even if VMs in the node group are stopped (for example, by you or a maintenance event).
In the Reservation section, you can configure the following options:
-
On the Compute resources step:
- Select whether the node group should have GPUs.
- Select a regular or preemptible VM type. VMs without GPUs only support the regular type. For information about preemptible node groups, see Creating and modifying Managed Service for Kubernetes® node groups — Preemptible node groups.
- If you create the node group with reservations, specify a Reservation ID.
- Select an available platform and preset (a combination of GPUs, vCPUs and RAM) that fits your workload requirements.
- (Optional) If you create a node group with 8 GPUs (for example, for training models), use a GPU cluster for the node group. InfiniBand™ in the cluster allows you to accelerate tasks that require high-performance computing (HPC) power. To use a GPU cluster, select an existing one or click Create in the GPU cluster field and specify the cluster name and InfiniBand fabric. To select the fabric, see InfiniBand fabrics.
- (Optional) Enable or disable GPU settings. They are enabled by default, and they allow Managed Kubernetes to pre-install NVIDIA drivers and the Container Toolkit. You can also select a specific NVIDIA CUDA driver version.
-
Select an operating system for the nodes (for example,
Ubuntu 24.04 LTS).
- On the Storage step, select the disk type and specify the size in GiB. Supported disk types are SSD, SSD NRD and SSD IO. (Optional) To attach a shared filesystem, click Attach shared filesystem, select an existing filesystem or create a new one, and specify a mount tag.
-
On the Additional step:
-
(Optional) In the Username and SSH key field, add credentials, so you can connect to the node group:
- Generate an SSH key pair.
- In the Username and SSH key field, select an existing key or click Create to add a new one.
- (Optional) Select or create a service account that will perform actions on behalf of the nodes.
-
(Optional) In the Username and SSH key field, add credentials, so you can connect to the node group:
-
On the General step:
- To add another node group with a different configuration, click Add node group.
- To remove a node group, click → Delete next to its name.
- Click Next.
-
(Optional) On the Applications step, select applications to deploy to the cluster. Each application requires at least one node group. For more information, see Deploying and deleting applications for Managed Service for Kubernetes®.
- Click Next.
- On the Review step, check the cluster configuration and click Create cluster.
How to modify clusters
- CLI
- Terraform
-
Get the ID of the cluster via its name:
Alternatively, you can use the listing command:
nebius mk8s cluster list. -
Update the cluster settings:
The command contains the following parameters:
-
--labels: Labels in thekey=valueformat.
-
--control-plane-endpoints-public-endpoint: Enables a public endpoint. As a result, the cluster is available from the internet, one can connect to it from any machine. If you want to disable access to the cluster from the internet, set the parameter tofalse. Then, one can connect to the cluster only from a virtual machine located in the same subnet with the cluster. -
--control-plane-endpoints-public-endpoint-allowed-cidrs(optional): Allowed CIDR blocks for the public endpoint. Only the IP addresses of these CIDR blocks are allowed to connect to the cluster. Specify the CIDR blocks in the IPv4 format with bits for hosts equal to zero. For example,192.168.0.0/24or8.8.8.64/26. Pass over each CIDR block as a separate--control-plane-endpoints-public-endpoint-allowed-cidrsparameter. For more information, see Access restriction for a public endpoint of a Managed Service for Kubernetes® cluster.
--control-plane-etcd-cluster-size: Number or etcd stores. Three of them ensure high availability of the cluster.
--fullto the command. This will update all parameters with the default values or the values specified in the--fullcommand. -