← Back to News

Kubernetes v1.37: Scheduler Preemption for In-Place Pod Resize (Alpha)

Kubernetes v1.37 introduces a significant enhancement to how the scheduler manages resources: preemption support for in-place pod resizing. This new alpha feature builds on the in-place pod resize capability that reached general availability in v1.35, allowing the scheduler to automatically free up resources by evicting lower-priority pods when a higher-priority pod needs to grow within its current node. Instead of waiting for a pod to be rescheduled elsewhere, the scheduler can now make smarter decisions about which workloads should give up resources right away—a meaningful shift in how Kubernetes handles dynamic resource allocation.

To understand why this matters technically, consider how pod resizing worked before this feature. When a pod needed more CPU or memory, the request would be submitted, but the scheduler had limited options: either the resources were available on the node, or the pod would have to wait or be moved. With scheduler preemption for in-place resize, the system gains a new tool. When a higher-priority pod requests to grow in size, the scheduler can now examine other pods on the same node, identify lower-priority candidates for eviction, and preempt them to make room. This creates a more fluid resource management system where priority-based decisions happen at the scheduling layer, not just at the admission layer. The kubelet still handles the actual in-place resize operation, but now the scheduler can orchestrate which pods should shrink or move to enable it.

The practical benefits become clear when you think about real-world application patterns. Imagine you’re running a Kubernetes cluster that handles both critical batch jobs and lower-priority exploratory ML workloads. A critical batch job starts small but needs to scale up mid-execution as data volumes increase. Without this feature, that job might sit blocked waiting for node capacity. With scheduler preemption, the system automatically pauses the experimental ML pods (preserving their state) to give the critical job the resources it needs. This reduces latency for important workloads and lets you pack more diverse workload types into the same cluster. Similarly, in multi-tenant environments, tenant isolation becomes more dynamic—you can prioritize a paying customer’s pod scaling over internal background processes without manual intervention.

For teams already using in-place pod resize, adopting this alpha feature requires enabling the appropriate feature gate and understanding your pod priority classes. Start by auditing which workloads would benefit from automatic preemption-based resizing, then test in non-production environments to verify the behavior aligns with your application needs. Since this is alpha, expect API changes and refinements before general availability. However, if your infrastructure handles variable workloads with clear priority hierarchies—whether that’s batch processing, microservices with burst demands, or multi-tenant platforms—this feature deserves your attention as it matures.

Source
↗ Kubernetes Blog