Updated 25 October 2026 · Published by Zoorik
VPA in Kubernetes is the Vertical Pod Autoscaler, which sets the CPU and memory requests of a workload’s pods to match real use. You install it separately, with a metrics source such as Metrics Server.
What is Vertical Pod Autoscaler used for
It sizes pods up or down from real use, with three parts:
- Recommender: works out a target from current and past use
- Updater: evicts or resizes pods that are far off
- Admission controller: sets the target on new pods
Main update modes:
- Off: recommend only
- Initial: set requests only at pod creation
- Recreate, the default: evict pods that are far off
- InPlaceOrRecreate: resize without a restart, or evict if that fails (AKS 1.34 or later)
The Vertical Pod Autoscaler on AKS is preconfigured in AKS Automatic and optional in AKS Standard. The AKS docs don’t recommend using it with the Horizontal Pod Autoscaler (HPA), which scales on the same CPU and memory use.
A Kubernetes VPA example
In the VPA quickstart, two hamster pods each ask for 100 millicores of CPU (100m). They try to use slightly above 500m. After about 5 minutes, they should get a higher CPU request.
Why it matters for your bill
- Requests set how many pods fit per node, so how many nodes you pay for.
- Smaller requests reduce the bill only once the same pods fit on fewer nodes.
- Bigger ones can need more nodes.
Coral rebalances CPU and memory requests on AKS and EKS to match real use. It drains spare nodes so your autoscaler can remove them, and works with your HPA.
The free assessment works out your own figure.
Read next: VPA vs HPA
Sources: Kubernetes, “Vertical Pod Autoscaling” (opens in a new tab); Kubernetes, “Resource Management for Pods and Containers” (opens in a new tab); Microsoft Learn, “Vertical Pod Autoscaling in Azure Kubernetes Service (AKS)” (opens in a new tab); Kubernetes autoscaler on GitHub, “Vertical Pod Autoscaler quickstart” (opens in a new tab).