Skalierung in Kubernetes umfasst das Anpassen der Replikatanzahl von Pods innerhalb eines Deployments. Dieser Vorgang dient dazu, die Anzahl der Instanzen einer Anwendung entsprechend der aktuellen Last und geforderten Leistung dynamisch zu erhöhen oder zu verringern.
Hochskalieren (Scaling Up): -
Kommando:
kubectl scale deployment my-deployment --replicas=n -
Beschreibung: Erhöht die Anzahl der Pods in einem
Deployment auf die angegebene Anzahl der Replikate n. Dies
ist nützlich, um mit erhöhter Last oder verbesserten
Verfügbarkeitsanforderungen umzugehen.
Herunterskalieren (Scaling Down): -
Kommando:
kubectl scale deployment my-deployment --replicas=n -
Beschreibung: Verringert die Anzahl der Pods auf die
angegebene Anzahl der Replikate n. Dies wird in der Regel
durchgeführt, wenn die Last abnimmt und weniger Ressourcen benötigt
werden.
Automatisches Deskalieren (Auto-Scaling): -
Horizontal Pod Autoscaler (HPA): -
Kommando:
kubectl autoscale deployment my-deployment --min=n --max=m --cpu-percent=x
- Beschreibung: Erstellt einen HPA, der die Anzahl der
Pods in einem Deployment automatisch zwischen einem Minimum
n und einem Maximum m basierend auf der
CPU-Auslastung x anpasst.
Beide Arten des Skalierens und Deskalierens ermöglichen eine dynamische Größenanpassung der Kubernetes-Ressourcen, um eine kosteneffiziente und performante Laufzeitumgebung zu gewährleisten.