Kubernetes v1.36 引入了作为 Alpha 特性的 Pod 级资源管理器(Pod-Level Resource Managers),以增强对性能敏感型工作负载的资源管理。该特性将 kubelet 的拓扑管理器(Topology Manager)、CPU 管理器和内存管理器的功能扩展至以 Pod 为中心的资源分配模型,超越了以往仅针对容器的规格定义。此举解决了为主应用容器提供独占且与 NUMA 对齐的资源,同时高效支持轻量级边车容器(sidecars)的挑战。此前,要实现可预测的性能,通常需为所有容器分配独占资源,这对边车容器而言是一种浪费;反之,若不这样做,则会牺牲 Pod 的 Guaranteed QoS。Pod 级资源管理器支持混合分配模式,使高性能工作负载能够在不浪费资源的前提下实现 NUMA 对齐。例如,一个对延迟敏感的数据库 Pod 可使其主容器获得独占的 CPU 和内存,而边车容器则共享一个独立的 Pod 共享池(pod shared pool),该池与其他节点资源隔离。另一个应用场景涉及机器学习工作负载,其中训练容器获得独占的 NUMA 对齐资源,而服务网格边车容器则在节点范围的共享池中运行。CPU 隔离通过为独占容器禁用 CFS 配额执行,并在共享池容器层面强制执行来实现。启用该功能需要特定的 kubelet 功能门控(feature gates)、Topology Manager 策略以及静态的 CPU 和内存管理器配置。新的 kubelet 指标提供了对资源分配和容器分配的可见性。该功能目前处于 Alpha 阶段,存在已知限制和注意事项,欢迎用户通过 Kubernetes 社区渠道提供反馈。
kubernetes.io
Kubernetes v1.36: Pod-Level Resource Managers (Alpha)
Create attached notes ...
