A méretezési konfigurációk ismertetése

Befejeződött

A v2 HPA API verziója lehetővé teszi viselkedésének néhány aspektusának finomhangolását egy új kulccsal a YAML-fájlban.spec.behavior Két másik kulcsot is elfogad: scaleDown a leskálázáskor és scaleUpa felskálázáskor a HPA viselkedését meghatározó kulcsokat.

A következő értékek engedélyezettek az egyes kulcsokhoz:

Kulcs Type Description
stabilizationWindowSeconds egész Az az időszak, amelyben a HPA metrikákat keres a kívánt állapot kiszámításához. Az alapértelmezett érték scaleDown öt perc, és nincs stabilizációs időszak a következőre scaleUp: .
selectPolicy sztring A használni kívánt házirendtípus, ez az érték lehet Min, Maxvagy Disabled.
policies tömbje HPAScalingPolicy A lehetséges alkalmazható szabályzatok tömbje.

Az HPAScalingPolicy objektum az alábbi kulcsokkal rendelkező objektumként van definiálva:

Kulcs Type Description
típus sztring A szabályzat típusa lehet Percent vagy Pods.
Érték egész A szabályzat értéke.
periodSeconds egész A szabályzat ismételt alkalmazásához szükséges idő.

A méretezési szabályzatok lehetővé teszik a skálázás működésének finomhangolását. A leskálázási műveletet például letilthatja úgy, hogy a scaleDown szabályzatot a következő példában láthatóra Disabledállítja:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: contoso-website
  namespace: hpa-contoso
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: contoso-website
  minReplicas: 1
  maxReplicas: 10
  behavior:
    scaleDown:
      selectPolicy: Disabled
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 20
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 50

A replikák számát is beállíthatja egy szabályzat definiálásával scaleUp , például a következő módon:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: contoso-website
  namespace: hpa-contoso
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: contoso-website
  minReplicas: 1
  maxReplicas: 10
  behavior:
    scaleUp:
      selectPolicy: Max
      stabilizationWindowSeconds: 120
      policies:
        - type: Percent
          value: 30
          periodSeconds: 60
        - type: Pods
          value: 7
          periodSeconds: 90
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 20
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 50

Ebben a jegyzékben azt mondja a HPA-nak, hogy keresse meg a metrikák utolsó 120 másodpercét, hogy kiszámítsa a kívánt állapotot, és a legmagasabb értéket kapja. Ha így tesz, kiszámítja a meglévő podok 30%-át, felfelé kerekíti ezt a számot, és összehasonlítja a hét pod rögzített értékével. Mivel a selectPolicy beállítás Maxértéke , a két szám közül a nagyobb számot veszi igénybe, és alkalmazza ezt a házirendet, majd megvárja, amíg újra alkalmazza a szabályzatokat periodSeconds .

Tegyük fel például, hogy a webhely 18 podtal fut, majd körülbelül 120 másodpercig tartó csúcsot tapasztal. A kívánt állapot kiszámítása az aktuális futó podok 30%-ának kiszámításával történik, ami 5,4 (6-ra kerekítve). Ezt az értéket összehasonlítjuk a második házirend podjainak számával, ami 7. Mivel a selectPolicy kulcs értéke Maxa következő, a két érték nagyobb értékét használja. Ezután a HPA 7-sel skáláz, és 90 másodpercet vár a felskálázás előtt. Ha a kiugró érték 25 podig folytatódott, a számítás újra megtörténik. A 25 pod 30%-a 7,5 (8-ra kerekítve), ami nagyobb, mint 7. A HPA most nyolc új podot hoz létre, és 60 másodpercig vár, mielőtt újra felskálázható.

Tesztelje tudását

1.

Mi a stabilizálási ablak?

2.

Mi a selectPolicies három értéke?

3.

Mikor kell viselkedést definiálnia a HPA-nak?