HPA & VPA in Kubernetes richtig skalieren

Warum Autoskalierung in Kubernetes oft schiefgeht – und wie du sie richtig aufsetzt

Klartext zuerst

Kubernetes wird gerne als das „Betriebssystem für die Cloud“ verkauft. Ein Hauptversprechen: dynamische Skalierung. Aber die Realität ist ernüchternd: Von allein passiert nichts. Wenn du nicht HPA (Horizontal Pod Autoscaler), VPA (Vertical Pod Autoscaler) und CA (Cluster Autoscaler) aktiv einsetzt, bleibt dein Cluster starr.
Die Folgen kennst du: Entweder brechen deine Services bei Lastspitzen weg – oder du bezahlst für Ressourcen, die 90 % der Zeit Däumchen drehen.

Die drei Ebenen der Kubernetes-Autoskalierung

Damit dein Setup wirklich flexibel wird, musst du auf drei Ebenen denken – und die sauber zusammenspielen lassen.

  • Horizontal (HPA): skaliert Pods rauf und runter. Typisch für Webanwendungen, die bei mehr Traffic einfach mehr Replikas brauchen.
  • Vertikal (VPA): passt CPU- und RAM-Zuweisung einzelner Pods an. Ideal, wenn deine App mal „fetter“ läuft als gedacht.
  • Cluster Autoscaler (CA): kümmert sich um die Nodes selbst. Braucht der Cluster mehr Maschinen, bestellt er welche nach. Sind sie überflüssig, werden sie wieder abgebaut.

👉 Wichtig: Diese drei Werkzeuge arbeiten nicht isoliert. HPA braucht vernünftige CPU-/RAM-Requests, VPA produziert Neustarts, die HPA berücksichtigen muss, und der Cluster Autoscaler reagiert ausschließlich auf Ressourcenzuweisungen, nicht auf echte Nutzung.

Story aus der Praxis

Ganz ehrlich: Ich hab’s schon dutzende Male gesehen – Cluster, die angeblich „smart“ skalieren sollten, aber in der Realität völlig daneben lagen.
Beispiel: Ein Kunde hatte Limits so konservativ gesetzt, dass der HPA nie ansprang. Ergebnis: Die App kippte bei jedem Peak weg.
Beim nächsten Projekt: Requests viel zu hoch, weil „lieber Luft nach oben“. Folge: Der Cluster Autoscaler schoss ständig neue Nodes nach – und die Cloud-Rechnung explodierte.
Die Wahrheit ist: Kubernetes-Autoskalierung ist mächtig, aber gnadenlos ehrlich. Wenn du falsche Annahmen triffst, übersetzt das System sie 1:1 in teure oder instabile Realität.

Vergleich: Wann HPA, VPA, CA?

SzenarioWerkzeugTypische StolperfalleBest Practice
Viele gleichartige Requests (z. B. E-Commerce-Shop zu Black Friday)HPASkaliert falsch, wenn Requests/Limits unsauber definiert sindCPU/Mem-Requests eng an realen Verbrauch anpassen, externe Metriken (z. B. Queue-Länge) nutzen
Pods laufen regelmäßig in OOM-FehlerVPANeustarts führen zu Downtime, wenn nicht bedachtMit „VPA Recommender“ starten, Ergebnisse prüfen, erst dann automatisieren
Cluster muss je nach Tageszeit größer/kleiner werdenCASkaliert nur nach Requests, nicht nach tatsächlicher LastRequests realistisch halten, nicht künstlich hochschrauben, Node-Pools sauber trennen (z. B. GPU vs. CPU)

Handlungsempfehlung

  • Lastspitzen abfangen → HPA aktivieren. Nutze nicht nur CPU, sondern auch App-Metriken wie Response-Zeiten oder Queue-Längen.
  • Pods stabilisieren → VPA einführen. Starte im „Recommendation“-Modus, bevor du live änderst. Sonst wundern dich Neustarts mitten im Betrieb.
  • Kosten im Griff behalten → Cluster Autoscaler sauber konfigurieren. Plane Node-Pools nach Workload-Typ, sonst wirft der CA dir Pods kreuz und quer durch die Gegend.

Und am wichtigsten: Reviewen! Was heute passt, ist in drei Monaten falsch. Baue regelmäßige Checks ein: Requests, Limits, Metriken.

Vertrauen durch Erfahrung

Über 1.100 Teilnehmer haben in meinen Trainings schon genau dieses Aha-Erlebnis gehabt: „Ach so, so funktioniert Autoskalierung wirklich.“
Wir haben Live-Cluster gefahren, HPA und VPA konfiguriert, Lasttests simuliert und CA in der Cloud angebunden. Immer mit echtem Feedback: weniger Kosten, stabilere Systeme, weniger Stress für die Ops-Teams.

FAQ

Ist Autoskalierung nicht automatisch drin?
Nein. Kubernetes skaliert von sich aus gar nichts. Erst mit HPA, VPA und CA legst du Regeln fest.

Kostet das nicht nur Geld?
Kommt drauf an. Wenn du’s sauber einstellst, sparst du massiv. Ohne Autoskalierung musst du für Worst-Case-Kapazität zahlen – egal, ob du sie brauchst oder nicht.

Kann ich auch nach externen Metriken skalieren?
Ja. Über Prometheus Adapter oder externe APIs kannst du alles Mögliche einbeziehen: Fehlerraten, Queue-Längen, Response-Zeiten. Damit wird Autoskalierung richtig spannend.

Kann ich HPA und VPA gleichzeitig nutzen?
Ja – aber vorsichtig. Die beiden können sich gegenseitig ins Gehege kommen. Typisch ist: HPA kümmert sich um die Pod-Anzahl, VPA um die Pod-Größe.