[ Herausgeber – Dieser Beitrag ist ein Auszug aus unserem umfassenden eBook „Verwaltung des Kubernetes-Verkehrs mit F5 NGINX“: Ein praktischer Leitfaden . Laden Sie es noch heute kostenlos herunter .]
Neben dem HTTP-Datenverkehr gleicht der NGINX Ingress Controller auch den TCP- und UDP-Datenverkehr aus, sodass Sie damit den Datenverkehr für eine breite Palette von Apps und Dienstprogrammen basierend auf diesen Protokollen verwalten können, darunter:
Der TCP- und UDP-Lastausgleich mit NGINX Ingress Controller ist auch unter den folgenden Umständen eine effektive Lösung für die Verteilung des Netzwerkverkehrs auf Kubernetes-Anwendungen:
NGINX Ingress Controller verfügt über zwei NGINX Ingress-Ressourcen, die TCP/UDP-Lastausgleich unterstützen:
Listener
) anzugeben, die für die Verwendung durch DevOps-Teams verfügbar sind. Beachten Sie, dass jede Bereitstellung des NGINX Ingress Controllers nur eine GlobalConfiguration-Ressource haben kann.Das folgende Diagramm zeigt einen Beispielanwendungsfall für die Ressourcen GlobalConfiguration und TransportServer. In gc.yaml definiert der Cluster-Administrator TCP- und UDP-Listener in einer GlobalConfiguration-Ressource. In ts.yaml verweist ein DevOps-Ingenieur auf den TCP-Listener in einer TransportServer-Ressource, die den Datenverkehr an eine MySQL-Bereitstellung weiterleitet.
Die Ressource „GlobalConfiguration“ in gc.yaml definiert zwei Listener: einen UDP-Listener auf Port 514 für die Verbindung mit einem Syslog-Dienst und einen TCP-Listener auf Port 5353 für die Verbindung mit einem MySQL-Dienst.
Die Zeilen 6–8 der TransportServer-Ressource in ts.yaml verweisen auf den TCP-Listener, der in gc.yaml mit Namen ( mysql-tcp
) definiert ist, und die Zeilen 9–14 definieren die Routing-Regel, die TCP-Verkehr an den Upstream von mysql-db
sendet.
In diesem Beispiel verwendet ein DevOps-Ingenieur den MySQL-Client, um zu überprüfen, ob die Konfiguration funktioniert, was durch die Ausgabe mit der Liste der Tabellen in der Datenbank rawdata_content_schema
innerhalb der MySQL-Bereitstellung bestätigt wird.
$ echo „TABELLEN ANZEIGEN“ | mysql –h <externe_IP_Adresse> -P <Anschluss> -u <Benutzer> –p Rohdateninhaltsschema Passwort eingeben: <Passwort>
Tabellen_im_Rohdateninhaltsschema
Autoren
Beiträge
TransportServer-Ressourcen für UDP-Verkehr werden ähnlich konfiguriert; ein vollständiges Beispiel finden Sie unter „Basic TCP/UDP Load Balancing“ im NGINX Ingress Controller-Repo auf GitHub. Fortgeschrittene NGINX-Benutzer können die TransportServer-Ressource mit einer nativen NGINX-Konfiguration erweitern, indem sie den ConfigMap-Schlüssel der Stream-Snippets
verwenden, wie im Beispiel „Unterstützung für TCP/UDP-Lastausgleich“ im Repo gezeigt.
Weitere Informationen zu den Funktionen, die Sie in TransportServer-Ressourcen konfigurieren können, finden Sie in der NGINX Ingress Controller-Dokumentation .
Dieser Beitrag ist ein Auszug aus unserem umfassenden E-Book „ Verwaltung des Kubernetes-Verkehrs mit NGINX“: Ein praktischer Leitfaden . Laden Sie es noch heute kostenlos herunter .
Testen Sie den auf NGINX Plus basierenden NGINX Ingress Controller noch heute selbst in einer 30-tägigen kostenlosen Testversion oder kontaktieren Sie uns, um Ihre Anwendungsfälle zu besprechen .
„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."