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 StartIn 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 DashboardJetzt 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 BereitstellungenIn 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 PodsIn 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 EventsJetzt können Sie die kubectl-Konfiguration mit dem folgenden Befehl ansehen:
$ kubectl config -AnsichtInnerhalb 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 DienstleistungenUm die Hello Node -Serviceinformationen anzuzeigen, können Sie den folgenden Befehl zusammen mit dem Keyword von Minikube verwenden.
$ minikube Service Hallo-NodeSie 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.