Kubernetes v1.37 Graduates Pod-Level Resource Managers to Beta
Kubernetes v1.37 advances Pod-Level Resource Managers to Beta, enhancing resource allocation with hybrid models for improved performance.
- Topic
- DevOps
- Reading time
- 5 min
- Length
- 1,027 words
- Published
- Sep 16, 2026
01:26 pm IST
In this article
Kubernetes v1.37 has officially moved the Pod-Level Resource Managers feature to Beta status. This upgrade is significant for developers and DevOps professionals who manage workloads requiring precise resource allocation. Initially introduced in Kubernetes v1.36 as an Alpha feature, Pod-Level Resource Managers now promise enhanced performance and flexibility by allowing more granular hardware placement decisions based on pod-level resource declarations.
Understanding the Change
The transition of Pod-Level Resource Managers to Beta means that the feature is now more stable and ready for broader testing in production environments, although it remains disabled by default. To activate it, users must opt-in through the PodLevelResourceManagers feature gate. This shift marks a critical step towards a more integrated and efficient way of managing resources at the pod level, leveraging the capabilities of Kubelet's Topology Manager, CPU Manager, and Memory Manager.
Why This Matters
Before this enhancement, developers faced a dilemma when dealing with NUMA-aligned CPU cores or memory. To ensure optimal performance for latency-critical applications, they had to allocate integer resource requests for every container within a Pod. This approach often resulted in inefficient resource usage, particularly for modern workloads with lightweight sidecars such as logging agents or telemetry exporters. These auxiliary containers typically do not require dedicated physical cores, making the all-or-nothing approach wasteful.
With Pod-Level Resource Managers, Kubernetes introduces a hybrid allocation model. The Kubelet can now reserve exclusive NUMA-aligned resources for primary application containers, while simultaneously placing non-Guaranteed sidecars into a pod-isolated shared pool. This ensures that primary workloads receive the unthrottled, NUMA-local performance they require, while sidecars enjoy local NUMA alignment and protection from external node interference without consuming unnecessary resources.
Operational and API Enhancements
The graduation to Beta brings several operational and API enhancements. The v1PodResources gRPC service, also known as PodResourcesLister, now introduces top-level cpu_ids and memory fields on PodResources responses. This update allows monitoring tools and device plugins to query pod-level exclusive assignments directly, eliminating the need to double-count container allocations. This improvement is crucial for maintaining accurate resource tracking and utilization metrics.
The ability to directly query pod-level resource allocations simplifies the monitoring process significantly. Before this update, administrators had to manually calculate the sum of container resource requests to understand the total resources allocated to a pod, often leading to errors or inefficiencies in resource utilization tracking. With the new fields, the process becomes more streamlined and less prone to human error.
Implementing Pod-Level Resource Managers
For those looking to implement this feature, the process involves enabling the PodLevelResourceManagers feature gate and configuring the pod specifications to leverage the enhanced resource management capabilities. Here is a basic example of how you might define resource requests at the pod level:
apiVersion: v1
kind: Pod
metadata:
name: example-pod
spec:
containers:
- name: main-app
image: main-app-image
resources:
requests:
cpu: 500m
memory: 1Gi
- name: sidecar
image: sidecar-image
resources:
requests:
cpu: 200m
In this configuration, the main application container is allocated specific CPU and memory resources, while the sidecar is given a smaller share, demonstrating how the hybrid model can be applied.
Practical Steps to Leverage This Feature
To effectively use Pod-Level Resource Managers in your Kubernetes cluster, follow these practical steps:
- Enable the Feature Gate: Start by enabling the
PodLevelResourceManagersfeature gate in your Kubernetes setup. This step is crucial as the feature is disabled by default in v1.37. - Configure Pod-Level Resources: Adjust your pod specifications to take advantage of pod-level resource allocations. Clearly define the resource requests for each container within your pods, focusing on primary applications needing exclusive NUMA-aligned resources.
- Monitor and Optimize: Utilize the new
v1PodResourcesgRPC service to monitor resource allocations and optimize performance. This will help ensure that your workloads are running efficiently and that resources are being utilized effectively. - Report Feedback: As this feature is still in Beta, your feedback is valuable. Engage with the Kubernetes community to report any issues or share your experiences to help improve the feature as it progresses towards General Availability (GA).
Monitoring with the new API allows you to adjust resources dynamically based on actual usage patterns. For instance, if you notice that a sidecar container consistently uses less CPU than requested, you can adjust the allocation to free up resources for other workloads.
For additional insights and updates on Kubernetes v1.37, you might find our post on how Kubernetes 1.37 Elevates Native Histogram Support to Beta useful, as it discusses other enhancements in the same release cycle.
Limitations of Pod-Level Resource Managers
Despite its advantages, the Pod-Level Resource Managers feature does not solve every challenge. Here are some limitations to consider:
- Complexity in Configuration: Setting up and managing pod-level resources adds complexity to your Kubernetes configurations. Teams must be diligent in defining and maintaining these settings to avoid misconfigurations.
- Disabled by Default: Since the feature is disabled by default, additional steps are necessary to enable and configure it, which might not be suitable for all production environments yet.
- Feedback and Evolution: As a Beta feature, it is still subject to changes based on community feedback and testing. This means that further adjustments and learning will be necessary as the feature evolves towards GA.
Another limitation is that while the feature supports more granular resource allocation, it may not yet integrate seamlessly with all existing Kubernetes tooling and processes. This might require additional tooling or modifications to existing workflows to fully leverage the benefits of pod-level resource management.
In my experience, while the feature provides significant benefits for resource allocation, it is crucial to test it thoroughly in a staging environment before deploying it in production. This can help uncover any potential issues related to the specific workloads and configurations used in your environment.
Furthermore, this feature primarily benefits workloads that require specific NUMA-aligned resources. For applications that are not latency-sensitive or do not require such precise resource allocation, the traditional methods of resource allocation might still suffice without the need for this advanced configuration.
Lastly, as this feature is in Beta, it may not yet be fully supported by all Kubernetes distributions or cloud providers. It is important to verify compatibility with your specific Kubernetes environment and consider the potential need for additional support or custom solutions to fully implement Pod-Level Resource Managers.
Sources
Kubernetes v1.37: Pod-Level Resource Managers graduated to Beta
Every claim above was checked against this source before publishing. The analysis, the code and the opinions are mine.
Frequently asked
What is the main benefit of Pod-Level Resource Managers in Kubernetes v1.37?
The main benefit is the ability to use hybrid allocation models, allowing exclusive NUMA-aligned resources for primary application containers while placing non-Guaranteed sidecars in a shared pool.
How can I enable Pod-Level Resource Managers in Kubernetes v1.37?
You can enable it by activating the PodLevelResourceManagers feature gate in your Kubernetes configuration, as it is disabled by default.
What enhancements does the Beta version of Pod-Level Resource Managers include?
The Beta version includes operational and API enhancements like the v1PodResources gRPC service with top-level cpu_ids and memory fields on PodResources responses.
Are there any limitations to using Pod-Level Resource Managers?
Yes, limitations include the complexity of setup, the feature being disabled by default, and its status as a Beta feature subject to further changes.