In diesem Artikel erfahren Sie, wie Sie Ihre erste Bereitstellung in einem Kubernetes-Cluster erstellen. Als Beispiel erstellen wir eine Bereitstellung für NginX.
Sobald wir einen laufenden Kubernetes-Cluster haben, können wir unsere containerisierten Anwendungen darauf bereitstellen. Wir können eine Kubernetes-Bereitstellungskonfiguration erstellen, um dies zu erreichen.
Eine Bereitstellung stellt deklarative Aktualisierungen für Pods und ReplicaSets bereit. Wir beschreiben einen gewünschten Zustand in der Bereitstellung und der Bereitstellung Controller ändert den tatsächlichen Zustand mit einer kontrollierten Rate in den gewünschten Zustand.
Wir können eine Bereitstellung mithilfe der Kubernetes-Befehlszeilenschnittstelle „kubectl“ erstellen und verwalten. Kubectl verwendet die Kubernetes-API, um mit dem Cluster zu interagieren.
Es gibt drei Phasen in einem Bereitstellungslebenszyklus:
- Fortschritt : Kubernetes markiert ein Deployment als Fortschritt, wenn das Deployment ein neues ReplicaSet erstellt, das Deployment sein neuestes ReplicaSet hochskaliert oder sein älteres ReplicaSet herunterskaliert oder neue Pods bereit oder verfügbar werden
- Fertig : Kubernetes markiert ein Deployment als abgeschlossen, wenn alle mit dem Deployment verknüpften Replikate aktualisiert wurden, verfügbar sind und keine alten Replikate für das Deployment ausgeführt werden.
- Fehlgeschlagen : Dies kann aufgrund von unzureichendem Kontingent, Fehlern bei der Bereitschaftsprüfung, Image-Pull-Fehlern oder unzureichenden Berechtigungen auftreten.
Voraussetzungen
- AWS-Konto (erstellen, falls Sie noch keins haben)
- Ein Kubernetes-Cluster
Hinweis:Sie können auch VMs verwenden, um einen Cluster zu erstellen, wenn Sie keine AWS EC2-Instanzen ausprobieren möchten.
Was wir tun werden
- Erstellen Sie eine Kubenetes-Bereitstellung für NginX
Erstellen Sie eine Kubenetes-Bereitstellung für NginX
Um unsere erste Bereitstellung zu erstellen, erstellen wir einfach ein neues Verzeichnis, um unsere Objekt-/Bereitstellungsdatei zu erstellen. Verwenden Sie den folgenden Befehl, um ein neues Verzeichnis in Ihrem System zu erstellen
mkdir meine-erste-bereitstellung
cd meine-erste-bereitstellung/
Bevor Sie fortfahren, überprüfen Sie den Status des Clusters.
Um die im Cluster verfügbaren Knoten und die Version der "kubectl " Verwenden Sie die folgenden Befehle.
sudo kubectl version
sudo kubectl erhält Knoten
Sobald Sie Knoten in Ihrem Cluster verfügbar haben, können Sie Ihre Bereitstellung erstellen.
Erstellen Sie eine Datei "my-first-deployment.yml" mit dem folgenden Codeblock
vim meine-erste-bereitstellung.yml
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
Hier
- apiVersion : APIVersion definiert das versionierte Schema dieser Darstellung eines Objekts.
- Art :Art des Objekts, das Sie erstellen möchten, z. B. Deployment, Service, Configmap und mehr.
- Name : Der Name muss innerhalb eines Namespace eindeutig sein.
- Labels : Zuordnung von Zeichenfolgenschlüsseln und -werten, die zum Organisieren und Kategorisieren von Objekten verwendet werden können
- Spezifikation : Spezifikation des gewünschten Verhaltens der Bereitstellung.
- Repliken : Anzahl der gewünschten Pods.
- Selektor :Labelauswahl für Pods. Bestehende ReplicaSets, deren Pods dadurch ausgewählt werden, sind von dieser Bereitstellung betroffen. Es muss mit den Bezeichnungen der Pod-Vorlage übereinstimmen.
Jetzt können Sie Ihre Bereitstellung mit den folgenden Befehlen erstellen.
sudo kubectl apply -f my-first-deployment.yml
sudo kubectl Get Deployments
Im Screenshot oben sehen Sie, dass die Bereitstellung mit zwei verfügbaren Pods erstellt wurde.
Sie können die Details der Pods mit dem folgenden Befehl abrufen.
sudo kubectl erhält Pods
Wenn Sie mehr über die Bereitstellung erfahren möchten, können Sie diesen „kubectl-describe“-Befehl verwenden, um die vollständigen Details der Bereitstellung abzurufen.
sudo kubectl ruft Deployments ab
sudo kubectl beschreiben Deployments nginx-deployment
Wenn Sie das Deployment nicht mehr benötigen, können Sie es mit dem "kubectl delete command" löschen.
sudo kubectl Bereitstellungen abrufen
sudo kubectl Bereitstellungen löschen nginx-Bereitstellung
sudo kubectl Bereitstellungen abrufen
Im obigen Screenshot können Sie sehen, dass die Bereitstellung nicht mehr verfügbar ist, nachdem sie gelöscht wurde.
Sobald Sie die Bereitstellung löschen, werden auch die Pods gelöscht.
Sie können die Verfügbarkeit der Pods mit dem folgenden Befehl überprüfen.
sudo kubectl Pods abrufen
Im obigen Screenshot sehen Sie, dass die Pods nach dem Löschen der Bereitstellung gelöscht wurden und nicht verfügbar sind.
Schlussfolgerung
In diesem Artikel haben wir die Schritte zum Erstellen Ihrer ersten NginX-Bereitstellung auf Kubernetes gesehen. Wir haben auch gesehen, wie die Details zur Bereitstellung extrahiert werden können. Gleichzeitig haben wir die Befehle zum Löschen der Bereitstellung untersucht.