Skip to content

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!