Bereitstellungen stellen eine Reihe identischer Pods dar. Eine Bereitstellung führt mehrere Kopien der Anwendung aus. Fehlerhafte Instanzen werden automatisch ersetzt. Es hilft sicherzustellen, dass eine oder mehrere Instanzen der Anwendung immer betriebsbereit sind. Bereitstellungen werden vom Kubernetes Deployment Controller verwaltet. Bereitstellungen verwenden eine Pod-Vorlage, die eine Spezifikation für ihre Pods enthält.
Eine Kubernetes-Bereitstellung ist ein Ressourcenobjekt in Kubernetes, das deklarative Updates für Anwendungen bereitstellt.
Weitere Informationen zu Bereitstellungsspezifikationen finden Sie in der Kubernetes-API-Dokumentation
In diesem Artikel erfahren Sie, wie Sie eine Bereitstellung in Kubernetes erstellen und Vorgänge darauf ausführen.
Voraussetzungen
Kubernetes-Cluster mit mindestens 1 Worker-Knoten.
Wenn Sie erfahren möchten, wie Sie einen Kubernetes-Cluster erstellen, klicken Sie hier. Dieser Leitfaden hilft Ihnen beim Erstellen eines Kubernetes-Clusters mit 1 Master und 2 Knoten auf AWS Ubuntu 18l04 EC2-Instances.
Was wir tun werden
Erstellen Sie eine Bereitstellung
Eine Bereitstellung erstellen
Erstellen Sie eine Datei und fügen Sie ihr die folgende Bereitstellungsdefinition hinzu.
vim my-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: httpd-frontend
name: httpd-frontend
spec:
replicas: 1
selector:
matchLabels:
app: httpd-frontend
template:
metadata:
labels:
app: httpd-frontend
spec:
containers:
- image: httpd:2.4-alpine
name: httpd

In diesem Beispiel:
- Ein Deployment namens httpd-frontend wird erstellt, angezeigt durch
metadata: nameFeld. - Die Bereitstellung erstellt 1 Replikat des Pods, angegeben durch
replicasFeld. - Die Pod-Vorlage oder
spec: templateFeld gibt an, dass seine Pods mit.app: httpd-frontendgekennzeichnet sind - Die Spezifikation der Pod-Vorlage oder
template: specFeld gibt an, dass die Pods einen Container ausführen, httpd, der das httpd: Image in Version 2.4-alpine ausführt.
Verwenden Sie den folgenden Befehl, um eine Bereitstellung zu erstellen
kubectl create -f my-deployment.yaml
Nachdem Sie eine Bereitstellung erstellt haben, können Sie ihre Details mit dem folgenden Befehl abrufen.
kubectl get deployment | grep httpd-frontend

Die Bereitstellung hat einen Replikatsatz erstellt, um ihn aufzulisten, verwenden Sie den folgenden Befehl.
kubectl get replicaset | grep httpd-frontend

Vom Replikatsatz erstellte Pods können mit dem folgenden Befehl aufgelistet werden, der die Pods auflistet, die mit dem angegebenen Namen übereinstimmen.
kubectl get pods | grep httpd-frontend

Jetzt können Sie die automatische Erstellung des Pods testen, wenn der vorhandene fehlschlägt, indem Sie ihn löschen.
Verwenden Sie die folgenden Befehle, um den vorhandenen Pod zu löschen.
kubectl get pods | grep httpd-frontend
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
kubectl get pods | grep httpd-frontend

Im Screenshot oben sehen Sie, dass der Pod nach dem Löschen des vorhandenen Pods erstellt wurde.
Jetzt wird der Replikatsatz selbst dann erstellt, wenn er gelöscht wird.
Um dies zu testen, löschen Sie den Replikatsatz mit dem folgenden Befehl.
kubectl get replicaset | grep httpd-frontend
kubectl delete replicaset httpd-frontend-74fd6fd8cd
kubectl get replicaset | grep httpd-frontend

Im obigen Screenshot können Sie sehen, dass das Replikat-Set auch nach dem Löschen erstellt wurde.
Um etwas mehr Informationen über den Pod anzuzeigen, kann "-o wide" wie folgt im Befehl verwendet werden.
kubectl get pods | grep httpd-frontend
kubectl get pods -o wide | grep httpd-frontend

Um die vollständigen Informationen des Pods zu erhalten, kann dieser mit dem folgenden Befehl beschrieben werden.
kubectl describe pod httpd-frontend

Wenn Sie Ihre Anwendung jetzt nicht mehr mithilfe der Bereitstellung bereitstellen müssen, können Sie sie löschen, indem Sie die Bereitstellung löschen.
Verwenden Sie die folgenden Befehle, um die Bereitstellung zu löschen.
kubectl get deployment | grep httpd-frontend
kubectl delete deployment httpd-frontend
kubectl get deployment | grep httpd-frontend

Im obigen Screenshot können Sie sehen, dass die Bereitstellung nach dem Löschen nicht erstellt wurde. Aber wenn Sie den Pod oder das Replikatset löschen, die im Rahmen der Bereitstellung erstellt wurden, werden sie erstellt.
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man ein Deployment erstellt und den Löschvorgang für Pod, Replicaset und Deployment ausprobiert.