Was sind die verschiedenen Arten von Diensten in Kubernetes??

Was sind die verschiedenen Arten von Diensten in Kubernetes??
Ein Dienst in Kubernetes ist eine Abstraktion, die eine Sammlung konzeptioneller Schoten beschreibt, in denen eine Anwendung ausgeführt wird, und eine Zugriffsrichtlinie für diese Art von Pods. Wenn ein Pod eine Verbindung mit einem anderen Pod herstellen muss, muss er zuerst seine IP -Adresse bestimmen. Die Kubernetes -Dienste bieten auch eine Möglichkeit, bestimmte Pods zu finden. POD -IP -Adressen sind im Kubernetes -Netzwerkmodell abstrakt. Wenn ein Schoten bricht oder zerstört wird, erhält ein neuer Pod mit ziemlicher Sicherheit eine neue IP -Adresse. Ein Dienst in Kubernetes gewährt häufig Zugriff auf das Netzwerk an eine Schote oder eine Gruppe von Pods. Die Dienste werden je nach Namen Pods auswählen, und wenn die Netzwerkbedarf an solche Dienste gesendet wird, werden alle Pods im Cluster identifiziert, die zum Label des Dienstes passen, eine davon auswählen und dann die Netzwerkanforderung an sie gesendet haben.

Kategorien von Kubernetes -Diensten

Kubernetes -Dienste sind in vier grundlegende Kategorien unterteilt:

Clusterip
In Kubernetes ist der Clusterip -Service in der Tat die Standardform des Dienstes. Es bietet einen Service innerhalb des Kubernetes -Cluster, den andere Kubernetes -Apps verwalten können, ohne von außen zugreifen zu können. Es ist eine IP -Adresse, die der Kubernetes -Cluster und alle seine Dienste intern nutzen können. Im Gegensatz zur POD -IP -Adresse ist die im Clusterip verwendete IP -Adresse nicht über den Cluster hinaus erreichbar.

Nodeport
Jeder Knoten in Ihrem Cluster verfügt über einen offenen Port namens Nodeport. Auch wenn Ihre App auf einem anderen Knoten ausgeführt wird, leitet Kubernetes den Verkehr direkt vom Nodeport zum Dienst auf. Jeder Kubernetes -Cluster akzeptiert Nodeport, aber Sie müssen Ihre Firewalls ändern, wenn Sie einen Cloud -Service -Anbieter wie Google Cloud verwenden.

Lastenausgleicher
Ein Lastballer ist eine beliebte Möglichkeit, einen Kubernetes -Service im Internet in die Außenwelt einzuführen. LoadBalancer kann auf ähnliche Weise wie Clusterip und Nodeport verwendet werden.Der Cluster nähert sich dem Cloud -Anbieter und erstellt einen Lastausgleich, wenn Sie LoadBalancer als Servicekategorie auswählen. Der Verkehr wird zu den Backend Pods weitergeleitet, wenn er bei diesem Lastausgleich ankommt. Die Einzelheiten dieser Methode werden dadurch bestimmt, wie jeder Lastausgleichslieferant seine Technologie implementiert.

Externalname
Da ExternalName -Dienste keine Selektoren oder festen Ports oder Endpunkte haben, können sie den Verkehr zu einem Außenseitendienst umleiten. Dieses Formular assoziiert den Dienst mit den Elementen des externen Namensfeldes. Es wird dies abgeschlossen, indem der Datensatzwert eines CNAME zurückgegeben wird.

Erstellen Sie zusammen mit dem Dienst eine Bereitstellung

Eine Kubernetes -Bereitstellung überwacht die Gesundheit des POD und setzt bei Bedarf den Container des POD zurück. Bereitstellungen sind die Methode zur Verwaltung der Pod -Bildung und der Skalierung. Um einen Pod zu verwalten, werden wir eine Bereitstellung erstellen. Lassen Sie uns zu diesem Zweck das Terminal Ihres Ubuntu 20 öffnen.04 LTS -Betriebssystem. Für diesen Zweck können Sie den Anwendungsbereich oder den T -Shortcut -Schlüssel verwenden. Stellen Sie sicher, dass Minikube in Ihrem System installiert ist.

Führen Sie den folgenden Befehl aus, um Minikube zu starten.

$ minikube Start

In der Ausgabe dieses Befehls sehen Sie die Version von Minikube. Nach diesem Befehl müssen Sie das Minikube-Dashboard mit Hilfe dieses folgenden Befehls öffnen.

$ minikube Dashboard

Jetzt sind wir alle bereit, eine Bereitstellung mit dem Befehl erstellen zu erstellen. Sie müssen den folgenden Befehl schreiben, wie im Terminal gezeigt.

Sie können sehen, dass der Hello -Knoten erstellt wurde. Wenn Sie die Bereitstellungen anzeigen möchten, können Sie dies einfach tun, indem Sie den zitierten Befehl ausführen.

$ kubectl erhalten Bereitstellungen

In der Ausgabe sehen Sie die grundlegenden Informationen zu einer bereits erstellten Bereitstellung. Sie können die POD durch die Ausführung dieses Befehls anzeigen:

$ kubectl bekommen Pods

In der folgenden Ausgabe unter der Ablage können Sie problemlos alle relevanten Informationen zu den aufgelisteten Pods anzeigen. Wenn Sie die Cluster -Ereignisse auflisten möchten, können Sie den folgenden Grundbefehl für diesen Zweck verwenden.

$ kubectl bekommen Events

Jetzt können Sie die kubectl-Konfiguration mit dem folgenden Befehl ansehen:

$ kubectl config -Ansicht

Innerhalb des Kubernetes -Clusters wäre die Pod nur von seiner inneren IP -Adresse erhältlich. Es ist am besten, den Hello-Node-Container als Kubernetes-Dienst aufzudecken, um ihn im virtuellen Kubernetes-Netzwerk verfügbar zu machen. Jetzt werden wir den POD mit dem Befehl unter gelistetem Unterlisten aufdecken. Außerdem können Sie sehen, dass -Typ = LoadBalancer, das den zugehörigen Dienst außerhalb des Clusters freilegt.

Jetzt ist es an der Zeit, den erstellten Dienst anzuzeigen. Zu diesem Zweck können Sie also den Befehl unter dem Abgeschworenen nutzen. Der Ausgang muss dem im angehängten Bild angezeigten ähnlich sein.

$ kubectl erhalten Dienstleistungen

Um die Hello Node -Serviceinformationen anzuzeigen, können Sie den folgenden Befehl zusammen mit dem Keyword von Minikube verwenden.

$ minikube Service Hallo-Node

Sie können sehen, dass die Knoten -URL zusammen mit dem Zielport auch im angehängten Screenshot angezeigt wird. Glücklicherweise ist der Service im Browser Ihres Betriebssystems geöffnet. Sie können überprüfen, ob die Serviceinformationen im Browser Ihres Systems angezeigt werden.

Abschluss

In diesem Leitfaden haben wir das Konzept der Dienste in Kubernetes zusammen mit den verschiedenen Kategorien erstellt. Außerdem haben wir ein grundlegendes Beispiel für die Erstellung des Einsatzes zusammen mit dem relevanten Service erläutert. Durch das Lesen und Implementieren dieser obigen Anleitung hoffe ich, dass Sie das Konzept der Kubernetes -Dienste und seiner Erstellung leicht verstehen können.