Freigeben über


Tutorial: Aktivieren des Ingress-Controller-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 Ingress Controller (AGIC) für einen neuen Azure Kubernetes Services (AKS)-Cluster 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 nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

Voraussetzungen

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 werden nun einen neuen AKS-Cluster mit aktiviertem AGIC-Add-On bereitstellen. 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 Add-On für den Application Gateway Ingress Controller unterstützt nur die Application Gateway v2-SKUs (Standard und WAF) und nicht die 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

Stellen Sie sicher, dass die von AGIC verwendete Identität über die erforderlichen Berechtigungen verfügt. Eine Liste der Berechtigungen, die von der Identität benötigt werden, finden Sie unter Konfigurieren der Infrastruktur: Berechtigungen. Wenn eine benutzerdefinierte Rolle nicht mit den erforderlichen Berechtigungen definiert wurde, können Sie die Rolle Netzwerkmitwirkender verwenden.

Hinweis

Wenn Sie die Verwendung von AGIC mit einem AKS-Cluster mit CNI Overlay planen, geben Sie den Parameter --aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AppGatewayWithOverlayPreview zum Konfigurieren von AGIC an, um die Konnektivität mit dem CNI Overlay-aktivierten Cluster zu verarbeiten.

# 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 den Eingang in den Cluster 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.
  • Unter Verwendung von 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 Ingress Controller? 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.