Anwendungen mit ReplicaSets skalieren
Verwenden Sie ReplicaSets, um jederzeit eine festgelegte Anzahl identischer Pods sicherzustellen.
Anwendungen mit ReplicaSets skalieren ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Warum Skalierung wichtig ist
In der Welt cloudnativer Anwendungen ist Skalierung entscheidend. Sie stellt sicher, dass Ihre Anwendungen unterschiedlich hohe Auslastungen bewältigen können und verfügbar bleiben, selbst wenn Komponenten ausfallen.
Skalierung bedeutet, die Anzahl der laufenden Anwendungsinstanzen an die Nachfrage anzupassen. Sind es zu wenige, wird Ihre Anwendung langsam oder reagiert nicht mehr. Sind es zu viele, verschwenden Sie Ressourcen.
Das ReplicaSet kennenlernen
Ein ReplicaSet ist ein zentrales Kubernetes-Objekt, dessen Hauptaufgabe darin besteht, jederzeit eine stabile Gruppe laufender Pods aufrechtzuerhalten.
Stellen Sie es sich als Wächter Ihrer Pods vor. Es sorgt dafür, dass die Anzahl der von Ihnen gewünschten identischen Pods stets der Anzahl der tatsächlich laufenden Pods entspricht.
Die Kernaufgabe eines ReplicaSets
Das Hauptziel eines ReplicaSets besteht darin, die Verfügbarkeit einer festgelegten Anzahl identischer Pods zu gewährleisten.
- Wenn ein Pod ausfällt (z. B. aufgrund eines Node-Ausfalls), erstellt das ReplicaSet automatisch einen neuen.
- Wenn ein externer Prozess zu viele Pods erstellt, beendet das ReplicaSet die überzähligen.
- Diese Selbstheilungsfunktion ist entscheidend für die Zuverlässigkeit von Anwendungen.
YAML-Struktur eines ReplicaSets
Wie andere Kubernetes-Objekte wird auch ein ReplicaSet mithilfe einer YAML-Datei definiert. Hier sehen Sie die grundlegende Struktur:
apiVersion: Definiert die Kubernetes-API-Version (z. B.apps/v1).kind: Gibt den Objekttyp an, nämlichReplicaSet.metadata: Enthält identifizierende Informationen wie denname.spec: Beschreibt den gewünschten Zustand des ReplicaSets.
Gewünschter Zustand: Replicas und Selector
Im Abschnitt spec sind replicas und selector zwei wichtige Felder:
replicas: Gibt an, wie viele identische Pods laufen sollen.selector: Legt fest, wie das ReplicaSet Pods findet und verwaltet. Dazu werden Labels verwendet, um Pods zuzuordnen. Nur Pods, die diesen Labels entsprechen, gelten als Teil dieses ReplicaSets.
Das Pod-Template
Das Feld spec.template enthält den Bauplan für die Pods, die das ReplicaSet erstellt. Im Wesentlichen handelt es sich dabei um eine standardmäßige Pod-Definition.
Dieses Template enthält die Metadaten des Pods (z. B. Labels) sowie seine Spezifikation (z. B. Container-Images, Ports usw.). Die Labels im Template müssen mit dem spec.selector übereinstimmen!
Ein einfaches ReplicaSet definieren
Definieren wir ein ReplicaSet, das dafür sorgt, dass immer zwei Nginx-Webserver-Pods laufen. Beachten Sie, dass die Labels des Pod-Templates (app: nginx) mit dem Selector übereinstimmen.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Erstellen und Status prüfen
Um dieses ReplicaSet zu erstellen, speichern Sie das YAML als nginx-rs.yaml und wenden Sie es an. Prüfen Sie anschließend seinen Status und die von ihm verwalteten Pods:
kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginxHoch- und Herunterskalieren
Sie können die gewünschte Anzahl von Pods für ein ReplicaSet mithilfe des Befehls kubectl scale dynamisch ändern. Skalieren wir unser Nginx-ReplicaSet auf vier Pods:
kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginxDie Skalierung beobachten
Wenn Sie ein ReplicaSet skalieren, erstellt oder löscht Kubernetes automatisch Pods, bis die neue Anzahl unter replicas erreicht ist. Sie können diesen Vorgang in Echtzeit beobachten:
kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -wSkalierungsaufgabe
Sie haben ein ReplicaSet namens my-app-rs, in dem derzeit drei Pods laufen. Sie möchten die Anzahl auf fünf Pods erhöhen. Welchen kubectl-Befehl würden Sie verwenden?
Zusammenfassung und nächste Schritte
Sie haben gelernt, dass ReplicaSets entscheidend dafür sind, eine gewünschte Anzahl identischer Pods aufrechtzuerhalten, und dass sie durch Selbstheilung eine hohe Verfügbarkeit Ihrer Anwendungen ermöglichen. Sie können sie in YAML definieren und mit kubectl scale skalieren.
Obwohl ReplicaSets leistungsfähig sind, verwenden Sie in der Praxis häufig Deployments. Diese verwalten ReplicaSets für Sie und bieten zusätzliche Funktionen wie Rolling Updates. Als Nächstes sehen wir uns Deployments an!
Häufig gestellte Fragen
Ist die Lektion „Anwendungen mit ReplicaSets skalieren“ kostenlos?
Ja — der vollständige Text von „Anwendungen mit ReplicaSets skalieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Anwendungen mit ReplicaSets skalieren“?
Verwenden Sie ReplicaSets, um jederzeit eine festgelegte Anzahl identischer Pods sicherzustellen. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Anwendungen mit ReplicaSets skalieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Deployments verstehen
- Anwendungen mit ReplicaSets skalieren
- Rolling Updates und Rollbacks
- Deployment-Strategien: Blue-Green und Canary