Add a node group to a Managed Kubernetes cluster
You can add a node group on a cloud server or dedicated server to a Managed Kubernetes cluster. You cannot simultaneously use node groups on dedicated servers and node groups on cloud servers in the same cluster.
Learn more about configurations in the Managed Kubernetes node configurations instructions.
Add a node group on a cloud server
Control panel
API
Terraform
If the configurations in the control panel do not fit your needs, you can create a node group with a fixed configuration (flavor) of cloud servers via the Managed Kubernetes API or Terraform.
-
In the control panel, in the top menu, click Products and select Managed Kubernetes.
-
In the Clusters section, open the cluster page → Cluster composition tab.
-
Click Add node group.
-
Select a pool segment where all worker nodes in the group will be located. After the node group is added, the pool segment cannot be changed.
-
Configure the worker node settings in the group:
5.1. Click Select configuration and select the configuration of the worker nodes in the group:
- custom — you can specify any resource ratio;
- or fixed with GPU — ready-made node configurations with graphics processing units and a preset resource ratio.
If the standard configurations do not suit your needs, after creating the cluster you can add a node group with a fixed cloud server configuration via the Managed Kubernetes API or Terraform.
5.2. If you selected a custom configuration, specify the number of vCPUs, RAM, and select a boot disk. Specify the disk size.
5.3. If you selected a fixed configuration with GPU, select a ready-made node configuration with GPUs, a boot disk, and specify the disk size. To install GPU drivers yourself, turn off the GPU Drivers toggle switch. By default, the GPU Drivers toggle switch is enabled and the cluster uses preinstalled drivers.
5.4. Click Save.
-
Configure the number of worker nodes. For fault-tolerant system component operation, we recommend having at least two worker nodes in the cluster; nodes can be located in different groups:
6.1. For the node group to have a fixed number of nodes, open the Fixed tab and specify the number of nodes.
6.2. To use autoscaling in the node group, open the Autoscaled tab and set the minimum and maximum number of nodes in the group — the number of nodes will change only within this range. Autoscaling is not available for GPU node groups without drivers.
-
Optional: to make the node group preemptible, select the Preemptible node group checkbox. Preemptible node groups are available in the regions of Saint Petersburg, Moscow, and Novosibirsk.
-
Optional: add node group labels:
8.1. In the Labels field, click Add.
8.2. Enter the label key and value.
8.3. Click Add.
After the cluster is created, labels cannot be changed or deleted.
-
Optional: add node group taints:
9.1. In the Taints field, click Add.
9.2. Enter the taint key and value.
9.3. Select an effect:
- NoSchedule — new pods will not be added, and existing pods will continue to run;
- PreferNoSchedule — new pods will be added if there are no other available spots in the cluster;
- NoExecute — running pods without tolerations will be removed.
9.4. Click Add.
-
Optional: add a script with custom parameters to configure the Managed Kubernetes cluster:
10.1. In the User data field, click Add.
10.2. Paste the script. The maximum size of a script with non-Base64-encoded data is 47 KB. You can view example scripts and supported formats in the User data instructions.
-
Click Add node group. You can view all created nodes in the control panel: in the top menu, click Products and select Cloud Servers.
View the list of flavors in a specific pool
Flavors correspond to cloud server configurations and define the number of vCPUs, RAM, and the size of the local disk (optional) of the server. You can view all prebuilt cloud server flavors and on-demand flavors.
-
Open OpenStack CLI.
-
If the pool that you specified when configuring the OpenStack CLI does not match the pool whose flavors you need to view, change your authorization data in the OpenStack API.
-
View the list of available flavors:
openstack flavor listExample response for the ru-9 pool (abridged):
+------------+-----------------------+--------+------+-----------+-------+-----------+| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |+------------+-----------------------+--------+------+-----------+-------+-----------+| 1 | m1.tiny | 512 | 0 | 0 | 1 | True || 1011 | SL1.1-1024 | 1024 | 0 | 0 | 1 | True || 3021 | GL2.6-24576-0-1GPU | 24576 | 0 | 0 | 6 | True || 9011 | PRC10.1-512 | 512 | 0 | 0 | 1 | True || 9021 | PRC20.1-512 | 512 | 0 | 0 | 1 | True || 9051 | PRC50.1-512 | 512 | 0 | 0 | 1 | True || 8301 | HFL1.1-2048-30 | 2048 | 30 | 0 | 1 | True |+------------+-----------------------+--------+------+-----------+-------+-----------+Where:
-
ID— cloud server flavor ID; -
Name— flavor name that corresponds to the configuration:m1.XX— basic OpenStack configurations similar to custom configurations;SLX.XX— fixed configurations of the Standard line;GLX.XX— fixed configurations of the GPU line;PRC10.XX— fixed configurations of the Shared line with a 10% vCPU share;PRC20.XX— fixed configurations of the Shared line with a 20% vCPU share;PRC50.XX— fixed configurations of the Shared line with a 50% vCPU share;HFLX.XX— fixed configurations of the HighFreq line;
-
RAM— RAM size in MB; -
Disk— local disk size in GB; -
VCPUs— number of vCPUs; -
Is Public— flavor visibility:True— public ready-made flavors;False— private flavors.
-
Add a node group on a dedicated server
-
In the control panel, in the top menu, click Products and select Managed Kubernetes.
-
In the Clusters section, open the cluster page → Cluster composition tab.
-
Click Add node group.
-
Select the pool where all worker nodes in the group will be located. The worker nodes must be located in a pool from the same availability zone as the master nodes. After the node group is created, the pool cannot be changed.
-
Configure the worker node settings in the group:
5.1. Click Select configuration.
5.2. Select a billing plan.
5.3. If you need a configuration with GPU, select the Only with GPU checkbox.
5.4. Select a prebuilt dedicated server configuration.
5.5. Click Select.
After the cluster is created, node configuration cannot be changed.
-
Optional: change the default disk partitioning:
6.1. Click Edit.
6.2. To opt out of the
/storagepartition, clear the /storage checkbox.6.3. To resize the
/rootpartition, in the /root line, change the number of gigabytes allocated for this partition. The minimum size is 30 GB. The maximum size is the disk size minus 2 GB (1 GB for the/bootpartition and 1 GB for the/storagepartition).6.4. Click Save.
-
Configure the number of worker nodes:
7.1. Open the Fixed tab.
7.2. Specify the number of nodes. The minimum number of nodes is one. For fault-tolerant system component operation, we recommend having at least two worker nodes in the cluster; nodes can be located in different groups.
-
Optional: in the Node group subnet CIDR field, enter the CIDR of the new private subnet to be used for the group worker nodes.
The subnet must meet the following conditions:
- the subnet must be private — belong to the
10.0.0.0/8,172.16.0.0/12, or192.168.0.0/16range; - the subnet size must be
/24; - the subnet must not overlap with the ranges
10.10.0.0/16,10.222.0.0/16,10.250.0.0/16,10.251.0.0/24, and172.250.0.0/14. These ranges are used for Managed Kubernetes internal addressing; - the subnet must not overlap with the CIDR of another node group's subnet or the CIDR of the cloud network used for communication between master nodes and the service global router.
The subnet will be created in a separate VLAN. If you do not specify a CIDR, it will be assigned automatically when the cluster is created.
- the subnet must be private — belong to the
-
Optional: add node group labels:
8.1. In the Labels field, click Add.
8.2. Enter the label key and value.
8.3. Click Add.
-
Optional: add node group taints:
9.1. In the Taints field, click Add.
9.2. Enter the taint key and value.
9.3. Select an effect:
- NoSchedule — new pods will not be added, and existing pods will continue to run;
- PreferNoSchedule — new pods will be added if there are no other available spots in the cluster;
- NoExecute — running pods without tolerations will be removed.
9.4. Click Add.
-
Optional: add a script with custom parameters to configure the Managed Kubernetes cluster:
9.1. In the User data field, click Add.
9.2. Paste the script. The maximum size of a script with non-Base64-encoded data is 47 KB. You can view example scripts and supported formats in the User data instructions.
-
Click Add. You can view all created nodes in the control panel: in the top menu, click Products → Dedicated Servers.