Skip to main content

Add a node group to a Managed Kubernetes cluster

You can add a node group to a Managed Kubernetes cluster on a cloud or dedicated server. In one cluster, you cannot simultaneously use node groups on a dedicated server and node groups on a cloud server.

Learn more about configurations in the Managed Kubernetes node configurations guide.

Add a node group to a cloud server

If the configurations in the Control panel do not fit, you can create a node group with a fixed cloud server configuration (flavor) via the Managed Kubernetes API or Terraform.

  1. In the Control panel, on the top menu, click Products and select Managed Kubernetes.

  2. Open the cluster page → Cluster composition tab.

  3. Click Add node group.

  4. Select a 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.

  5. Configure the worker node settings in the group:

    5.1. Click Select configuration and choose the configuration for worker nodes in the group:

    • custom — any resource ratio can be specified;
    • or fixed with GPU — prebuilt configurations of nodes with GPUs and a specified resource ratio.

    If 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 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 configuration of nodes with GPUs, a boot disk, and specify the disk size. To install GPU drivers yourself, turn off the GPU drivers toggle. By default, the GPU drivers toggle is turned on and preinstalled drivers are used in the cluster.

    5.4. Click Save.

  6. Configure the number of worker nodes. For fault-tolerant operation of system components, 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 a node group, open the Fixed tab and specify the number of nodes.

    6.2. To use autoscaling in a node group, open the 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 GPU node groups without drivers.

  7. Optional: to make a node group preemptible, select the Preemptible node group checkbox. Preemptible node groups are available in the St. Petersburg, Moscow, and Novosibirsk regions.

  8. 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.

    Labels cannot be changed or deleted after the cluster is created.

  9. 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 ones will continue to run;
    • PreferNoSchedule — new pods will be added if there are no other free slots in the cluster;
    • NoExecute — running pods without tolerations will be evicted.

    9.4. Click Add.

  10. 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 the script with data that is not Base64 encoded is 47 KB. You can see examples of scripts and supported formats in the User data instruction.

  11. 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 vCPU, RAM, and local disk size (optional) of the server. You can view all ready-made cloud server flavors and custom-requested flavors.

  1. Open OpenStack CLI.

  2. If the pool you specified when configuring OpenStack CLI does not match the pool whose flavors you want to view, change the authorization data in OpenStack API.

  3. View the list of available flavors:

    openstack flavor list

    Response example for pool ru-9 (abbreviated):

    +------------+-----------------------+--------+------+-----------+-------+-----------+
    | 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 — OpenStack base 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 vCPU;

    • Is Public — flavor scope:

      • True — public ready-made flavors;
      • False — private flavors.

Add a node group on a dedicated server

  1. In the control panel, in the top menu, click Products and select Managed Kubernetes.

  2. Open the cluster page → Cluster composition tab.

  3. Click Add node group.

  4. 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 is created, the pool cannot be changed.

  5. Configure the worker nodes in the group:

    5.1. Click Select configuration.

    5.2. Select a pricing plan.

    5.3. If you need a configuration with GPU, select the Only with GPU checkbox.

    5.4. Select a ready-made configuration of dedicated servers.

    5.5. Click Select.

    After the cluster is created, the node configuration cannot be changed.

  6. Optional: change the default disk partitioning:

    6.1. Click Change.

    6.2. To opt out of the /storage partition, uncheck the /storage checkbox.

    6.3. To change the size of the /root partition, adjust the number of gigabytes allocated for this partition in the /root row. The minimum size is 30 GB. The maximum size is 2 GB less than the disk size (1 GB for the /boot partition and 1 GB for the /storage partition).

    6.4. Click Save.

  7. 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 high-availability of system components, we recommend having at least two worker nodes in the cluster; nodes can be in different groups.

  8. Optional: in the Node group subnet CIDR field, enter the CIDR of a 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, or 192.168.0.0/16 range;
    • 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, or 172.250.0.0/14 ranges. These ranges are involved in internal Managed Kubernetes 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.

  9. 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.

  10. 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 ones will continue to run;
    • PreferNoSchedule — new pods will be added if there are no other free slots in the cluster;
    • NoExecute — running pods without tolerations will be evicted.

    9.4. Click Add.

  11. 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 the script with data that is not Base64 encoded is 47 KB. You can see examples of scripts and supported formats in the User data instruction.

  12. Click Add. You can view all created nodes in the control panel: in the top menu, click ProductsDedicated Servers.