Resource reservation for system components
System components are installed on each node of the Managed Kubernetes cluster. They are responsible for the functioning of the operating system and the node as part of the Managed Kubernetes cluster. System components use the resources of the node — processor cores (vCPU) and RAM (RAM). There is a risk that pods use all the resources of the node and there are not enough resources for system components. Such a lack of resources leads to node unavailability. To avoid this, when adding nodes to the cluster, we reserve resources for system components by default.
Resources for system components are reserved:
- in clusters with Kubernetes version 1.27 or higher. You can update the cluster version on the cloud server;
- new nodes;
- of existing nodes — only after reinstallations.
Number of resources reserved depends on the configuration used.
You can check the number of available resources on a specific node after creating a cluster or adding a new node group.
Number of resources reserved
vCPU
- 6% of the first core;
- 1% of the second core;
- 0.5% of the third and fourth cores;
- 0.25% of all following cores.
RAM
- 255 MB on nodes with RAM less than 1 GB;
- 25% of the first 4 GB;
- 20% of the next 4GB is up to 8GB;
- 10% of the next 8 GB up to 16 GB;
- 6% of the next 112GB is up to 128GB;
- 2% of storage capacity is greater than 128GB.
Additionally, 100 MB is reserved on each node to handle pod displacement operations (eviction).
Check the number of available resources
You can see how many resources are available on a particular node after reserving resources for system components after creating a cluster or adding a new node group.
Print the description of the node:
kubectl describe node <node_name>
Specify <node_name>
— name of the node on which you want to see the number of available resources.
A section will appear in the response Allocatable
, which will display the number of available resources. For example:
Capacity:
cpu: 8
ephemeral-storage: 20547260Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 4004272Ki
pods: 110
Allocatable:
cpu: 7912m
ephemeral-storage: 18936354785
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 2750896Ki
pods: 110