Delen via


Tutorial: De Ingress-controller add-on inschakelen voor een nieuw AKS-cluster met een nieuwe Application Gateway-instantie

Je kunt de Azure CLI gebruiken om de application gateway ingress controller (AGIC)-add-on in te schakelen voor een nieuw Azure Kubernetes Services (AKS)-cluster.

In deze tutorial maak je een AKS-cluster met de ingeschakelde AGIC-add-on. Het maken van het cluster zal automatisch een Azure application gateway-instantie creëren om te gebruiken. Je gaat vervolgens een voorbeeldapplicatie implementeren die de add-on gebruikt om de applicatie via een application gateway bloot te stellen.

De add-on biedt een veel snellere manier om AGIC voor uw AKS-cluster te implementeren dan voorheen via Helm. Het biedt ook een volledig beheerde ervaring.

In deze tutorial leer je hoe je:

  • Maak een resourcegroep.
  • Maak een nieuw AKS-cluster met de AGIC-add-on ingeschakeld.
  • Implementeer een voorbeeldtoepassing met behulp van AGIC voor ingress op de AKS-cluster.
  • Controleer of de applicatie bereikbaar is via de applicatie-gateway.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Vereiste voorwaarden

Maak een bron groep

In Azure wijs je gerelateerde resources toe aan een resourcegroep. Maak een resourcegroep aan met behulp van az group create. Het volgende voorbeeld creëert een resourcegroep genaamd myResourceGroup in de locatie (regio) Oost VS.

az group create --name myResourceGroup --location eastus

Zet een AKS-cluster in met de add-on ingeschakeld.

Je gaat nu een nieuw AKS-cluster implementeren met de AGIC-add-on ingeschakeld. Als je geen bestaande applicatiegateway-instantie opgeeft om in dit proces te gebruiken, maak en configureer je automatisch een nieuwe applicatiegateway-instantie om verkeer naar de AKS-cluster te sturen.

Notitie

De application gateway ingress controller add-on ondersteunt alleen application gateway v2 SKU's (Standaard en WAF), en niet de application gateway v1 SKU's. Wanneer u een nieuwe instance van een application gateway implementeert via de AGIC-add-on, kunt u alleen een application gateway Standard_v2 SKU implementeren. Als je de add-on voor een applicatiegateway WAF_v2 SKU wilt inschakelen, gebruik dan een van deze methoden:

  • Schakel WAF in op de application gateway via het portaal.
  • Maak eerst de WAF_v2-toepassingsgateway-instantie en volg daarna de instructies om de AGIC-add-on in te schakelen met een bestaande AKS-cluster en bestaande toepassingsgateway-instantie.

In het volgende voorbeeld implementeer je een nieuw AKS-cluster genaamd myCluster met behulp van Azure CNI en beheerde identiteiten. De AGIC-add-on wordt ingeschakeld in de resourcegroep die je hebt aangemaakt, myResourceGroup.

Bij het implementeren van een nieuw AKS-cluster met de AGIC-add-on ingeschakeld zonder een bestaande application gateway-instantie op te geven, wordt automatisch een Standard_v2 SKU application gateway-instantie gemaakt. U moet een naam en een subnetadresruimte opgeven voor het nieuwe application gateway-exemplaar. Het adresbereik moet afkomstig zijn uit het netwerkvoorvoegsel 10.224.0.0/12 gebruikt door het AKS-virtuele netwerk zonder dat het overlapt met het netwerkvoorvoegsel 10.224.0.0/16 gebruikt door de AKS-subnet. In deze tutorial gebruikt u myApplicationGateway als naam voor de application gateway en 10.225.0.0/16 als adresruimte voor 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

Notitie

Zorg ervoor dat de identiteit die door AGIC wordt gebruikt de juiste machtigingen heeft. Een lijst van machtigingen die door de identiteit nodig zijn, is hier te vinden: Configureer Infrastructuur - Machtigingen. Als een aangepaste rol niet is gedefinieerd met de vereiste rechten, kunt u de rol Network Contributor gebruiken.

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

Voor meer configuratieparameters voor het bovenstaande commando, zie az aks create.

Notitie

Het AKS-cluster dat je hebt aangemaakt, verschijnt in de resourcegroep die je hebt aangemaakt, myResourceGroup. De automatisch aangemaakte application gateway-instantie zal zich echter in de knooppuntresourcegroep bevinden, waar de agentenpools zich bevinden. De node-resourcegroep heet standaard MC_resource-group-name_cluster-name_location, maar kan worden aangepast.

Implementeer een voorbeeldapplicatie met behulp van AGIC.

Je gaat nu een voorbeeldapplicatie implementeren naar de AKS-cluster die je hebt aangemaakt. De applicatie zal de AGIC-addon gebruiken voor toegang en de applicatiegateway-instantie verbinden met de AKS-cluster.

Eerst krijg je toegang tot de AKS-cluster door het az aks get-credentials-commando te uitvoeren.

az aks get-credentials -n myCluster -g myResourceGroup

Nu je over inloggegevens beschikt, voer je het volgende commando uit om een voorbeeldtoepassing op te zetten die AGIC gebruikt voor de ingress naar het cluster. AGIC zal de instance van de application gateway die je eerder hebt opgezet bijwerken met bijbehorende routeringsregels voor de voorbeeldapplicatie die je aan het implementeren bent.

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

Controleer of de applicatie bereikbaar is

Nu de applicatiegateway-instance is ingesteld om verkeer naar het AKS-cluster te leiden, laten we controleren of uw applicatie bereikbaar is. Allereerst, vraag het IP-adres van de inkomende verbinding op:

kubectl get ingress

Controleer of de voorbeeldapplicatie die je hebt gemaakt, draait door:

  • Bezoek het IP-adres van het application gateway-instantie dat je hebt verkregen door het vorige commando uit te voeren.
  • Het gebruik van curl.

De applicatiegateway kan een minuut duren om de update te ontvangen. Als de application gateway nog steeds in een Bijwerken-status op het portaal staat, laat het dan voltooid worden voordat je probeert het IP-adres te bereiken.

Reinig bronnen

Wanneer je ze niet langer nodig hebt, verwijder dan alle bronnen die in deze tutorial zijn aangemaakt door de resourcegroepen myResourceGroup en MC_myResourceGroup_myCluster_eastus te verwijderen.

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

Volgende stappen

In deze handleiding:

  • Nieuwe AKS-cluster gemaakt met de AGIC-add-on ingeschakeld.
  • Een voorbeeldapplicatie geïmplementeerd met gebruik van AGIC voor ingress op de AKS-cluster.

Voor meer informatie over AGIC, zie Wat is Application Gateway Ingress Controller en AGIC-add-on uitschakelen en opnieuw inschakelen voor uw AKS-cluster.

Om te leren hoe je de invoegcontroller-add-on voor een toepassingsgateway kunt inschakelen voor een bestaande AKS-cluster met een bestaande toepassingsgateway, ga verder naar de volgende tutorial.