HPA (Horizontal Pod Autoscaler)

Horizontal Pod Autoscaler (HPA) automatically scales the number of pods in any resource which supports the scale subresource based on observed CPU utilization (or, with custom metrics support, on some other application-provided metrics). This proposal adds scale velocity configuration parameters to the HPA to control the rate of scaling in both directions.

Dieser Modus wird verwendet, wenn Traffic flapping erwartet wird oder die Anzahl der Pods nicht zu früh verkleinert werden soll, weil späte Lastspitzen erwartet werden.

Erstelle einen HPA mit der folgender Konfiguration:

behavior:
  scaleDown:
    stabilizationWindowSeconds: 600
    policies:
    - type: Pods
      value: 5
      periodSeconds: 600

Dieser Modus wird benötigt um nicht runter zu skalieren da dies ggf. über einen externen Prozess geschieht

Erstelle einen HPA mit der folgender Konfiguration:

behavior:
  scaleDown:
    selectPolicy: Disabled

Dieser Modus wird benötigt um langsam hoch zu skalieren

Erstelle einen HPA mit der folgender Konfiguration:

behavior:
  scaleUp:
    policies:
    - type: Pods
      value: 1
      periodSeconds: 300

Wenn die Anwendung mit 1 Pod gestartet wird, wird sie schrittweise vergrößert:

1 -> 2 -> 3 -> 4

Dieser Modus wird benötigt um bei schnellem Traffic aufkommen hoch zu skalieren und langsam Pods löschen um kein Risiko vom zu schnellem runter skalieren einzugehen.

Erstelle einen HPA mit der folgender Konfiguration:

behavior:
  scaleUp:
    policies:
    - type: Percent
      value: 900
      periodSeconds: 60
  scaleDown:
    policies:
    - type: Pods
      value: 1
      periodSeconds: 600 # (i.e., scale down one pod every 10 min)

Dieses Verhalten entspricht dem Muster für das Hochskalieren wie im vorherigen Beispiel. Allerdings wird auch das Verhalten beim runter skalieren angegeben. Das scaleUp-Verhalten ist schnell, wie im vorherigen Beispiel erläutert

Beim runter skalieren wird jedoch nur alle 10 Minuten ein Pod gelöscht.

1000 -> 1000 -> 1000 -> … (7 more min) -> 999

Dieser Modus wird benötigt um bei schnellem Traffic aufkommen hoch zu skalieren

Erstelle einen HPA mit der folgender Konfiguration:

behavior:
  scaleUp:
    policies:
    - type: Percent
      value: 900
      periodSeconds: 60

Die Zahl 900 bedeutet, dass das Neunfache der aktuellen Anzahl von Pods hinzugefügt werden kann, so dass die Anzahl der Replikate effektiv das Zehnfache der aktuellen Größe beträgt. Alle anderen Parameter werden nicht angegeben (es werden die Standardwerte verwendet)

Wenn die Anwendung mit 1 Pod gestartet wird, wird sie mit der folgenden Anzahl von Pods skaliert:

1 -> 10 -> 100 -> 1000

Auf diese Weise können sehr schnell maxReplicas erreicht werden.

Das Downskaling erfolgt auf die übliche Weise (siehe Stabilisierungsfenster im Abschnitt Stabilisierungsfenster weiter unten und die Algorithmusdetails in der offiziellen HPA-Dokumentation)