Kubernetes v1.36:基于内存QoS的分层内存保护
💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
Kubernetes v1.36更新了内存QoS功能,采用cgroup v2内存控制器,提供内存预留、分层保护和可观察性指标。Guaranteed Pods使用memory.min进行硬保护,Burstable Pods使用memory.low进行软保护。新版本允许在节点有足够余量时选择性启用内存预留,提升了内存管理的灵活性和效率。
🎯
关键要点
- Kubernetes v1.36更新了内存QoS功能,采用cgroup v2内存控制器。
- 新增的功能包括选择性启用内存预留、分层保护和可观察性指标。
- Guaranteed Pods使用memory.min进行硬保护,Burstable Pods使用memory.low进行软保护。
- 新版本允许在节点有足够余量时选择性启用内存预留,提升了内存管理的灵活性和效率。
- 内存预留策略分为TieredReservation和None,TieredReservation允许更灵活的内存管理。
- kubelet提供了两个新的指标用于容量规划,分别是kubelet_memory_qos_node_memory_min_bytes和kubelet_memory_qos_node_memory_low_bytes。
- 在内核版本低于5.9时,memory.high限流可能会触发内核死锁问题,v1.36会在启动时检查内核版本并记录警告。
❓
延伸问答
Kubernetes v1.36的内存QoS功能有什么新特性?
Kubernetes v1.36更新了内存QoS功能,新增了选择性启用内存预留、分层保护和可观察性指标。
Guaranteed Pods和Burstable Pods在内存管理上有什么区别?
Guaranteed Pods使用memory.min进行硬保护,而Burstable Pods使用memory.low进行软保护。
如何在Kubernetes v1.36中启用内存QoS的分层保护?
可以通过在Kubelet配置中设置featureGates为MemoryQoS: true,并将memoryReservationPolicy设置为TieredReservation来启用分层保护。
Kubernetes v1.36中新增的可观察性指标有哪些?
新增的可观察性指标包括kubelet_memory_qos_node_memory_min_bytes和kubelet_memory_qos_node_memory_low_bytes。
在Kubernetes v1.36中,内存预留策略有什么变化?
内存预留策略分为TieredReservation和None,TieredReservation允许更灵活的内存管理,Burstable Pods的请求将映射到memory.low而不是memory.min。
Kubernetes v1.36如何处理内核版本低于5.9的情况?
在内核版本低于5.9时,v1.36会在启动时检查内核版本并记录警告,但功能仍然可以正常工作。
🏷️
标签
➡️