Jak uruchomić mechanizm VPA w klastrze?¶
Najważniejsza informacja o Vertical Pod Autoscaler jest taka, że trzeba samemu go wdrożyć na klaster Kubernetesa.
Należy sprawdzić kroki jak obecnie odbywa się instalacja: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/docs/installation.md#install-command
Definicja VPA w manifeście¶
Poniżej znajduje się definicja VPA dostosowanego do monitorowania zużycia CPU na kontenerach w Deploymencie:
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: <vpa_name>
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: <deployment_name>
updatePolicy:
updateMode: "Auto"
resourcePolicy:
containerPolicies:
- containerName: "<container_name>"
minAllowed:
cpu: "<min_allowed_cpu_time>"
maxAllowed:
cpu: "<max_allowed_cpu_time>"
controlledResources: ["cpu]
Rodzaje pola updateMode:
- off - tylko przedstawia rekomendacje, nic nie zmienia
- Initial - tylko przy dodawaniu nowego Poda może zachodzić zmiana
- Recreate - ubija Poda, gdy zużycie przekracza limity
- Auto - (DEPRICATED)
Warning
Należy używać updateMode: Recreate bo Auto jest depricated!