Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda Azure CLI för att aktivera application gateway-ingresskontrollanten (AGIC)-tillägget för en ny Azure Kubernetes Services (AKS)-kluster.
I den här handledningen kommer du att skapa en AKS-kluster med AGIC-tillägg aktiverat. Att skapa klustret kommer automatiskt att skapa en instans av Azure-applikationsgateway att använda. Du kommer sedan att distribuera en exempelapplikation som kommer att använda tillägget för att exponera applikationen genom applikationsgateway.
Tilläggsprogrammet erbjuder ett mycket snabbare sätt att distribuera AGIC för din AKS-kluster än tidigare genom Helm. Den erbjuder också en helt hanterad upplevelse.
I denna handledning lär du dig hur man:
- Skapa en resursgrupp.
- Skapa ett nytt AKS-kluster med AGIC-tillägget aktiverat.
- Distribuera en exempeltillämpning genom att använda AGIC för ingress på AKS-klustret.
- Kontrollera att applikationen är tillgänglig genom applikationsgateway.
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
- Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell. 
- Om du föredrar att köra CLI-referenskommandon lokalt, installera Azure CLI. Om du kör Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container. - Om du använder en lokal installation, logga in på Azure CLI genom att använda kommandot az login. För att avsluta autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI. 
- När du blir uppmanad, installera Azure CLI-tillägget vid första användning. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI. 
- Kör az version för att ta reda på versionen och de beroende bibliotek som är installerade. För att uppgradera till den senaste versionen, kör az upgrade. 
 
Skapa en resursgrupp
I Azure tilldelar du relaterade resurser till en resursgrupp. Skapa en resursgrupp med az group create. Följande exempel skapar en resursgrupp med namnet myResourceGroup i East US plats (region):
az group create --name myResourceGroup --location eastus
Distribuera ett AKS-kluster med tillägget aktiverat
Du kommer nu att distribuera ett nytt AKS-kluster med AGIC-tillägget aktiverat. Om du inte tillhandahåller en befintlig instans av applikationsgateway att använda i denna process, kommer du automatiskt att skapa och konfigurera en ny instans av applikationsgateway för att hantera trafik till AKS-klustret.
Anmärkning
Tillägget för ingångskontrollen för applikationsgatewayen stöder endast applikationsgateway v2 SKU:er (Standard och WAF), och inte applikationsgateway v1 SKU:er. När du distribuerar en ny instans av applikationsgateway via AGIC-tillägget kan du endast distribuera applikationsgateway Standard_v2 SKU. Om du vill aktivera tillägget för en Application Gateway WAF_v2 SKU, använd någon av dessa metoder:
- Aktivera WAF på applikationsgatewayen via portalen.
- Skapa först WAF_v2-applikationsgateway-instansen och följ sedan instruktionerna för hur du aktiverar AGIC-tillägget med ett befintligt AKS-kluster och en befintlig applikationsgateway-instans.
I det följande exemplet kommer du att distribuera en ny AKS-kluster med namnet myCluster genom att använda Azure CNI och hanterade identiteter. Tillägget AGIC kommer att aktiveras i resursgruppen som du skapade, myResourceGroup.
Om du distribuerar en ny AKS-kluster med AGIC-tillägget aktiverat utan att specificera en befintlig applikationsgateway-instans kommer det automatiskt att skapa en Standard_v2 SKU-applikationsgateway-instans. Du måste ange ett namn och ett nätverksadressutrymme för det nya applikationsgateway-instansen. Adressutrymmet måste komma från prefixet 10.224.0.0/12 som används av AKS virtuella nätverk utan att överlappa med prefixet 10.224.0.0/16 som används av AKS subnet. I den här handledningen, använd myApplicationGateway som namn för applikationsgatewayen och 10.225.0.0/16 som adressutrymme för dess undernät.
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
Anmärkning
Se till att identiteten som används av AGIC har rätt behörigheter. En lista över behörigheter som krävs av identiteten finns här: Configure Infrastructure - Permissions. Om en anpassad roll inte är definierad med de nödvändiga behörigheterna kan du använda rollen Network Contributor.
# 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"
För att konfigurera fler parametrar för ovanstående kommando, se az aks create.
Anmärkning
AKS-klustret som du har skapat kommer att visas i den resursgrupp som du har skapat, myResourceGroup. Den automatiskt skapade applikationsgateway-instansen kommer dock att finnas i nodens resursgrupp, där agentpoolerna är. Nodens resursgrupp heter som standard MC_resource-group-name_cluster-name_location, men kan ändras.
Distribuera en exempelapplikation med hjälp av AGIC
Nu kommer du att distribuera en exempelapplikation till den AKS-kluster som du skapade. Applikationen kommer att använda AGIC-tillägget för ingress och ansluta applikationsgateway-instansen till AKS-klustret.
Först, hämta autentiseringsinformation till AKS-klustret genom att köra kommandot az aks get-credentials.
az aks get-credentials -n myCluster -g myResourceGroup
Nu när du har autentiseringsuppgifter, kör följande kommando för att ställa in en exempelapplikation som använder AGIC för ingress till klustret. AGIC kommer att uppdatera den applikationsgatewayinstans som du tidigare satt upp med motsvarande routingregler för den exempelapplikation du distribuerar.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml 
Kontrollera att applikationen är tillgänglig
Nu när applikationsgateway-instansen är inställd för att hantera trafik till AKS-klustret, låt oss kontrollera att din applikation är åtkomlig. Först, hämta IP-adressen för ingången.
kubectl get ingress
Kontrollera att det exempelprogram som du skapade körs genom att:
- Besök IP-adressen för applikationsgateway-instansen som du fick från att ha kört det föregående kommandot.
- Använder curl.
Applikationsgateway kan ta en minut att få uppdateringen. Om applikationsgateway fortfarande är i ett Uppdateras status på portalen, låt det avsluta innan du försöker nå IP-adressen.
Rensa resurser
När du inte längre behöver dem, ta bort alla resurser som skapats i denna handledning genom att radera resursgrupperna myResourceGroup och MC_myResourceGroup_myCluster_eastus.
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus
Nästa steg
I den här handledningen kommer du att:
- Skapat nytt AKS-kluster med AGIC-tillägget aktiverat
- Använd en AGIC för att hantera ingress och sätta igång en testapplikation på AKS-klustret
För att lära dig mer om AGIC, se Vad är Application Gateway Ingress Controller och Inaktivera och återaktivera AGIC-tillägget för din AKS-kluster.
För att lära dig hur du aktiverar tillägget för applikationsgatewayens ingångskontrollerare för ett befintligt AKS-kluster med en befintlig applikationsgateway, gå vidare till nästa handledning.
