
Vertical Pod Autoscaler in Production: In-Place Resize Works — Until It Doesn't
Kubernetes 1.35 made in-place pod resize stable. Most of the coverage stopped there. The narrative wrote itself: Vertical Pod Autoscaler finally works for stateful workloads. No more restarts. Enable InPlaceOrRecreate and let the autoscaler do its job. The restart tax is gone. That framing is accurate about one thing and misleading about everything else. In-place resize eliminates restart disruption. It does not eliminate the other reasons VPA automation fails in production. VPA has five failure modes. Kubernetes 1.35 fixed one of them. Here's what's still live. Failure Mode 1: Node Capacity Constraints InPlaceOrRecreate has a fallback path the feature name obscures: if the node can't satisfy the resize in-place, VPA evicts the pod anyway. The failure is silent. The pod restarts on a new node. It looks like a normal rescheduling event. kubectl describe vpa <vpa-name> -n <namespace> kubectl get events --field-selector involvedObject.name = <pod-name> -n <namespace> Look for EvictedByVPA
Continue reading on Dev.to DevOps
Opens in a new tab



