Skip to main content

Reserving resources for system components in a Managed Kubernetes cluster

Last update:

System components are installed on each node of a 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 node resources—CPU cores (vCPU) and random-access memory (RAM). There is a risk that pods will use all node resources, leaving insufficient resources for system components. Such resource depletion leads to node unavailability. To avoid this, we reserve resources for system components by default when adding nodes to a cluster.

Resources for system components are reserved:

The amount of reserved resources depends on the configuration used.

You can check the amount of available resources on a specific node after creating a cluster or adding a new node group.

The amount of reserved resources

vCPU

  • 6% of the first core;
  • 1% of the second core;
  • 0.5% of the third and fourth cores;
  • 0.25% of all subsequent cores.

RAM

  • 255 MB on nodes with RAM less than 1 GB;
  • 25% of the first 4 GB;
  • 20% of the next 4 GB – up to 8 GB;
  • 10% of the next 8 GB – up to 16 GB;
  • 6% of the next 112 GB – up to 128 GB;
  • 2% of memory volume over 128 GB.

Additionally, 100 MB is reserved on each node for processing pod eviction operations (eviction).

Check the amount of available resources

You can see how many resources are available on a specific node after reserving resources for system components after creating a cluster or adding a new node group.

Get the node description:

kubectl describe node <node_name>

Specify <node_name> — the name of the node where you want to see the amount of available resources.

The response will contain an Allocatable section, which will display the amount 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