Bereitstellen eines Ingress Controllers in Azure Kubernetes

Was ist der Azure Kubernetes Service?
Azure Kubernetes Service (AKS) hilft Benutzern bei der Bereitstellung eines verwalteten Kubernetes-Clusters in Azure. AKS ist als kostenloser gehosteter Kubernetes-Dienst verfügbar. Nutzer müssen für die Agent-Knoten innerhalb der Cluster bezahlen.
Auf dem Cluster läuft eine Multicontainer-Webanwendung, auf die die Nutzer über das Internet zugreifen können.
Verwaltung des Anwendungsverkehrs in Kubernetes mit A10 Lightning ADC
Das A10 Lightning ADCs Daemon-Set kann in Kubernetes-Clustern eingesetzt werden, um den containerisierten Anwendungsverkehr im Cluster zu verwalten. Die ADC-Verwaltungsfunktionen von Lightning umfassen Lastausgleich und Anwendungssicherheit. Der A10 Harmony Controller bietet eine zentrale Verwaltung für ADCs und Analysen für die Anwendungen.
A10 Networks bietet auch einen Ingress Controller für Kubernetes für seine Container-native Load Balancing- und Application Delivery Controller-Plattform. Dies ermöglicht den Lastausgleich von laufenden Kubernetes-Diensten und eine Plattform zur Extraktion von Leistungskennzahlen.
Der Ingress Controller arbeitet mit Ingress-Ressourcen, um automatisch die Anwendungsbereitstellungskonfiguration und Richtlinien für einen Container bereitzustellen. Er kann auch den Lightning ADC Load Balancer von A10 dynamisch aktualisieren, wenn Anwendungsdienste innerhalb eines Kubernetes-Clusters skaliert werden. Es bietet auch Anwendungsanalysen, indem es Metriken sammelt, die zur Fehlerbehebung, Kapazitätsplanung und Erkennung von Leistungs- oder Sicherheitsproblemen verwendet werden können. Diese analytischen Daten sind über das Portal A10 Harmony oder eine Reihe von APIs verfügbar.

Voraussetzungen für die Bereitstellung der A10-Lösung in Azure AKS Service
- Melden Sie sich bei Azure AKS an und erstellen Sie einen Kubernetes Node Cluster
- Bereitstellung des A10 Lightning ADC-Daemon-Sets und des Ingress Controllers
- Einsatz von A10 Harmony Controller im Rechenzentrum
- Melden Sie sich auf Harmony Controller an und erstellen Sie einen manuellen Lightning ADC Cluster
Bereitstellung von A10 Ingress Controller mit Lightning ADC-Daemon-Set auf einem Knoten in Azure AKS Service
1. Öffnen Sie einen Browser und melden Sie sich im Azure-Portal mit den Azure-Benutzerdaten an.
- Geben Sie unter " Alle Dienste" "AKS" ein und klicken Sie auf AKS-Dienste, um einen AKS-Cluster zu erstellen.
- Der Azure AKS-Dienst bietet standardmäßig aktiviertes HTTP Application Routing. Es handelt sich um einen zusätzlichen Front-End-Lastausgleichsdienst für den Lastausgleich des Benutzerverkehrs zwischen den Knoten. Er kann beim Einrichten des Clusters deaktiviert werden.

Optional können Sie die Azure CLI zur Erstellung des Clusters verwenden. Sobald Sie jedoch einen Cluster erstellt haben, können Sie Kubernetes und Azure CLI auf dem lokalen System installieren.
2. Installieren Sie Kubernetes und Azure CLI im lokalen System, um sich mit dem AKS-Cluster zu verbinden.
- Azure CLI installieren
- Kubernetes installieren
- Um sich vom lokalen System aus mit dem Kubernetes-Cluster zu verbinden, geben Sie diesen Befehl in die Azure-CLI ein.
# az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Wenn Sie Azure Cloud Shell verwenden, ist kubectl bereits installiert. Wenn Sie es lokal installieren möchten. Sobald Sie einen Kubernetes-Cluster mit Knoten haben, können Sie ein Lightning ADC-Daemon-Set erstellen, indem Sie die Cluster-ID und die API-Server-URL-Parameter über das A10 Harmony Portal generieren.
3. Melden Sie sich bei Harmony Controller GUI an und erstellen Sie Lightning ADC manual cluster

- Sobald Sie den manuellen Cluster Lightning ADC erstellt haben, notieren Sie sich die Cluster-ID und die URL des API-Servers.
- Stellen Sie das A10 Lightning ADC-Daemon-Set bereit, indem Sie die Beispieldatei LADC_daemon_Set.yaml herunterladen.
- Edit the sample LADC_demon_Set.yaml file and input the ladc_cluster_id and API server URL details into the file and save the changes to the file.
- Verwenden Sie den folgenden Befehl, um das A10 Lightning ADC Daemon-Set einzusetzen.
# kubectl create -f /path_to_file/LADC_demon_Set.yaml
4. Platzieren Sie die Harmony Controller Zugangsdaten in Kubernetes Secret
- Laden Sie die Beispieldatei secret.yaml herunter
- Bearbeiten Sie die Datei, geben Sie den Benutzernamen und das Passwort des Mieters im base64-Format ein und speichern Sie die Änderungen in der Datei.
- Erstellen Sie den Tenant-Berechtigungsnachweis als Kubernetes-Geheimnis mit dem folgenden Befehl.
# kubectl create -f /path_to_file/secret.yaml
5. Einsatz von A10 Ingress Controller
- Laden Sie die Beispieldatei deploy_ingress_controller.yaml herunter
- Bearbeiten Sie die Datei und geben Sie die Parameter ein, z. B. Harmony Controller URL, Tenant name, LADC Cluster name, und speichern Sie die Änderungen in der Datei.
- Stellen Sie den Ingress Controller mit dem Befehl
# kubectl create -f /path_to_file/deploy_ingress_controller.yaml
6. Ingress-Ressource erstellen
- Die Ingress-Ressource ist das Objekt, mit dem Benutzer Regeln für den Lastausgleich und die Umschaltung von Inhalten definieren können. Erstellen Sie die Ingress-Ressource anhand der heruntergeladenen Beispieldatei Ingress_resource.yaml.
- Bearbeiten Sie die Datei und geben Sie die Parameter ein, z. B. Dienstname, Hostname, Name des Backend-Dienstes, Portnummer.
- Stellen Sie die Ingress-Controller-Ressource mit dem folgenden Befehl bereit.
# kubectl create -f /path_to_file/ingress_resource.yaml
7. Bereitstellen des Kubernetes Headless Service
- Wenn ein Kubernetes-Dienst erstellt wird, übernimmt Kube-proxy standardmäßig die Rolle eines Lastausgleichs.
- Wenn Lightning ADC in den Pfad eingefügt wird, wird Kube-Proxy überflüssig.
- Durch die Bereitstellung des Anwendungsdienstes als Headless-Dienst wird Kube-Proxy aus dem Pfad entfernt und der Datenverkehr wird an Lightning ADC weitergeleitet.
8. Rufen Sie die Anwendungs-URL mit Ihrem Browser auf (z. B. https://myapplication. com)
9. Um die Analyse des Anwendungsverkehrs anzuzeigen, melden Sie sich am A10 Harmony Controller portal GUI an.
Das A10 Harmony Controller Portal, Analytics Dashboard zeigt die Echtzeit-Statistiken über den Benutzerverkehr der Anwendung, wie z. B. den aktuellen Verkehrsdurchsatz, die Antwortzeit, Verbindungsdetails sowie verschiedene Metriken für verschiedene Kategorien wie Client-Zusammenfassung, ADC-Leistung, Anwendungsantwortzeit und Serverzustand usw.
Die folgende Abbildung zeigt eine Zusammenfassung der Informationen über den Geo-Standort des Clients, Client-Anfragen und Server-Antwortcodes sowie die Anzahl der von Lightning ADC empfangenen Client-Anfragen. Dies hilft dem Administrator, den Benutzerverkehr zu identifizieren und zu kontrollieren.

Die folgende Abbildung zeigt das Diagramm der Round-Trip-HTTP-Anfrage-Antwort-Zeit, gemessen an verschiedenen Haltepunkten. Dies hilft dem Administrator, die Netzwerklatenz an den einzelnen Haltepunkten zu visualisieren und bietet eine schnelle Zusammenfassung, um schnell herauszufinden, ob es Probleme gibt und man diese untersuchen muss.

Zusammenfassung
Azure AKS ist ein gehosteter Dienst, der die Bereitstellung eines verwalteten Kubernetes-Knoten-Clusters in Azure vereinfacht. Er reduziert die Komplexität und den betrieblichen Overhead der Kubernetes-Verwaltung, indem er einen Großteil dieser Aufgaben auf Azure verlagert. Darüber hinaus stellt der A10 Lightning ADC-Daemon den Lastausgleich her, überwacht den Anwendungsverkehr und bietet Anwendungssicherheit und granulare Analysen. Der Ingress-Controller kommuniziert die in den Ingress-Ressourcen angegebene Konfiguration über Harmony-APIs an A10 Harmony Controller und erstellt die erforderliche Anwendungskonfiguration.