[ 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:
Der NGINX Ingress Controller bietet zwei NGINX Ingress-Ressourcen, die TCP/UDP-Lastverteilung ermöglichen:
Listener
) zu definieren, die DevOps-Teams zur Verfügung stehen. Beachten Sie, dass pro NGINX Ingress Controller-Bereitstellung nur eine GlobalConfiguration-Ressource möglich ist.Das folgende Diagramm zeigt einen typischen Anwendungsfall der Ressourcen GlobalConfiguration und TransportServer. In gc.yaml legt der Cluster-Administrator TCP- und UDP-Listener in einer GlobalConfiguration-Ressource fest. In ts.yaml nutzt ein DevOps-Ingenieur den TCP-Listener in einer TransportServer-Ressource, um den Datenverkehr zu einer MySQL-Bereitstellung zu leiten.
Die Ressource GlobalConfiguration in gc.yaml umfasst zwei Listener: einen UDP-Listener auf Port 514 für die Verbindung zu einem Syslog-Dienst und einen TCP-Listener auf Port 5353 für die Verbindung zu einem MySQL-Dienst.
Die Zeilen 6–8 der TransportServer-Ressource in ts.yaml beziehen sich auf den in gc.yaml definierten TCP-Listener mit dem Namen (mysql-tcp
), und die Zeilen 9–14 legen die Routing-Regel fest, die den TCP-Verkehr an den Upstream mysql-db
leitet.
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 konfigurieren Sie ähnlich; ein vollständiges Beispiel finden Sie unter Basic TCP/UDP Load Balancing im NGINX Ingress Controller-Repository auf GitHub. Erfahrene NGINX-Anwender erweitern die TransportServer-Ressource mit nativer NGINX-Konfiguration über den ConfigMap-Schlüssel stream-snippets
, wie im Beispiel Support for TCP/UDP Load Balancing im Repository dargestellt.
Weitere Informationen zu den Funktionen, die Sie in TransportServer-Ressourcen konfigurieren können, finden Sie in der Dokumentation des NGINX Ingress Controllers.
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."