Kubernetes v1.37:Pod 级资源管理器升级为 Beta
内容提要
Kubernetes v1.37 将 Pod 级资源管理器升级为 Beta(默认禁用)。该功能使 Kubelet 的拓扑、CPU 和内存管理器直接依据 Pod 级资源声明进行硬件放置,支持混合分配:为主容器保留独占 NUMA 对齐资源,同时将非 Guaranteed 边车容器放入 Pod 隔离共享池,避免为辅助容器浪费物理核心。
延伸解读
从 Alpha 到 Beta 的演进
Pod 级资源管理器在 Kubernetes v1.36 中作为 Alpha 功能首次引入,v1.37 升级为 Beta 但默认禁用。这意味着功能已相对稳定,但生产环境需手动启用。Beta 阶段通常用于收集反馈并完善 API,为最终 GA 做准备。
混合分配的实际价值
该功能允许 Kubelet 为主容器保留独占的 NUMA 对齐资源,同时将非 Guaranteed 边车容器放入 Pod 隔离共享池。这样主工作负载获得无节流、NUMA 本地性能,边车也能享受本地 NUMA 对齐和免受外部节点干扰,且不消耗专用物理核心。
对集群运维的影响
此前,为延迟敏感应用获取独占 NUMA 对齐资源需要为 Pod 中所有容器分配整数资源请求,否则完全放弃对齐。新功能解决了这一全有或全无的困境,尤其适合运行轻量边车(如日志代理、遥测导出器)的现代工作负载,避免为辅助容器浪费物理核心。
Q&A
Kubernetes v1.37 中 Pod 级资源管理器升级到什么状态?
在 Kubernetes v1.37 中,Pod 级资源管理器已升级为 Beta 状态,但默认禁用。
Pod 级资源管理器解决了什么核心问题?
它解决了以往为延迟敏感应用获取独占 NUMA 对齐 CPU 或内存时,必须为 Pod 中所有容器分配整数资源请求,否则无法获得独占 NUMA 对齐的“全有或全无”问题。
Pod 级资源管理器如何实现混合分配?
Kubelet 可以为主应用容器保留独占的 NUMA 对齐资源,同时将非 Guaranteed 的边车容器放入 Pod 隔离的共享池中。
使用 Pod 级资源管理器对边车容器有什么好处?
边车容器可以运行在 Pod 隔离的共享池中,享受本地 NUMA 对齐和免受外部节点干扰的保护,同时不消耗专用物理核心。
Pod 级资源管理器在哪个版本首次引入?
该功能在 Kubernetes v1.36 中作为 Alpha 特性首次引入。
升级到 Beta 后,Pod 级资源管理器有哪些 API 增强?
升级到 Beta 后,PodLevelResourceManagers v1 的 PodResourcesLister 中增加了 cpu_ids 和 memory 字段。