Configure VPA (Vertical Pod Autoscaler) in recommendation mode alongside HPA to gather right-sizing data without automatic eviction, and understand the conflict constraints
Install the VPA components including the recommender, updater, and admission controller into the cluster, and verify each component is running and healthy
Create a VerticalPodAutoscaler object targeting the Deployment with updateMode: Off so the VPA recommender gathers data and populates recommendations without evicting pods
After a sufficient observation period, inspect the VPA object's status.recommendation block to read the lower bound, target, and upper bound CPU and memory recommendations
Compare the VPA target recommendations against the current resource requests set in the Deployment and update the requests accordingly if the recommendations indicate significant over or under provisioning
Document the constraint that VPA and HPA cannot both manage the same resource dimension simultaneously without causing a conflict, and plan which dimensions each controller owns
Known gotchas
VPA and HPA conflict when both target CPU: HPA scales replicas based on CPU utilization relative to requests, while VPA changes the requests themselves, causing a feedback loop where VPA increases requests and HPA then scales down replicas; only pair them by having HPA target a custom or memory metric while VPA manages CPU requests
VPA recommendation mode still requires the admission controller component to be running even when updateMode is Off; without the admission controller, VPA objects can be created but produce no recommendations, which is commonly mistaken for a recommender failure
VPA recommendations are only meaningful after pods have run under representative load for a sufficient period; reading recommendations immediately after deployment produces artificially low values based on startup behavior rather than steady-state usage
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp