Zelfstudie: De invoegtoepassing voor toegangsbeheerobjectcontroller inschakelen voor een nieuw AKS-cluster met een nieuw exemplaar van de toepassingsgateway

U kunt de Azure CLI gebruiken om de AGIC-invoegtoepassing (Application Gateway Ingress Controller) in te schakelen voor een nieuw AKS-cluster (Azure Kubernetes Services).

In deze zelfstudie maakt u een AKS-cluster waarvoor de AGIC-invoegtoepassing is ingeschakeld. Als u het cluster maakt, wordt automatisch een Azure Application Gateway-exemplaar gemaakt dat moet worden gebruikt. Vervolgens implementeert u een voorbeeldtoepassing die de invoegtoepassing gebruikt om de toepassing beschikbaar te maken via de toepassingsgateway.

De invoegtoepassing biedt een veel snellere manier om AGIC voor uw AKS-cluster te implementeren dan voorheen met behulp van helm. Ze biedt ook een volledig beheerde ervaring.

In deze zelfstudie leert u het volgende:

  • Maak een resourcegroep.
  • Een nieuw AKS-cluster maken waarvoor de AGIC-invoegtoepassing is ingeschakeld.
  • Een voorbeeldtoepassing implementeren met behulp van AGIC voor inkomend verkeer op het AKS-cluster.
  • Controleer of de toepassing bereikbaar is via de toepassingsgateway.

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Vereisten

Een brongroep maken

In Azure kunt u verwante resources toewijzen aan een resourcegroep. Maak een resourcegroep met de opdracht az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - oost (regio):

az group create --name myResourceGroup --location eastus

Een AKS-cluster implementeren waarvoor de invoegtoepassing is ingeschakeld

U gaat nu een nieuw AKS-cluster implementeren waarvoor de AGIC-invoegtoepassing is ingeschakeld. Als u geen bestaand exemplaar van een toepassingsgateway opgeeft dat in dit proces moet worden gebruikt, maakt en stelt u automatisch een nieuw exemplaar van de toepassingsgateway in om verkeer naar het AKS-cluster te verwerken.

Notitie

De invoegtoepassing voor inkomend verkeer van de toepassingsgatewaycontroller ondersteunt alleen V2-SKU's (Standard en WAF) en niet de V1-SKU's van de toepassingsgateway. Wanneer u een nieuw exemplaar van een toepassingsgateway implementeert via de AGIC-invoegtoepassing, kunt u alleen een toepassingsgateway implementeren Standard_v2 SKU. Als u de invoegtoepassing wilt inschakelen voor een toepassingsgateway WAF_v2 SKU, gebruikt u een van de volgende methoden:

In het volgende voorbeeld implementeert u een nieuw AKS-cluster met de naam myCluster met behulp van Azure CNI en beheerde identiteiten. De AGIC-invoegtoepassing wordt ingeschakeld in de resourcegroep myResourceGroup die u hebt gemaakt.

Als u een nieuw AKS-cluster implementeert met de AGIC-invoegtoepassing ingeschakeld zonder een bestaand exemplaar van een toepassingsgateway op te geven, wordt automatisch een Standard_v2 exemplaar van de SKU-toepassingsgateway gemaakt. U moet een naam en subnetadresruimte opgeven voor het nieuwe exemplaar van de toepassingsgateway. De adresruimte moet afkomstig zijn van het voorvoegsel 10.224.0.0/12 dat door het virtuele AKS-netwerk wordt gebruikt zonder dat dit overlapt met het voorvoegsel 10.224.0.0/16 dat wordt gebruikt door het AKS-subnet. In deze zelfstudie gebruikt u myApplicationGateway voor de naam van de toepassingsgateway en 10.225.0.0/16 voor de adresruimte van het subnet.

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

[OPMERKING!] Zorg ervoor dat voor de identiteit die door AGIC wordt gebruikt, de machtiging Microsoft.Network/virtualNetworks/subnets/join/action is gedelegeerd aan het subnet Application Gateway is geïmplementeerd. Als een aangepaste rol niet is gedefinieerd met deze machtiging, kunt u de ingebouwde rol Inzender voor netwerken gebruiken, die de machtiging Microsoft.Network/virtualNetworks/subnetten/join/action bevat.

# 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"

Zie az aks create voor meer parameters voor de bovenstaande opdracht.

Notitie

Het AKS-cluster dat u hebt gemaakt, wordt weergegeven in de resourcegroep myResourceGroup die u hebt gemaakt. Het automatisch gemaakte exemplaar van de toepassingsgateway bevindt zich echter in de knooppuntresourcegroep, waar de agentgroepen zich bevinden. De knooppuntresourcegroep heet standaard MC_resource-group-name_cluster-name_location , maar kan worden gewijzigd.

Een voorbeeldtoepassing implementeren met behulp van AGIC

U gaat nu een voorbeeldtoepassing implementeren naar het AKS-cluster dat u hebt gemaakt. De toepassing gebruikt de AGIC-invoegtoepassing voor inkomend verkeer en verbindt het exemplaar van de toepassingsgateway met het AKS-cluster.

Haal eerst referenties op voor het AKS-cluster door de opdracht az aks get-credentials uit te voeren:

az aks get-credentials -n myCluster -g myResourceGroup

Nu u referenties hebt, voert u de volgende opdracht uit om een voorbeeldtoepassing in te stellen die gebruikmaakt van AGIC voor inkomend verkeer naar het cluster. AGIC werkt het exemplaar van de toepassingsgateway bij dat u eerder hebt ingesteld met bijbehorende routeringsregels voor de voorbeeldtoepassing die u implementeert.

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

Controleer of de toepassing bereikbaar is

Nu het exemplaar van de toepassingsgateway is ingesteld om verkeer naar het AKS-cluster te verwerken, gaan we controleren of uw toepassing bereikbaar is. Haal eerst het IP-adres van het inkomende verkeer op:

kubectl get ingress

Controleer of de voorbeeldtoepassing die u hebt gemaakt wordt uitgevoerd door een van de volgende handelingen uit te voeren:

  • Ga naar het IP-adres van het exemplaar van de toepassingsgateway dat u hebt gekregen van het uitvoeren van de voorgaande opdracht.
  • Gebruik daarvoor curl.

Het kan even duren voordat application gateway de update heeft. Als de toepassingsgateway nog steeds de status Bijwerken in de portal heeft, laat u deze voltooien voordat u het IP-adres probeert te bereiken.

Resources opschonen

Wanneer u ze niet meer nodig hebt, verwijdert u alle resources die in deze zelfstudie zijn gemaakt door myResourceGroup en MC_myResourceGroup_myCluster_eastus resourcegroepen te verwijderen:

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

Volgende stappen

In deze zelfstudie hebt u:

  • Nieuw AKS-cluster gemaakt waarvoor de AGIC-invoegtoepassing is ingeschakeld
  • Een voorbeeldtoepassing geïmplementeerd met behulp van AGIC voor inkomend verkeer in het AKS-cluster

Zie Wat is application gateway-ingangscontroller en AGIC-invoegtoepassing uitschakelen en opnieuw inschakelen voor uw AKS-cluster voor meer informatie over AGIC.

Als u wilt weten hoe u de controllerinvoegtoepassing voor inkomend verkeer van toepassingsgateways inschakelt voor een bestaand AKS-cluster met een bestaande toepassingsgateway, gaat u verder met de volgende zelfstudie.