VPA
Vertical Pod Autoscaler — Kubernetes add-on that recommends (or auto-updates) pod resources (CPU/memory requests) based on historical usage. Less used than HPA — requires pod restart to apply, disruptive.
Three modes: Off (just recommendations), Initial (set requests on create), Auto (re-create pods with new requests). Auto mode and HPA on CPU/memory are incompatible — they conflict on the same metric. Workaround: HPA on a custom metric (RPS), VPA on CPU. Modern alternative: KRR (KubeReady Resource Recommender) runs batch analysis, recommendations without auto-apply. For batch workloads (Argo Workflows, Spark) that run once, VPA is valuable — right resources from the start.