Tutorial: Aktivieren des Eingangsdatencontroller-Add-Ons für einen neuen AKS-Cluster mit einer neuen Application Gateway-Instanz

Mit der Azure CLI können Sie das Add-On Application Gateway-Eingangsdatencontroller (Application Gateway Ingress Controller, AGIC) für einen neuen Cluster für Azure Kubernetes Services (AKS) aktivieren.

In diesem Tutorial erstellen Sie einen AKS-Cluster mit aktiviertem AGIC-Add-On. Beim Erstellen des Clusters wird automatisch eine Azure Application Gateway-Instanz erstellt, die verwendet werden soll. Anschließend stellen Sie eine Beispielanwendung bereit, die das Add-On verwendet, um die Anwendung über Application Gateway verfügbar zu machen.

Das Add-On ermöglicht eine viel schnellere Bereitstellung von AGIC für Ihren AKS-Cluster als das bisherige Verfahren mit Helm. Es bietet außerdem eine umfassende Verwaltungserfahrung.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie eine Ressourcengruppe.
  • Erstellen eines neuen AKS-Clusters mit aktiviertem AGIC-Add-On.
  • Bereitstellen einer Beispielanwendung mithilfe von AGIC für eingehenden Datenverkehr auf dem AKS-Cluster.
  • Überprüfen der Erreichbarkeit der Anwendung über Application Gateway.

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Erstellen einer Ressourcengruppe

In Azure ordnen Sie verwandte Ressourcen einer Ressourcengruppe zu. Erstellen Sie mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort (Region) USA, Osten erstellt:

az group create --name myResourceGroup --location eastus

Bereitstellen eines AKS-Clusters mit aktiviertem Add-On

Sie stellen nun einen neuen AKS-Clusters mit aktiviertem AGIC-Add-On bereit. Wenn Sie keine vorhandene Application Gateway-Instanz bereitstellen, die in diesem Prozess verwendet werden soll, wird automatisch eine neue Application Gateway-Instanz erstellt und eingerichtet, um Datenverkehr an den AKS-Cluster zu verarbeiten.

Hinweis

Das AGIC-Add-On (Application Gateway Ingress Controller) unterstützt nur Application Gateway v2-SKUs (Standard und WAF) und keine Application Gateway v1-SKUs. Wenn Sie eine neue Application Gateway-Instanz über das AGIC-Add-On bereitstellen, können Sie nur eine Application Gateway Standard_v2-SKU bereitstellen. Wenn Sie das Add-On für eine Application Gateway WAF_v2-SKU aktivieren möchten, verwenden Sie eine der folgenden Methoden:

Im folgenden Beispiel stellen Sie einen neuen AKS-Cluster namens myCluster mithilfe von Azure CNI und verwalteten Identitäten bereit. Das AGIC-Add-On wird in der Ressourcengruppe aktiviert, die Sie erstellt haben, myResourceGroup.

Wenn Sie einen neuen AKS-Cluster mit aktiviertem AGIC-Add-On ohne Angabe einer vorhandenen Application Gateway-Instanz bereitstellen, wird automatisch eine Standard_v2-SKU-Instanz von Application Gateway erstellt. Sie müssen einen Namen und einen Subnetzadressraum für die neue Application Gateway-Instanz angeben. Der Adressraum muss aus dem Präfix 10.224.0.0/12 stammen, das vom virtuellen AKS-Netzwerk verwendet wird, ohne sich mit dem Präfix 10.224.0.0/16 zu überlappen, das vom AKS-Subnetz verwendet wird. Verwenden Sie in diesem Tutorial myApplicationGateway für den Anwendungsgatewaynamen und 10.225.0.0/16 für den Subnetzadressraum.

az aks create -n myCluster -g myResourceGroup --network-plugin azure --enable-managed-identity -a ingress-appgw --appgw-name myApplicationGateway --appgw-subnet-cidr "10.225.0.0/16" --generate-ssh-keys

Hinweis

Bitte stellen Sie sicher, dass die von AGIC verwendete Identität über die an das Subnetz delegierte Berechtigung Microsoft.Network/virtualNetworks/subnets/join/action verfügt, in dem Application Gateway bereitgestellt ist. Wenn keine benutzerdefinierte Rolle mit dieser Berechtigung definiert ist, können Sie die integrierte Rolle Netzwerkmitwirkender verwenden, die die Berechtigung Microsoft.Network/virtualNetworks/subnets/join/action enthält.

# Get application gateway id from AKS addon profile
appGatewayId=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.config.effectiveApplicationGatewayId")

# Get Application Gateway subnet id
appGatewaySubnetId=$(az network application-gateway show --ids $appGatewayId -o tsv --query "gatewayIPConfigurations[0].subnet.id")

# Get AGIC addon identity
agicAddonIdentity=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.identity.clientId")

# Assign network contributor role to AGIC addon identity to subnet that contains the Application Gateway
az role assignment create --assignee $agicAddonIdentity --scope $appGatewaySubnetId --role "Network Contributor"

Informationen zur Konfiguration weiterer Parameter für den obigen Befehl finden Sie unter az aks create.

Hinweis

Der von Ihnen erstellte AKS-Cluster wird in der Ressourcengruppe aktiviert, die Sie erstellt haben, myResourceGroup. Allerdings befindet sich die automatisch erstellte Application Gateway-Instanz in der Knotenressourcengruppe, in der sich die Agentpools befinden. Die Knotenressourcengruppe hat standardmäßig den Namen MC_resource-group-name_cluster-name_location, der aber geändert werden kann.

Bereitstellen einer Beispielanwendung mithilfe von AGIC

Nun stellen Sie eine Beispielanwendung für den von Ihnen erstellten AKS-Cluster bereit. Die Anwendung verwendet das AGIC-Add-On für den eingehenden Datenverkehr, und verbindet die Application Gateway-Instanz mit dem AKS-Cluster.

Zuerst rufen Sie Anmeldeinformationen für den AKS-Cluster ab, indem Sie den Befehl az aks get-credentials ausführen:

az aks get-credentials -n myCluster -g myResourceGroup

Nachdem Sie nun über die Anmeldeinformationen verfügen, führen Sie den folgenden Befehl aus, um eine Beispielanwendung einzurichten, die AGIC für beim Cluster eingehenden Datenverkehr verwendet. AGIC aktualisiert die Application Gateway-Instanz, die Sie zuvor eingerichtet haben, mit den entsprechenden Routingregeln für die neue Beispielanwendung, die Sie bereitgestellt haben.

kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml 

Überprüfen der Erreichbarkeit der Anwendung

Nachdem die Application Gateway-Instanz für den Datenverkehr zum AKS-Cluster eingerichtet wurde, überprüfen Sie, ob Ihre Anwendung erreichbar ist. Rufen Sie zunächst die IP-Adresse des eingehenden Datenverkehrs ab:

kubectl get ingress

Überprüfen Sie mit einer der folgenden Methoden, ob die von Ihnen erstellte Beispielanwendung ausgeführt wird:

  • Besuchen Sie die IP-Adresse der Application Gateway-Instanz, die Sie durch Ausführen des vorherigen Befehls erhalten haben.
  • Verwenden Sie curl.

Es kann ein paar Minuten dauern, bis Application Gateway das Update abgerufen hat. Wenn der Zustand von Application Gateway im Portal immer noch Wird aktualisiert lautet, warten Sie, bis der Vorgang abgeschlossen ist, bevor Sie versuchen, die IP-Adresse zu erreichen.

Bereinigen von Ressourcen

Wenn Sie sie nicht mehr benötigen, löschen Sie alle Ressourcen, die in diesem Lernprogramm erstellt wurden, indem Sie myResourceGroup und MC_myResourceGroup_myCluster_eastus Ressourcengruppen löschen:

az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus

Nächste Schritte

In diesem Tutorial führen Sie Folgendes durch:

  • Neues AKS-Cluster mit aktiviertem AGIC-Zusatzmodul erstellt
  • Bereitstellung einer Beispielanwendung unter Verwendung von AGIC für eingehenden Datenverkehr auf dem AKS-Cluster

Weitere Informationen über AGIC finden Sie unter Was ist der Application Gateway-Eingangsdatencontroller? und Deaktivieren und erneutes Aktivieren des AGIC-Add-Ons für Ihren AKS-Cluster

Im nächsten Tutorial erfahren Sie, wie Sie das Add-on für den Anwendungsgateway-Eingangsdatencontroller für einen bestehenden AKS-Cluster mit einem bestehenden Anwendungsgateway aktivieren.