Deployments verstehen
Lernen Sie, wie Deployments die Verwaltung von Pods und ReplicaSets für zustandslose Anwendungen automatisieren.
Deployments verstehen ist eine kostenlose Kubernetes Basics-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 Kubernetes Basics-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Was sind Deployments?
Willkommen! In Kubernetes bedeutet die Verwaltung von Anwendungen auch die Verwaltung ihrer Pods. Doch die direkte Verwaltung einzelner Pods oder sogar von ReplicaSets kann komplex werden.
Ein Deployment ist ein übergeordnetes Objekt, das die Verwaltung zustandsloser Anwendungen vereinfacht. Stellen Sie es sich als Verwaltungseinheit Ihrer Anwendung vor.
- Es definiert den gewünschten Zustand Ihrer Anwendung.
- Es stellt sicher, dass dieser Zustand erhalten bleibt, selbst wenn Pods ausfallen.
- Es automatisiert Updates und Rollbacks.
Warum Deployments verwenden?
Deployments bieten wichtige Vorteile für den zuverlässigen Betrieb von Anwendungen in Kubernetes:
- Automatisierte Verwaltung: Sie übernehmen die Erstellung, Skalierung und Löschung von Pods.
- Selbstheilung: Wenn ein Pod abstürzt, ersetzt ihn das Deployment automatisch, um die gewünschte Anzahl von Replikaten beizubehalten.
- Deklarative Updates: Sie beschreiben den gewünschten neuen Zustand, und das Deployment ermittelt, wie dieser erreicht wird (beispielsweise durch das schrittweise Ausrollen neuer Versionen).
Deployments sind die empfohlene Methode zur Verwaltung zustandsloser Anwendungen.
Die zentrale Aufgabe eines Deployments
Im Kern verwaltet ein Deployment ReplicaSets. Die Aufgabe eines ReplicaSets besteht darin, jederzeit eine festgelegte Anzahl von Pod-Replikaten auszuführen.
Ein Deployment verwendet ReplicaSets also, um sein Ziel zu erreichen: Es stellt sicher, dass Ihre Anwendung gemäß Ihrer Definition über die richtige Anzahl fehlerfreier Pods verfügt.
Diese Abstraktion erleichtert es erheblich, den Lebenszyklus Ihrer Anwendung zu definieren und zu verwalten.
Aufbau eines Deployment-YAMLs
Wie die meisten Kubernetes-Objekte werden Deployments mithilfe von YAML definiert. Typischerweise finden Sie darin die folgenden wichtigen Bereiche:
apiVersionundkind: Identifizieren den Objekttyp (Deployment).metadata: Name, Labels usw. des Deployments selbst.spec: Die zentrale Definition einschließlich:replicas: Die gewünschte Anzahl von Pods.selector: Gibt an, wie das Deployment die von ihm verwalteten Pods findet.template: Die Vorlage für die zu erstellenden Pods.
Die Pod-Vorlage
Das Feld template innerhalb von spec eines Deployments ist äußerst wichtig. Im Wesentlichen handelt es sich um eine vollständige Pod-Definition.
Alle von diesem Deployment erstellten Pods verwenden diese Vorlage. Das bedeutet, dass Sie Folgendes definieren:
- Die zu verwendenden Container-Images.
- Freizugebende Ports.
- Umgebungsvariablen.
- Ressourcenanforderungen und -limits.
- Und vieles mehr!
Änderungen an dieser Vorlage lösen Updates Ihrer Anwendung aus.
Ein einfaches Deployment erstellen
Definieren wir ein Deployment für einen einfachen Nginx-Webserver. Wir möchten drei Replikate ausführen.
Beachten Sie, dass selector.matchLabels mit template.metadata.labels übereinstimmen muss. Dadurch wird dem Deployment mitgeteilt, welche Pods ihm gehören.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Das Deployment anwenden
Um dieses Deployment in Ihrem Kubernetes-Cluster (z. B. Minikube) zu erstellen, verwenden Sie den Befehl kubectl apply. Speichern Sie das obige YAML als nginx-deployment.yaml.
kubectl erstellt das Deployment-Objekt. Der Deployment-Controller erkennt dieses Objekt und wird aktiv: Er erstellt ein ReplicaSet, das anschließend die drei Nginx-Pods erstellt.
kubectl apply -f nginx-deployment.yamlIhr Deployment untersuchen
Nach der Anwendung können Sie den Status Ihres Deployments und der von ihm verwalteten Pods überprüfen:
kubectl get deployments: Zeigt Ihr Deployment an.kubectl get replicasets: Zeigt das vom Deployment erstellte ReplicaSet an.kubectl get pods -l app=nginx: Zeigt die vom Deployment verwalteten Pods an (über dessen Label-Selektor).kubectl describe deployment my-nginx-deployment: Liefert detaillierte Informationen über das Deployment, einschließlich Ereignissen.
kubectl get deployments
kubectl get pods -l app=nginx
kubectl describe deployment my-nginx-deploymentDen gewünschten Zustand aufrechterhalten
Eine der leistungsfähigsten Funktionen von Deployments ist ihre Fähigkeit, den gewünschten Zustand aufrechtzuerhalten. Wenn Sie replicas: 3 definiert haben, stellt das Deployment sicher, dass immer drei Pods ausgeführt werden.
Versuchen Sie, einen der Nginx-Pods manuell zu löschen (kubectl delete pod <pod-name>). Sie werden sehen, dass das Deployment schnell einen neuen Pod als Ersatz erstellt. Das ist Selbstheilung in Aktion.
Schnelltest
Für welche Art von Anwendung wird ein Deployment hauptsächlich verwendet?
Zusammenfassung: Deployments verstehen
Sehr gut! Sie haben Ihre ersten Schritte mit Kubernetes-Deployments gemacht.
- Deployments sind übergeordnete Objekte zur Verwaltung zustandsloser Anwendungen.
- Sie automatisieren die Erstellung, Skalierung und Selbstheilung von Pods, indem sie ReplicaSets verwalten.
- Sie definieren ein Deployment mithilfe eines YAML-Manifests und geben dabei die gewünschte Anzahl von
replicassowie einetemplatefür die Pods an. kubectl applyerstellt das Deployment, währendkubectl get/describeSie bei der Überwachung unterstützt.
Als Nächstes sehen wir uns ReplicaSets genauer an und untersuchen, wie sie die gewünschte Anzahl von Pods garantieren.
Häufig gestellte Fragen
Ist die Lektion „Deployments verstehen“ kostenlos?
Ja — der vollständige Text von „Deployments verstehen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kubernetes Basics-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Deployments verstehen“?
Lernen Sie, wie Deployments die Verwaltung von Pods und ReplicaSets für zustandslose Anwendungen automatisieren. Du übst Kubernetes Basics 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 Kubernetes Basics zu starten?
Keine Vorkenntnisse erforderlich. Kubernetes Basics 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 verstehen“?
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 Kubernetes Basics-Lektion Code schreiben und ausführen?
Ja. Jede Kubernetes Basics-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