Vertical Auto Scaler

The Vertical Pod Autoscaler (VPA) in Kubernetes is a tool that automatically adjusts the CPU and memory (RAM) resource requests and limits for containers in a pod based on usage.

  1. Data Collection: It gets metrics of pods from Metrics Server
  2. Analysis :It looks for patterns to find out if the current resources are not enough
  3. Threshold and Policies: It considers some thresholds and policies to determine what to change, for instance if it detects that the pods usage is much higher than the requested one, it may limit the usage
  4. Recommendation : It recommends what it thinks needs to be done.
  5. Update: If VPA is configured in "Auto" mode, it will automatically apply the new resource requests and limits by evicting and recreating the pods with the updated settings. If VPA is in "Off" or "Initial" mode, it will only provide recommendations without automatically applying them.