Deployments für zustandslose Apps
Verwenden Sie Deployments zur Verwaltung zustandsloser Anwendungen und ermöglichen Sie dadurch Rolling Updates und Rollbacks.
Deployments für zustandslose Apps ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Kubernetes-Deployments kennenlernen
Willkommen bei einem grundlegenden Konzept in Kubernetes: Deployments! Sie sind die zentrale Ressource für die Verwaltung zustandsloser Anwendungen.
Stellen Sie sich ein Deployment als Bauplan für Ihre Anwendung vor. Es teilt Kubernetes mit, wie viele Kopien (Replikate) Ihrer Anwendung ausgeführt werden sollen und wie diese ohne Ausfallzeit aktualisiert werden können.

Mehr als Pods und ReplicaSets
Sie haben Pods (die kleinste Einheit) und ReplicaSets (die eine bestimmte Anzahl von Pods sicherstellen) kennengelernt.
Ein Deployment baut auf einem ReplicaSet auf. Es bietet eine Abstraktion auf höherer Ebene für:
- das Erstellen und Aktualisieren von ReplicaSets,
- die schrittweise Einführung neuer Versionen Ihrer Anwendung,
- das Zurücksetzen auf vorherige Versionen, wenn etwas schiefgeht.
Dadurch wird die Verwaltung Ihrer Anwendungen deutlich einfacher und sicherer.
Aufbau eines Deployment-YAMLs
Wie andere Kubernetes-Ressourcen werden Deployments mithilfe von YAML definiert. Sehen wir uns die grundlegende Struktur an:
apiVersion: Gibt die Kubernetes-API-Version an (z. B.apps/v1).kind: Für eine Deployment-Ressource immerDeployment.metadata: Enthält Informationen wie dennamedes Deployments und optionalelabels.
Anhand dieser Felder kann Kubernetes Ihre Deployments identifizieren und organisieren.
Replikate und Template festlegen
Das Herzstück eines Deployments ist sein Abschnitt spec. Hier definieren Sie:
replicas: Die gewünschte Anzahl identischer Pods für Ihre Anwendung.selector: Wie das Deployment die von ihm verwalteten Pods findet (mithilfe von Labels).template: Im Wesentlichen eine Pod-Definition, die die Container, Volumes usw. für jeden Pod beschreibt.
Das template verwendet das Deployment zum Erstellen neuer Pods.
Unser Nginx-Deployment
Hier ist ein einfaches Deployment-Manifest für einen Nginx-Webserver. Damit weisen Sie Kubernetes an, drei Nginx-Pods am Laufen zu halten.
Versuchen Sie, jeden einzelnen Teil zu verstehen!
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Ihr Deployment erstellen
Sobald Sie Ihre Deployment-YAML-Datei (z. B. nginx-deployment.yaml) haben, können Sie das Deployment mit dem Befehl kubectl apply in Ihrem Kubernetes-Cluster erstellen.
Kubernetes stellt anschließend sicher, dass die gewünschte Anzahl von Pods erstellt und aufrechterhalten wird.
kubectl apply -f nginx-deployment.yamlSie können den Status mit folgendem Befehl überprüfen:
kubectl get deploymentsHoch- und Herunterskalieren
Benötigen Sie mehr oder weniger Instanzen Ihrer Anwendung? Mit Deployments ist die Skalierung ganz einfach! Sie können das Feld replicas in Ihrer YAML-Datei anpassen und sie erneut anwenden oder einen direkten Befehl verwenden:
kubectl scale deployment nginx-deployment --replicas=5Mit diesem Befehl weisen Sie Ihr Deployment sofort an, zwei weitere Nginx-Pods zu erstellen, sodass insgesamt fünf ausgeführt werden.
Updates ohne Ausfallzeit
Einer der größten Vorteile von Deployments ist ihre Fähigkeit, Rolling Updates durchzuführen. Wenn Sie das Pod-Template aktualisieren (z. B. die Image-Version ändern), fährt Kubernetes nicht alle alten Pods gleichzeitig herunter.
Stattdessen ersetzt Kubernetes die alten Pods schrittweise durch neue und stellt so sicher, dass Ihre Anwendung während des gesamten Aktualisierungsvorgangs verfügbar bleibt.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Mühelos zurücksetzen
Haben Sie bei einer Aktualisierung einen Fehler gemacht? Kein Problem! Deployments speichern einen Verlauf Ihrer Überarbeitungen, sodass Sie problemlos zu einer vorherigen, stabilen Version zurückkehren können.
Dies wird als Rollback bezeichnet und ist ein wichtiges Sicherheitsnetz für Deployments.
kubectl rollout undo deployment/nginx-deploymentMit kubectl rollout history deployment/nginx-deployment können Sie außerdem den Verlauf anzeigen.
Zeit für ein Deployment-Quiz
Ein Entwickler aktualisiert ein Nginx-Deployment vom Image nginx:1.14.2 auf nginx:1.16.1. Was ist der wichtigste Vorteil eines Kubernetes-Deployments bei dieser Aktualisierung?
Deployments: Die wichtigsten Erkenntnisse
Sehr gut! Sie haben Kubernetes-Deployments kennengelernt, eine leistungsstarke Ressource zur Verwaltung Ihrer zustandslosen Anwendungen.
- Deployments verwalten ReplicaSets, die wiederum Pods verwalten.
- Sie definieren den gewünschten Zustand, einschließlich der Anzahl der
replicas. - Zu den wichtigsten Funktionen gehören einfaches Skalieren, Rolling Updates ohne Ausfallzeiten und unkomplizierte Rollbacks auf frühere Versionen.
Als Nächstes sehen wir uns Services an, um Ihre Anwendungen bereitzustellen!
Häufig gestellte Fragen
Ist die Lektion „Deployments für zustandslose Apps“ kostenlos?
Ja — der vollständige Text von „Deployments für zustandslose Apps“ 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 „Deployments für zustandslose Apps“?
Verwenden Sie Deployments zur Verwaltung zustandsloser Anwendungen und ermöglichen Sie dadurch Rolling Updates und Rollbacks. 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 1 von 4.
Wie lange dauert die Lektion „Deployments für zustandslose Apps“?
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 für zustandslose Apps
- Services für den Netzwerkzugriff
- ConfigMaps und Secrets
- Ingress und externes Routing