Zum Inhalt springen Weiter zur Suche
Testversion

Externer Zugriff auf K8s-Anwendungen mit Thunder ADC und TKC

Oktober 28, 2022

Transkription

Dieses Video zeigt, wie Sie Thunder ADC zusammen mit Thunder Kubernetes Connector (TKC) verwenden können, um den Zugriff auf Anwendungen, die in Ihrem Kubernetes K8s-Cluster laufen, auf einfache und automatisierte Weise zu ermöglichen.

AI Transkription:

Hallo zusammen. Mein Name ist Siddhartha Aggarwal und im heutigen Video werden wir sehen, wie Sie Thunder ADC zusammen mit Thunder Kubernetes Connector (TKC) verwenden können, um den Zugriff auf Anwendungen, die in Ihrem Kubernetes-Cluster laufen, auf einfache und automatisierte Weise zu ermöglichen.

Hier ist ein Beispiel für ein Einsatzszenario. Wir haben eine Webanwendung, die innerhalb unseres Kubernetes-Clusters ausgeführt wird und der Außenwelt über den Diensttyp "NodePort" zugänglich gemacht wird.

Wir möchten jedoch, dass unser Webservice für die Endbenutzer über eine einzige IP-Adresse und die bekannte Portnummer 80 zugänglich ist. Diese Art des Zugriffs kann über unseren Thunder ADC bereitgestellt werden, der außerhalb des Kubernetes-Clusters sitzt, wie gezeigt.

Außerdem wird der Thunder Kubernetes Connector als Port innerhalb des Kubernetes-Clusters ausgeführt. Der TKC bestimmt den Portwert des Knotens, der dem Webdienst zugewiesen ist, und konfiguriert den Thunder ADC dynamisch, um den Datenverkehr auf die Kubernetes-Knoten zu verteilen.

Hier ist ein Überblick über die Schritte, die wir befolgen werden. Zunächst werden wir unsere Webanwendung mit dem Diensttyp "NodePort" bereitstellen.

Anschließend aktivieren wir den HTTPS-Verwaltungszugang auf einer Thunder ADC-Schnittstelle. Die TKC wird sich über diese Schnittstelle mit dem Thunder ADC verbinden.

Schließlich werden wir verschiedene Kubernetes-Ressourcen wie gezeigt bereitstellen. Auf die Details dieser Ressourcen werden wir in der Demo eingehen. Schauen wir uns nun die Demo an.

Zunächst wird ein Webdienst innerhalb des Kubernetes-Clusters mit dem Diensttyp "NodePort" bereitgestellt. Führen Sie dazu die folgenden Befehle aus.

Als Nächstes aktivieren wir den HTTPS-Verwaltungszugang auf dem Thunder ADC.

Hier ist die Konfiguration auf unserem Thunder ADC-Gerät.

Die Schnittstelle Internet 1 ist die Schnittstelle, mit der sich die TKC verbinden wird. Zu diesem Zweck wird der HTTPS-Verwaltungszugang auf dieser Schnittstelle aktiviert. Damit TKC eine Verbindung herstellen und den Thunder ADC konfigurieren kann, muss es den Benutzernamen und das Passwort des Thunder Gerätes kennen.

Dazu erstellen wir ein Kubernetes-Geheimnisobjekt mit Base-64-Kodierung des aufgeschobenen Benutzernamens admin und des Passworts A10.

Außerdem erstellen wir die ServiceAccount ClusterRole und ClusterRoleBinding des Objekts.

Jetzt erstellen wir eine Ingress-Ressource mit einer Ingress-Klasse von A10-ext

Später werden wir den Thunder Kubernetes Connector konfigurieren, um Ingress-Ressourcen mit diesem Wert zu übergeben.

Hier ist die yaml-Datei für den Thunder Kubernetes Connector. Einige wichtige Punkte, die hier zu beachten sind, sind, dass die verwendete TKC-Version 1.11.0.0 ist.

Unter Controller-URL steht die Schnittstellen-IP des Thunder-Geräts, für das wir den HTTPS-Verwaltungszugang aktiviert hatten.

Das Flag "use Ingress class-only" ist auf "true" gesetzt, und der entsprechende Wert für die Ingress-Klasse ist derselbe wie der, den wir zuvor für die Ingress-Ressource angegeben hatten. Um die TKC bereitzustellen, führen Sie die folgenden Befehle aus.

Jetzt werden wir die benutzerdefinierten Ressourcendefinitionen oder CRDs von A10 für die TKC installieren. Ab Version 1.11 können Sie mit TKC Ihre eigenen CRDs für SLB-Objekte in der Kubernetes-API definieren.

Jetzt werden wir das HealthMonitor-Objekt bereitstellen. Sie können den Status mit dem Befehl "kubectl get a10hm" überprüfen.

Der Status sollte aktiv sein. Als nächstes stellen Sie die Dienstgruppe bereit. Die Ressource der Dienstgruppe ist an eine bestimmte Servicereserve gebunden. In diesem Fall ist es web01.

Erstellen Sie nun das Webobjekt. In diesem Objekt geben wir die IP-Adresse an, die vom Endbenutzer für den Zugriff auf den im Kubernetes-Cluster laufenden Webdienst verwendet wird.

Schließlich erstellen wir ein vport-Objekt. Die virtuelle Port-Ressource bindet sich wie gezeigt an eine bestimmte Ingress-Ressource.

Wenn wir nun zu dem Thunder-Gerät gehen, können wir sehen, dass die entsprechende Konfiguration auf dem Gerät hinzugefügt wurde.

Um zu überprüfen, ob die Konfiguration funktioniert, haben wir hier einen Client-Rechner mit dem DNS-Eintrag, der der Peitsche auf dem Thunder-Gerät zugeordnet ist.

Wenn wir einen Curl auf diesen Hostnamen ausführen, erhalten wir eine Antwort von unserem Webdienst, der im Kubernetes-Cluster läuft.

Dies zeigt, dass der Thunder ADC die Client-Anfrage erfolgreich verarbeiten und an die Knoten im Kubernetes-Cluster weiterleiten konnte.

Damit schließen wir die Demo ab. Vielen Dank, dass Sie zugeschaut haben.