Node Configuration

Node Reservations

Why do we need to reserve memory/CPU on each node?

An OpenShift/Kubernetes Node consist system services that ensure the smooth running of cluster e.g. Kubelet, KubeAPIServer and other OS processes/services. These services can be starved by the workloads running on these nodes and can be starved of CPU time or can cause unexpected Out of Memory (OOM) Exceptions. In order to prevent these issues, a small chunk of resources needs to be permanently allocated to these services so they can run smoothly.

System Reservations

These resources are reserved for every node for OS processes

ResourceReserved
CPU0.5 vCPU
Memory2Gi
Ephemeral Storage1Gi

Kubernetes Reservations

These resources are reserved for every node for Kubernetes processes

ResourceReserved
CPU0.5 vCPU
Memory1Gi
Ephemeral Storage1Gi

Eviction Threshold

If the utilization of the resource reaches the threshold value, workload pods will be evicted from that node

ResourceThresholdExplanation
CPUNoneWorkloads will keep running, not evicted
Memory2GiWorkloads will start to get evicted, if only 2Gi of memory left on the node
Storage10%Workloads will start to get evicted, if only 10% of disk storage is left on the node