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

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.

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

  2. In the Clusters section, open the cluster page → Cluster composition tab.

  3. Click Add node group.

  4. Select the pool segment where all worker nodes in the group will be located. Once the node group is added, the pool segment cannot be changed.

  5. Configure the worker node settings in the group:

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

    • custom — you can specify any resource ratio;
    • or fixed with GPU — prebuilt node configurations with GPUs and a specified resource ratio.

    If standard configurations do not suit your needs, after creating a 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 and 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, select a boot disk and specify the disk size. To install GPU drivers yourself, turn off the GPU drivers switch. By default, the GPU drivers switch 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 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 a node group, open the Fixed tab and specify the number of nodes.

    6.2. To use autoscaling for 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 change only within this range. Autoscaling is not available for GPU node groups without drivers.

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

  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.

    After the cluster is created, labels cannot be changed or deleted.

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

  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 non-Base64-encoded data is 47 KB. You can find script examples and supported formats in the User data guide.

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

  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 your authorization data in the OpenStack API.

  3. View the list of available flavors:

    openstack flavor list

    Example 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;
      • 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

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

  2. In the Clusters section, 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 has been created, the pool cannot be changed.

  5. 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 GPU only checkbox.

    5.4. Select a prebuilt dedicated server configuration.

    5.5. Click Select.

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

  6. Optional: modify the default disk partitioning:

    6.1. Click Edit.

    6.2. To remove the /storage partition, clear the /storage checkbox.

    6.3. To change the size of the /root partition, change the number of gigabytes allocated for this partition in the /root row. The minimum size is 30 GB. The maximum size is the disk size minus 2 GB (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 fault-tolerant system component operation, we recommend having at least two worker nodes in the cluster; nodes can be located in different groups.

  8. Optional: in the Node group subnet CIDR field, enter the CIDR of 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 — belong 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. These ranges are used for internal addressing in Managed Kubernetes;
    • 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 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.

  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 non-Base64-encoded data is 47 KB. You can find script examples and supported formats in the User data guide.

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