HorizontalPodAutoscaler
A HorizontalPodAutoscaler
updates a workload (either a Deployment or StatefulSet) to scale it in line with demand. It achieves this by scaling the number of Pods either up or down according to a configured metric.
Implementation
An HPA resource provides configuration consumed by the HPA Controllers, which will periodically resize workloads (configured by p.r.comp.cloud.cncf.kubernetes.controller-manager (Private)'s --horizontal-pod-autoscaler-sync-period
parameter; every 15 seconds by default).
Once during each period the controller manager:
- Identifies each HPA's associated resource by finding the entity referenced in its
scaleTargetRef
. - Identifies the resource's related pods via its
.spec.selector
. - Checks each Pod's metrics.
Multiple metrics Take the highest value