Kubernetes v1.36 Introduces Tiered Memory Protection with Memory QoS
The Kubernetes SIG Node team has announced significant updates to the Memory Quality of Service (QoS) feature in version 1.36, currently in alpha status. This release introduces a tiered memory protection mechanism that separates memory throttling from reservation, offering improved control over container memory management via the cgroup v2 memory controller. A key addition is the opt-in memory reservation policy, which allows users to configure memory protection based on Pod QoS classes. Guaranteed Pods receive hard protection through memory.min, ensuring the kernel does not reclaim this memory under any circumstances. Burstable Pods are assigned soft protection via memory.low, allowing reclamation only during extreme pressure to prevent system-wide Out-of-Memory (OOM) errors. BestEffort Pods remain fully reclaimable. This approach mitigates risks associated with previous versions where excessive hard reservations could lead to OOM kills. Additionally, v1.36 exposes new observability metrics for capacity planning and includes kernel version checks for memory.high throttling compatibility. These enhancements aim to provide cluster administrators with greater flexibility and stability in managing node memory resources.
Wire timeline
Kubernetes v1.36 Introduces Tiered Memory Protection with Memory QoS
The Kubernetes SIG Node team has announced significant updates to the Memory Quality of Service (QoS) feature in version 1.36, currently in alpha status. This release introduces a tiered memory protection mechanism that separates memory throttling from reservation, offering improved control over container memory management via the cgroup v2 memory controller. A key addition is the opt-in memory reservation policy, which allows users to configure memory protection based on Pod QoS classes. Guaranteed Pods receive hard protection through memory.min, ensuring the kernel does not reclaim this memory under any circumstances. Burstable Pods are assigned soft protection via memory.low, allowing reclamation only during extreme pressure to prevent system-wide Out-of-Memory (OOM) errors. BestEffort Pods remain fully reclaimable. This approach mitigates risks associated with previous versions where excessive hard reservations could lead to OOM kills. Additionally, v1.36 exposes new observability metrics for capacity planning and includes kernel version checks for memory.high throttling compatibility. These enhancements aim to provide cluster administrators with greater flexibility and stability in managing node memory resources.
Kubernetes Blog