So erstellen Sie ein staatlich in Kubernetes

So erstellen Sie ein staatlich in Kubernetes
In diesem Leitfaden werden wir definieren, wie ein staatlich in Kubernetes generiert werden kann. Diese Anleitung hilft Ihnen bei der Verwaltung der Kubernetes -Anwendungen mit staatlich. Die staatlichen Sets werden in verteilten Systemen und staatlichen Anwendungen verwendet. Bevor Sie lernen, das staatlich in Kubernetes zu erstellen. Am Ende dieses Artikels können Sie das staatlich in Kubernetes erstellte, skalieren, aktualisieren und löschen.

Voraussetzungen

Ubuntu 20.02 oder eine andere neueste Version von Ubuntu sollte in Ihrem System installiert werden. Aktivieren Sie die virtuelle Maschine in Ihrem Ubuntu -System, um die Kubernetes -Befehle auszuführen. Sie müssen mit Pods, Cluster -DNs, Statefulsets und dem Kubectl -Befehlszeilenwerkzeug vertraut sein.

Folgen Sie dieser Schritt-für-Schritt-Anleitung, um zu erfahren, wie Sie in Kubernetes ein staatlich erstellt werden:

Schritt 1: Starten Sie das Kubernetes Dashboard

Um die Kubernetes -Anwendung oder -befehle in der Kubernetes -Anwendung auszuführen, müssen Sie ein laufendes Kubernetes -Terminal haben. Das 'Minikube' ist das Kubernetes -Terminal, an dem die verschiedenen Befehle in den Kubernetes -Anwendungen ausgeführt werden. Verwenden Sie den unten angegebenen Befehl, um den Minikube zu starten:

kalsoom@virtualbox> minikube start

Wenn Sie diesen Befehl im Kubernetes -Terminal eingeben, drücken Sie die Eingabetaste, um ihn auszuführen. Nach der Implementierung der Anweisung erhalten Sie das folgende Ergebnis:

Schritt 2: Öffnen/Erstellen einer YAML -Datei

Der nächste Schritt besteht darin, eine YAML -Datei zu öffnen, wenn Sie bereits die erstellte Datei haben. Andernfalls können Sie eine neue YAML -Datei erstellen, die zum Erstellen des Status Setset verwendet werden kann. Kubernetes bietet den Befehl 'Nano' zum Erstellen oder Öffnen einer Datei im Kubernetes -System. Geben Sie den Dateinamen mit der Dateierweiterung an und führen Sie den Befehl nano darauf aus. Siehe den unten angegebenen Befehl:

kalsoom@virtualBox> nano textWeb.Yaml

Wenn Sie diesen Befehl im Kubernetes -Terminal ausführen, sehen Sie die folgende Datei im Kubernetes -Terminal offen:

Schritt 3: Erstellen Sie die Konfiguration aus der YAML -Datei

Der Befehl 'kubectl create' wird verwendet, um die Konfiguration für die Dienste zu erstellen. Wir haben die YAML -Datei und alle Spezifikationen für den in der Datei genannten statendulSet -Dienst. Die Datei wird mit dem Befehl 'erstellen' verwendet, um die Kubernetes -Ressource direkt am Kubernetes -Terminal zu erstellen. Siehe den unten angegebenen Befehl, um die Kubernetes -Ressourcen direkt zu erstellen:

kalsoom@virtualbox> kubectl erstellen -f testweb.Yaml

Nach der erfolgreichen Ausführung des Befehls sehen Sie die "erstellte" Nachricht auf dem Terminal. Mit diesem Befehl werden zwei Schoten erstellt und jeder von ihnen wird im Nginx -Webserver ausgeführt.

Schritt 4: Erstellen Sie die staatlichen Pods

Der nächste Schritt besteht darin, die Pods für den Zustandsset zu erstellen. Der Befehl zum Erstellen der Pods für das StatusfulSet ist unten angegeben:

kalsoom@virtualBox> kubectl Get Pods -w -l App = nginx

Nachdem Sie diesen Befehl ausgeführt haben, erhalten Sie das folgende Ergebnis am Kubernetes -Terminal:

Schritt 5: Erhalten Sie die Dienste des Nginx -Webservers

Da wir im vorherigen Schritt zwei Pods erstellt haben und jeder von ihnen auf dem NGINX -Server ausgeführt wird, erhalten Sie die Dienste dieser Pods vom NGINX -Webserver. Verwenden Sie den folgenden Befehl, um die NGINX -Dienste zu erhalten:

kalsoom@virtualbox> kubectl Get Service nginx

Schreiben Sie diesen Befehl in das Minikube -Terminal und drücken Sie den Befehl ENTER, um ihn auszuführen und das folgende Ergebnis anzusehen:

Schritt 5: Holen Sie sich Web StatefulSet

Der nächste Schritt besteht. Verwenden Sie den folgenden Befehl, um das Web -StatefulSet zu erhalten:

kalsoom@virtualBox> kubectl Get StatefulSet Web

Schreiben Sie diesen Befehl in das Kubernetes -Terminal, nachdem Sie nach Ausführung die folgende Ausgabe erhalten:

Schritt 6: Erstellen Sie die geordneten Nachbildungen des staatlichen Verhältnisses

Die Schoten für das StatefulSet mit mehreren Replikaten werden in sequentieller Reihenfolge erstellt. Jeder Pod wird in einer 0 zur N-1-Sequenz eingesetzt. Lassen Sie uns die Reihenfolge der erstellten Pods im Terminal konfigurieren. Verwenden Sie den Befehl 'kubectl get', um die Reihenfolge zu konfigurieren. Siehe den vollständigen Befehl unten:

kalsoom@virtualBox> kubectl Get Pods -w -l App = nginx

Wenn Sie diesen Befehl im Kubernetes -Terminal ausführen, sieht die Ausgabe irgendwann wie das im folgende Snippet aus

Wie Sie aus der Ausgabe erkennen können, wurde der Web-1-Pod nicht gestartet, bis der Web-0-Pod ausgeführt wurde.

Schritt Nr. 7: Untersuchen Sie den Ordinalindex von Pods

Die Pods werden mit dem Ordinalindex erstellt und haben auch eine stabile Netzwerkidentität. Lassen Sie uns den Ordinalindex der staatlichen Pods mit dem folgenden Befehl untersuchen:

kalsoom@virtualBox> kubectl get pods -l App = nginx

Dieser Befehl zeigt die eindeutige Identität der Pods basierend auf dem eindeutigen Ordinalindex, der dem staatlichen Controller jedem Pod zugewiesen wurde. Der Name des vollständigen Schotens wird als angegeben - und zwei Schoten werden für das Web StateFulSet erstellt, da es zwei Replikate enthält. Lassen Sie uns nun die folgende Ausgabe sehen:

Schritt 8: Implementieren Sie die Hostname -Anweisung in jedem Pod

Jeder Schote, der auf seinem ordinalen Index beruht, wurde ein stetiger Hostname zugewiesen. Um den für jeden Pod zugewiesenen Hostnamen zu implementieren, können wir den folgenden Befehl verwenden:

kalsoom@virtualBox> für i in 0 1; do kubectl exec "web- $ i" -sh -c 'hostname'; Erledigt

Dieser Befehl zeigt Ihnen die beiden Repliken des Pods. Siehe die Ausgabe im Snippet unten:

Schritt #8: Untersuchen Sie die DNS-Adressen in Cluster

Die In-Cluster-DNS-Adressen der Pods werden unter Verwendung des "NSLookup" untersucht. Das "DNSUTILS" -Paket enthält die Funktionalität "nslookup", um den Befehl "kubectl run" auf dem StatefulSet -Container auszuführen. Der vollständige Befehl finden Sie unten für Ihre Anleitung:

kalsoom@virtualbox> kubectl run -i - -tty -Image BusyBox: 1.28 DNS-Test--Restart = nie--rm

Dadurch wird eine neue Shell gestartet, in der Sie den Text -DNS -Container mit dem folgenden Befehl ausführen können:

kalsoom@virtualbox> nslookup web-o.nginx

Wenn Sie diesen Befehl ausführen, ist in Ihrem Terminal eine ähnliche Ausgabe verfügbar:

Überprüfen Sie nun den Status der staatlichen Pods und beenden Sie dann die Containerschale. Verwenden Sie erneut den Befehl 'kubectl get'.

Schritt Nr. 9: Löschen Sie die Schoten in staatlich

Der letzte Schritt besteht. Und dafür können Sie die Anweisung "Kubectl Delete" üben. Siehe den unten angegebenen vollständigen Befehl:

kalsoom@virtualbox> kubectl löschen pod -l app = nginx

Wenn Sie diesen Befehl im Kubernetes -Terminal ausführen, sieht die Ausgabe irgendwann so aus:

Abschluss

In diesem Artikel haben wir gelernt, wie man die Pods im staatlichen Kubernetes erstellt, aktualisiert und löscht. Wir haben verschiedene Kubectl -Befehle verwendet, um die Pods im StatefulSet zu konfigurieren. Die YamL