Was ist Autoscaling?

Mechanismus, der die Zahl der Server oder Container je nach Lastkennzahlen (CPU-Auslastung, Anfragerate, Länge von Warteschlangen usw.) automatisch erhöht oder verringert. Das Hinzufügen von Maschinen heißt Scale-out, das Entfernen Scale-in. Der HorizontalPodAutoscaler von Kubernetes berechnet die benötigte Zahl als ⌈aktuelle Zahl × aktueller Wert ÷ Zielwert⌉. Neue Instanzen brauchen Zeit, bis sie arbeiten; plötzlichen Lastanstiegen begegnet man daher mit einem Zielwert, der Reserven lässt, und vor dem Verringern ist häufig eine Wartezeit vorgesehen, damit sich die Zahl nicht zu oft ändert.

Japanische Bezeichnung: オートスケーリング

„Autoscaling“ kommt in 2 Übungsfragen aus 2 Themen vor, z. B. Systemarchitektur und Zuverlässigkeit, Grundlagen von Cloud und Containern.

Fachgebiet: Grundlagen von Cloud und Containern

Jetzt üben: Fragen zu Autoscaling

Welcher Entwurf ist für ein System, das Server per Autoscaling je nach Last automatisch hinzufügt und entfernt, im Allgemeinen wünschenswert?

  1. AGeschäftsdaten, die nur der jeweilige Server besitzt, auf der lokalen Festplatte jedes Servers speichern
  2. BSitzungsinformationen der Nutzer nicht im Arbeitsspeicher jedes Servers, sondern in einem gemeinsamen Datenspeicher ablegen, sodass das Ergebnis gleich ist, egal welcher Server eine Anfrage verarbeitet
  3. CBeim Verringern der Serverzahl einen Server sofort anhalten, auch wenn er noch Anfragen in Bearbeitung hat
Antwort und Erläuterung anzeigen

Antwort: B. Sitzungsinformationen der Nutzer nicht im Arbeitsspeicher jedes Servers, sondern in einem gemeinsamen Datenspeicher ablegen, sodass das Ergebnis gleich ist, egal welcher Server eine Anfrage verarbeitet

Beim Autoscaling ist ein Entwurf wünschenswert, bei dem die Server keinen eigenen Zustand halten (zustandslos), sodass es keine Rolle spielt, wann Server hinzugefügt oder entfernt werden. Liegen Sitzungsinformationen und Geschäftsdaten in einem gemeinsamen Datenspeicher, kann jeder Server eine Anfrage auf dieselbe Weise verarbeiten, und beim Entfernen von Servern gehen keine Daten verloren. Beim Verringern der Serverzahl erhält ein Server keine neuen Anfragen mehr und wird erst angehalten, wenn seine laufenden Anfragen abgeschlossen sind.

„Autoscaling“ in den Erläuterungen

Fragen mit „Autoscaling“ (2)

  1. Welcher Entwurf ist für ein System, das Server per Autoscaling je nach Last automatisch hinzufügt und entfernt, im Allgemeinen wünschenswert?
  2. In einem Deployment, dessen Pod-Container die obigen Einstellungen haben, laufen vier Pods, von denen jeder 400m (0,4 Kerne) CPU nutzt. Die Ziel-CPU-Auslastung des HorizontalPodAutoscalers ist 60 %, und die benötigte Zahl der Pods wird als ⌈aktuelle Zahl × aktuelle Auslastung ÷ Zielauslastung⌉ berechnet. Wie viele Pods werden benötigt?

Verwandte Begriffe

Pod Container Blue-Green-Deployment Canary-Release Container-Image Docker IaC (Infrastructure as Code) Immutable Infrastructure (unveränderliche Infrastruktur) Kubernetes Modell der geteilten Verantwortung (Shared Responsibility Model)

Zur Glossarübersicht