Zum Inhalt springen

Horizontal Pod Autoscaler

Der Horizontal Pod Autoscaler (HPA) skaliert die Anzahl der Pods in Kubernetes automatisch basierend auf CPU-, Speicher- oder benutzerdefinierten Metriken.

Was ist der Horizontal Pod Autoscaler?

Der Horizontal Pod Autoscaler (HPA) ist ein Kubernetes-Controller, der die Anzahl der Pods in einem Deployment, ReplicaSet oder StatefulSet automatisch an die aktuelle Last anpasst. Wenn die CPU-Auslastung steigt, werden neue Pods gestartet; sinkt die Last, werden überschüssige Pods wieder entfernt. So zahlst du nur für die Kapazität, die du tatsächlich benötigst.

Wie funktioniert der HPA?

Der HPA prüft in regelmäßigen Intervallen (standardmäßig alle 15 Sekunden) die aktuellen Metriken und vergleicht sie mit den definierten Zielwerten. Basierend auf dem Verhältnis zwischen Ist- und Soll-Wert berechnet er die optimale Pod-Anzahl und skaliert entsprechend.

Unterstützte Metriken

  • CPU-Auslastung (am häufigsten verwendet)
  • Speicherverbrauch
  • Benutzerdefinierte Metriken (z. B. Anfragen pro Sekunde, Queue-Länge)
  • Externe Metriken (z. B. aus Prometheus oder Datadog)

HPA konfigurieren

Die HPA-Konfiguration erfolgt über Kubernetes-Manifeste oder kubectl-Befehle. Du definierst den minimalen und maximalen Pod-Count sowie die Zielmetriken. Für CPU-basierte Skalierung benötigen deine Pods definierte Resource Requests, damit der HPA die relative Auslastung berechnen kann.

Skalierungsstrategien

  • Behavior-API: Seit Kubernetes 1.18 kannst du Scale-Up- und Scale-Down-Policies separat konfigurieren
  • Stabilisierungsfenster: Verhindert ständiges Hoch- und Runterskalieren (Flapping)
  • Scale-Down-Verzögerung: Standardmäßig 5 Minuten, um voreilige Skalierung nach unten zu vermeiden

HPA und Cluster Autoscaler

Der HPA skaliert Pods innerhalb bestehender Nodes. Wenn keine Node-Kapazität mehr verfügbar ist, greift der Cluster Autoscaler ein und fügt neue Nodes hinzu. Zusammen bilden sie ein zweistufiges Autoscaling-System: HPA für die Anwendungsebene, Cluster Autoscaler für die Infrastrukturebene.

Best Practices

  • Setze immer Resource Requests und Limits für CPU und Speicher
  • Starte mit konservativen Skalierungsgrenzen und optimiere iterativ
  • Nutze Prometheus-Metriken für anwendungsspezifische Skalierung
  • Kombiniere HPA mit Pod Disruption Budgets für Hochverfügbarkeit
  • Überwache die Skalierungsereignisse über Kubernetes Events und Monitoring

Warum devRocks?

Wir konfigurieren deinen HPA so, dass deine Anwendungen zuverlässig auf Lastspitzen reagieren und in ruhigen Zeiten Ressourcen freigeben. Unsere Kubernetes-Experten definieren die richtigen Metriken und Schwellenwerte für optimale Performance bei minimalen Kosten.

Häufig gestellte Fragen zu Horizontal Pod Autoscaler

HPA ist bereits ab zwei Pods sinnvoll. Die Mindestanzahl (minReplicas) sollte die Grundlast abdecken, während maxReplicas die Obergrenze für Lastspitzen definiert.

Ja, über die Custom Metrics API und External Metrics API kannst du beliebige Metriken verwenden, z. B. Anfragen pro Sekunde aus Prometheus oder Queue-Längen aus RabbitMQ.

Der HPA skaliert horizontal durch Hinzufügen oder Entfernen von Pods. Der Vertical Pod Autoscaler (VPA) skaliert vertikal, indem er die Ressourcen-Requests einzelner Pods anpasst.

Nutze die Behavior-API, um Stabilisierungsfenster und Skalierungsraten zu konfigurieren. Ein Scale-Down-Stabilisierungsfenster von 5 Minuten verhindert voreilige Reduzierungen.

Interesse geweckt?

Lassen Sie uns über Ihr Projekt sprechen. Wir beraten Sie gerne unverbindlich.

Kontakt aufnehmen

Zuletzt aktualisiert: April 2026