6 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
This article explains the in-place Pod resizing feature introduced in Kubernetes 1.27, allowing users to adjust resource limits without restarting Pods. It covers how the resizing process works, practical use cases, and limitations. The author provides step-by-step instructions on implementing this feature.
If you do, here's more
Kubernetes 1.27 introduced in-place Pod resource updates, allowing you to adjust CPU and memory allocations for running Pods without restarting them. This feature addresses issues that arise during unexpected traffic spikes when an application consumes more resources than initially allocated. With the Vertical Pod Autoscaler (VPA), there's a risk that it might recreate a Pod during high load, potentially causing cascading failures. In-place resizing mitigates this risk by enabling real-time adjustments, particularly useful for databases, stateless web applications, and machine learning services.
The in-place resizing process involves modifying the Pod's spec and pushing the changes to the Kubernetes API. Kubelet checks if sufficient resources are available on the node and applies the changes without blocking other tasks. If resources aren't available, the Pod is marked as PodResizePending. This feature is especially beneficial for applications like PostgreSQL, which can receive memory boosts without downtime, and for stateless applications that can handle sudden traffic increases. However, some applications, like those built on Java or Node.js, still require specific adjustments and may need restarts to fully utilize new memory limits.
Kubernetes 1.33 enhanced this feature further, making it generally available and simplifying its implementation. Users must enable the InPlacePodVerticalScaling feature gate for both control plane components and kubelet to activate the resource modification capability. The article also details procedures for testing the in-place resizing mechanism, including YAML configurations and command-line patching. The process allows developers to experiment with resource allocation dynamically, improving application performance and reliability without the hassle of restarts.
Questions about this article
No questions yet.