Add a node group to a Managed Kubernetes cluster
You can add a node group to a Managed Kubernetes cluster on a cloud server or a dedicated server. In one cluster, you cannot simultaneously use node groups on a dedicated server and node groups on a cloud server.
Read more about the configurations in the Managed Kubernetes node configurations guide.
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 cloud server configuration (flavor) via the Managed Kubernetes API or Terraform.
-
In the Control panel, on the top menu, click Products and select Managed Kubernetes.
-
Open the cluster page → Cluster composition tab.
-
Click Add node group.
-
Select the pool segment where all worker nodes in the group will be located. Once a node group has been added, the pool segment cannot be changed.
-
Configure the worker node settings in the group:
5.1. Click Select configuration and choose the worker node configuration in the group:
- custom — any resource ratio can be specified;
- or fixed with GPU — ready configurations for nodes with GPUs and a specified resource ratio.
If standard configurations do not fit 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 have selected a custom configuration, specify the number of vCPUs, RAM, and select a boot disk. Specify the disk size.
5.3. If you have selected a fixed configuration with GPU, choose a prebuilt node configuration with GPUs, a boot disk, and specify the disk size. To install GPU drivers yourself, turn off the GPU drivers toggle. The GPU drivers toggle is turned on by default, and pre-installed drivers are used in the cluster.
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. To have a fixed number of nodes in the node group, open the Fixed tab and specify the number of nodes.
6.2. To use autoscaling in the node group, open the With autoscaling tab and set the minimum and maximum number of nodes in the group; the number of nodes will only change within this range. Autoscaling is not available for node groups with GPU without drivers.
-
Optional: to make a node group preemptible, check the Preemptible node group box. Preemptible node groups are available in the St. Petersburg, Moscow, and Novosibirsk regions.
-
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 containing non-Base64 encoded data is 47 KB. Examples of scripts and supported formats can be found in the User data guide.
-
Click Add node group. You can view all created nodes in the Control panel: on 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 the OpenStack CLI.
-
If the pool you specified during OpenStack CLI configuration does not match the pool whose flavors you want 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, which corresponds to the configuration:m1.XX— basic OpenStack configurations, similar to custom configurations;SLХ.XX— fixed configurations of the Standard line; ;GLХ.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 prebuilt flavors; ;False— private flavors.
-
Add a node group on a dedicated server
-
In the Control panel, on the top menu, click Products and select Managed Kubernetes.
-
Open the cluster page → Cluster composition tab.
-
Click Add node group.
-
Select the pool where all worker nodes in the group will be located. Worker nodes must be in a pool from the same availability zone as the master nodes. Once a node group has been 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, check the GPU only box.
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 Change.
6.2. To remove the
/storagepartition, uncheck the /storage box.6.3. To change the size of the
/rootpartition, change the number of gigabytes allocated for this partition in the /root row. The minimum size is 30 GB. The maximum size must be less than the total 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 for the new private subnet that will be used for the group's worker nodes.
The subnet must meet the following conditions:
- the subnet must be private — belonging 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
10.10.0.0/16,10.222.0.0/16,10.250.0.0/16,10.251.0.0/24, or172.250.0.0/14ranges. 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 — belonging 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 containing non-Base64 encoded data is 47 KB. Examples of scripts and supported formats can be found in the User data guide.
-
Click Add. You can view all created nodes in the Control panel: on the top menu, click Products → Dedicated servers.