GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie die kubectl-Portweiterleitung ein

Einführung

Kubectl-Portweiterleitung ermöglicht Ihnen den Zugriff auf und die Interaktion mit internen Kubernetes-Clusterprozessen von Ihrem lokalen Host aus. Sie können diese Methode verwenden, um Probleme zu untersuchen und Ihre Dienste lokal anzupassen, ohne sie vorher aufdecken zu müssen.

Kubectl ist das wichtigste Befehlszeilentool zum Verwalten von Kubernetes-Clustern. Es ist unerlässlich für die Bereitstellung von Anwendungen, die Verwaltung von Cluster-Ressourcen und den Aufbau komplexer Frameworks.

Dieses kurze Tutorial zeigt Ihnen, wie Sie kubectl für die Portweiterleitung an einen Pod in einem Kubernetes-Cluster verwenden.

Voraussetzungen

  • Ein Kubernetes-Cluster
  • Ein vollständig konfigurierteskubectl Befehlszeilentool

Wie funktioniert die Kubernetes-Portweiterleitung?

Obwohl Kubernetes ein hochgradig automatisiertes Orchestrierungssystem ist, erfordert der Portweiterleitungsprozess direkte und wiederkehrende Benutzereingaben. Eine Verbindung wird beendet, sobald die Pod-Instanz ausfällt, und es ist notwendig, eine neue Weiterleitung einzurichten, indem Sie denselben Befehl manuell eingeben.

Der gesamte Vorgang wird dadurch vereinfacht, dass kubectl hat bereits eine eingebaute Portweiterleitungsfunktion.

  1. Ein Benutzer interagiert mit Kubernetes mithilfe von kubectl Befehlszeile auf ihrem lokalen Rechner.
  2. Die port-forward Der Befehl gibt den Namen der Cluster-Ressource an und definiert die Portnummer für die Port-Weiterleitung.
  3. Infolgedessen stellt der Kubernetes-API-Server eine einzige HTTP-Verbindung zwischen Ihrem lokalen Host und der Ressource her, die auf Ihrem Cluster ausgeführt wird.
  4. Der Benutzer kann jetzt diesen bestimmten Pod direkt aktivieren, um entweder ein Problem zu diagnostizieren oder bei Bedarf zu debuggen.

Portweiterleitung ist eine arbeitsintensive Methode. In einigen Fällen ist dies jedoch die einzige Möglichkeit, auf interne Clusterressourcen zuzugreifen.

Grundlegende kubectl-Portweiterleitungsbefehle

Die port-forward Der Befehl richtet einen Tunnel vom Ziel-Pod zu Ihrem lokalen Host ein. Der Befehl erfordert, dass Sie den Typ oder Namen der Ressource sowie lokale und entfernte Portnummern definieren:

kubectl port-forward TYPE/NAME [options] LOCAL_PORT:REMOTE_PORT

Wenn mehrere Pods den Typ-/Namenskriterien entsprechen, wird standardmäßig ein zufälliger ausgewählt. Um solche Inkonsistenzen zu vermeiden, definieren Sie einen Pod so genau wie möglich. Sie können den genauen Pod-Namen finden, indem Sie Pods innerhalb eines Namespace manuell auflisten indem Sie Folgendes eingeben:

kubectl -n yournamespace get pods

Die Liste enthält die Namen der Pods innerhalb dieses Namensraums.

kubectl-Portweiterleitung an einen bestimmten Pod

Mit dem folgenden Befehl können Sie beispielsweise auf eine MongoDB-Bereitstellung in Ihrem Cluster zugreifen. Der Name des Pods lautet mongo-db-r3pl1ka3 , und die Portnummer ist 5762:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080:5762

Die Kubernetes-API lauscht jetzt auf dem lokalen Port 8080 und leitet Daten an Port 5762 auf dem definierten Pod weiter.

Zufälliger lokaler Port

Lauschen Sie lokal auf einem zufälligen Port und leiten Sie innerhalb des angegebenen Pods an Port 5762 weiter:

kubectl port-forward pod/mongo-db-r3pl1ka3 :5762

Entsprechender lokaler und entfernter Port

Daten mit identischen Ports (8080, 5762) abhören und weiterleiten, sowohl lokal als auch innerhalb des spezifischen Pods:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080 5762

Zufällige lokale IP-Adresse

Hören Sie Port 8080 an einer beliebigen lokalen Adresse ab und leiten Sie an Port 5762 im angegebenen Pod weiter:

kubectl port-forward --address 0.0.0.0 pod/mongo-db-r3pl1ka3 8888:5762

Geben Sie die lokale IP-Adresse für die Portweiterleitung an

Hören Sie Port 8080 auf dem Localhost mit der definierten IP ab und leiten Sie ihn an Port 5762 im Pod weiter:

kubectl port-forward --address localhost,10.153.40.102 pod/mongo-db-r3pl1ka3 8080:5762

Bereitstellung verwenden, um Portweiterleitungs-Pod auszuwählen

Überwachen und leiten Sie Daten über dieselben Ports (8080 5762) sowohl lokal als auch innerhalb des Pods weiter. Die Bereitstellung legt fest, welcher Pod verwendet werden soll:

kubectl port-forward deployment/mydeployment 8080 5762

Dienst erlauben, Portweiterleitungs-Pod zu definieren

Überwachen und leiten Sie Daten über dieselben Ports (8080 5762) sowohl lokal als auch innerhalb des Pods weiter. Der Dienst wählt aus, welcher Pod verwendet werden soll:

kubectl port-forward service/myservice 8080 5762

Cent OS
  1. So richten Sie Wireguard VPN auf CentOS 8 ein

  2. DHCP-Server auf CentOS 8 einrichten – wie geht das?

  3. So richten Sie die Webweiterleitung ein

  4. So richten Sie das Systemgebietsschema unter CentOS 7 ein

  5. So öffnen Sie einen Port in CentOS / RHEL 7

So legen Sie eine statische IP unter Debian 11 fest

So aktivieren Sie SSH auf CentOS

So richten Sie die dynamische SSH-Portweiterleitung unter Linux ein

So richten Sie die E-Mail-Weiterleitung in cPanel ein

So richten Sie einen DHCP-Server unter CentOS 8 ein

Wie richte ich E-Mail-Weiterleitungen in meinen E-Mail-Konten ein?