Skip to content

VPA resource recommendation bounds

In the context of the VPA, resource recommendation bounds define the calculated operating ranges for container resources like CPU and memory. These bounds help determine if a Pod requires resource adjustment or eviction to match historical usage patterns and policy constraints.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

Recommendation Metrics

The VPA Status field provides four distinct values to guide resource scaling decisions.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

  • Target: The recommended amount of resources for the container to run optimally.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]
  • Uncapped Target: The calculated recommendation without constraints from minAllowed or maxAllowed policies.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]
  • Lower Bound: The minimum threshold. If a Pod's current request is lower than this value, the VPA considers the resource under-provisioned and will evict the Pod to replace it with a correctly configured one.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]
  • Upper Bound: The maximum threshold. If a Pod's current request exceeds this value, the VPA considers it over-provisioned or exceeding safety limits, triggering an eviction to bring the allocation down.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

Policy Constraints

The relationship between the Target and Uncapped Target is defined by the resourcePolicy within the VPA configuration.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

  • minAllowed: Defines the minimum resource limit (e.g., cpu: 100m) that the autoscaler will assign.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]
  • maxAllowed: Defines the maximum resource limit (e.g., memory: 500Mi) that the autoscaler will assign.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

These constraints can be applied globally using a wildcard (*) or targeted to specific containers by name.^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]

Sources

^[400-devops__06-Kubernetes__k8s-ithelp__Day27__README.md]