Was ist ein kopfloser Service in Kubernetes?
In Kubernetes wird ein kopfloser Dienst ohne Verwendung einer Cluster -IP -Adresse erstellt. In einigen Fällen benötigen wir keinen einzigen Service -IP für den Cluster, daher haben wir Kubernetes 'kopflosen Service verwendet. In dieser Kopflosenkonfiguration kann der Dienst weiterhin verwendet werden, um die Netzwerkidentität und DNS für eine Sammlung von Schoten zu erhalten, auch wenn er nicht über das Cluster -IP zugegriffen werden kann. Wir haben meistens kopflos verwendet, wenn ein einzelner Pod -Zugang ohne Verwendung eines Proxy erforderlich war. Wir können hier keinen Lastausgleich verwenden, da wir keine IP -Adressen abrufen können. Dieser Dienst wird häufig für staatliche Anwendungen wie Datenbanken verwendet, in denen es für jede Iteration von entscheidender Bedeutung ist, eine konsistente Netzwerkidentität zu haben.
Voraussetzungen
Der Benutzer muss über die neueste Version von Ubuntu auf seinem System installiert sein und verstehen, welcher Befehl verwendet wird, um alle Prozesse zu starten. Der Benutzer muss mit Kubernetes, Clustern, Pods und der Kubectl -Befehlszeile vertraut sein und sie auf dem System installieren lassen. Für Windows -Benutzer bietet virtuelle Box oder VMware die Möglichkeit, gleichzeitig ein anderes Betriebssystem zu verwenden. Für Windows -Benutzer muss ein virtuelles Box installiert werden, und Ubuntu oder Linux sollte effizient ausgeführt werden. Installieren Sie alle Pakete wie Kubernetes in der Anwendung, installieren Sie einen Minikube in der Anwendung und bewegen uns dann in die Beschreibung der kopflosen Service, die wir in verschiedenen Schritten mit geeigneten Beispielen für Ihr Verständnis aufgeteilt haben. Schauen Sie sich also Folgendes an:
Schritt 1: Erstellen Sie eine Konfigurationsdatei
Zunächst erstellen wir eine Konfigurationsdatei, in der wir alles über kopflose Dienste im Detail erläutern. Daher führen wir den Befehl im Minikube Local Cluster für die Konfigurationsdatei aus:
> Nano Deplomi.YamlWenn der oben genannte Befehl ausgeführt wird, wird die Konfigurationsdatei mit dem Namen „Deplomani“ geöffnet.yaml ”. Die Konfigurationsdatei für den Container wurde erfolgreich erstellt, wie wir im angehängten Screenshot sehen können.
Schritt 2: Stellen Sie die Konfigurationsdatei in Kubernetes bereit
In diesem Schritt lernen wir, wie Sie die im vorherigen Schritt in Kubernetes definierte Konfigurationsdatei bereitstellen. Wir führen den Befehl für die Dateibereitstellung wie folgt aus:
> kubectl erstellen -f Deplomani.YamlDie Bereitstellung wird nach der Ausführung dieses Befehls erstellt. Der Container oder der Pod wird hier erfolgreich erstellt.
Schritt 3: Erstellen Sie das Servicemanifest in Kubernetes
In diesem Schritt erstellen wir eine Datei, um einen regulären Dienst in Kubernetes zu starten. Wir führen also den Befehl aus, um ein Manifest für den regulären Service zu erstellen, nämlich:
> Nano Regsev. YamlFühren Sie den Befehl im Terminal aus und drücken Sie die Eingabetaste. Wenn der Befehl ausgeführt wird, ist der „RegSev“.Die YAML -Datei wird erfolgreich erstellt, wie im Screenshot unten gezeigt. Hier ist die Art des POD Service, der Name des Pod ist regelmäßig, und die Ports sind mit IP-Adressen verknüpft.
Schritt 4: Bereitstellung des regulären Servicemanifests
In diesem Schritt setzen wir das definierte reguläre Service -Manifest in Kubernetes ein. Also führen wir den Befehl hier zu diesem Zweck aus:
> kubectl erstellen -f RegSev.YamlDer Dienst wird nach der Befehlsausführung erfolgreich bereitgestellt und erfolgreich erstellt.
Schritt 5: Erstellen Sie ein kopfloses Servicemanifest
In diesem Schritt möchten wir ein Service -Manifest erstellen, in dem wir kopflose Dienste definieren. Wir führen also den Befehl aus, um eine YAML -Datei zu erstellen:
> Nano Headsv.YamlGeben Sie den Befehl in die Kubectl -Befehlszeile ein und drücken Sie die Eingabetaste. Wenn wir ein Manifest für einen kopflosen Dienst in Kubernetes erstellen, können wir "keine" als Cluster -IP angeben, wenn wir den Dienst in der Manifestdatei definieren.
Schritt 6: Kopffreiheitsdienste bereitstellen
In diesem Schritt werden diese kopflose YAML -Datei für Kubernetes bereitgestellt. Also führen wir den Befehl hier aus:
> kubectl erstellen -f Headsv. YamlNach der Ausführung des Befehls wird der kopflose Dienst des Systems „Headless-SVC“ erfolgreich erstellt. Dieser Befehl erstellt einen Dienst ohne Cluster -IP, aber er erstellt dennoch DNS -Datensätze für die Pods, die zum Selektor passen, damit wir sie mit ihren DNS -Namen erreichen können.
Schritt 7: Temporärer Cluster in Kubernetes hinzufügen
In diesem Schritt führen wir den Befehl aus, um einige temporäre Cluster zu erstellen, indem wir ihr Bild in der Anwendung einstellen.
> Kubectl Temporary --image = radial/tousyboxplus: curl -i --ttyWenn wir den Befehl ausführen, zeigt der oben angeschlossene Screenshot temporäre Cluster an.
Schritt 8: Holen Sie sich den Server und die IP -Adresse des kopflosen Dienstes
In diesem Schritt möchten wir die Serveradresse und IP -Adresse des kopflosen Dienstes in Kubernetes sehen. Wir führen den Befehl aus, der einen Wert wie eine Adresse zurückgibt und ihn vom DNS -Server bedient. Das SOKOUP-Befehlszeilen-Tool wird verwendet, um DNS-Server für Informationen abzufragen.
> nslookup Headless-SVCDieser Befehl gab uns einen Server und eine IP, und die Suche gab uns einen Hostnamen „Headless SVC) zurück.Wenn der Hostname nicht behoben ist, gibt DNS eine Fehlermeldung zurück.
Schritt 9: Löschen Sie alle laufenden Dienste in Kubernetes
In diesem Schritt beenden wir alle laufenden Dienste, da diese Dienste Platz und Speicher in Kubernetes -Anwendungen einbeziehen. Erstens löschen wir den regulären Service von Kubernetes, indem wir den Befehl ausführen:
> Kubectl SVC regulärer Service löschenWenn wir diesen Befehl ausführen, wird „regulärer Service“ erfolgreich gelöscht.
Jetzt löschen wir den kopflosen Dienst aus dem Kubernetes -Cluster. Wir führen den Befehl Löschen aus, indem wir den nötigenlosen Service-Namen "Headless-SVC" im Kubectl-Befehlszeilen-Tool eingeben.
> Kubectl SVC Headless-SVC löschenDieser Befehl beendet den kopflosen Dienst erfolgreich aus dem Kubernetes -Cluster.
Der nächste Schritt ist die Löschung der Bereitstellungen nach Beendigung aller Dienste von Kubernetes -Anwendungen. Wir führen den Befehl aus, um die Bereitstellung der Anwendung zu löschen.
> Kubectl -Bereitstellungs -App löschenInfolgedessen kann die Bereitstellung der Anwendung einfach mit einem Befehl gelöscht werden.
Zuletzt haben wir in der obigen Sitzung eine temporäre Pod erstellt. Hier sehen wir auch die Löschung dieser temporären Schoten von Kubernetes. Wir führen den Befehl zur Löschung aus:
> kubectl Pod vorübergehend löschenKubernetes Services und Pods wurden erfolgreich gelöscht.
Abschluss
Kopflose Dienste sind sehr hilfreich für die Behandlung von Diensten in Kubernetes. Die kopflosen Dienste bieten uns Cluster ohne IP. Wir haben auch erfahren, wie wir die laufenden Dienste von Kubernetes gelöscht haben, wenn diese Dienste nicht erforderlich sind. Sie können diese Beispiele auch in Ihrer Anwendung praktizieren.