Kubernetes v1.36: Tiered Memor... Note

Kubernetes v1.36: Tiered Memory Protection with Memory QoS

Kubernetes v1.36 introduces updates to the Memory QoS feature, which uses cgroup v2 for better container memory management. Key updates in v1.36 include opt-in memory reservation, providing tiered protection based on Pod QoS classes. Guaranteed Pods now receive hard memory protection (memory.min), while Burstable Pods get soft protection (memory.low). BestEffort Pods remain fully reclaimable with no special protection. The new memoryReservationPolicy allows separate control of throttling and reservation. Observability metrics are provided to monitor memory.min and memory.low usage across the node. A kernel version check warns users if the kernel is older than 5.9 due to potential livelock issues. The implementation leverages memory.max, memory.min, memory.low, and memory.high cgroup v2 interfaces. Node memory allocation is managed by the kubelet, ensuring proper protection for each pod and QoS class. The feature can be enabled via kubelet configuration, with TieredReservation being the key setting. The recommended prerequisite is Kubernetes v1.36 or later, Linux with cgroup v2 and Kernel 5.9 or higher. Users can engage with the SIG Node community for feedback and contributions.