Självstudie: Aktivera Ingress Controller-tillägget för ett nytt AKS-kluster med en ny Application Gateway instans
Du kan använda Azure CLI för att aktivera AGIC-tillägget (Application Gateway Ingress Controller) för ett nytt Azure Kubernetes Services-kluster (AKS).
I den här självstudien skapar du ett AKS-kluster med AGIC-tillägget aktiverat. När du skapar klustret skapas automatiskt en Azure Application Gateway som ska användas. Sedan distribuerar du ett exempelprogram som använder tillägget för att exponera programmet via Application Gateway.
Tillägget ger ett mycket snabbare sätt att distribuera AGIC för ditt AKS-kluster än tidigare via Helm. Det erbjuder också en helt hanterad upplevelse.
I den här guiden får du lära dig att:
- Skapa en resursgrupp.
- Skapa ett nytt AKS-kluster med AGIC-tillägget aktiverat.
- Distribuera ett exempelprogram med AGIC för ingress i AKS-klustret.
- Kontrollera att programmet kan nås via Application Gateway.
Om du inte har en Azure-prenumerationkan du skapa ett kostnads fritt konto innan du börjar.
Förutsättningar
Använd bash-miljön i Azure Cloud Shell.
Om du vill kan du i stället installera Azure CLI för att köra CLI-referenskommandon.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Fler inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas till det installerar du Azure CLI-tillägg vid första användning. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Skapa en resursgrupp
I Azure allokerar du relaterade resurser till en resursgrupp. Skapa en resursgrupp med hjälp av az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen canadacentral (region):
az group create --name myResourceGroup --location canadacentral
Distribuera ett AKS-kluster med tillägget aktiverat
Nu ska du distribuera ett nytt AKS-kluster med AGIC-tillägget aktiverat. Om du inte tillhandahåller en befintlig Application Gateway-instans som ska användas i den här processen kommer vi automatiskt att skapa och konfigurera en ny Application Gateway-instans för att hantera trafik till AKS-klustret.
Anteckning
Tillägget Application Gateway Ingress Controller stöder endast SKU:er Application Gateway v2 (Standard och WAF) och inte SKU:er Application Gateway v1. När du distribuerar en ny Application Gateway-instans via AGIC-tillägget kan du bara distribuera en Application Gateway Standard_v2 SKU. Om du vill aktivera tillägget för en SKU Application Gateway WAF_v2 använder du någon av följande metoder:
- Aktivera WAF Application Gateway via portalen.
- Skapa WAF_v2 Application Gateway instansen först och följ sedan anvisningarna för hur du aktiverar AGIC-tillägget med ett befintligt AKS-kluster och en befintlig Application Gateway instans.
I följande exempel distribuerar du ett nytt AKS-kluster med namnet myCluster med hjälp av Azure CNI och hanterade identiteter. AGIC-tillägget aktiveras i resursgruppen som du skapade, myResourceGroup.
Om du distribuerar ett nytt AKS-kluster med AGIC-tillägget aktiverat utan att ange en befintlig Application Gateway-instans innebär det att en SKU-Standard_v2-Application Gateway-instans skapas automatiskt. Därför anger du även namn och adressutrymme för undernätet för den Application Gateway instansen. Namnet på den Application Gateway instansen blir myApplicationGateway och adressutrymmet för undernätet som vi använder är 10.2.0.0/16.
az aks create -n myCluster -g myResourceGroup --network-plugin azure --enable-managed-identity -a ingress-appgw --appgw-name myApplicationGateway --appgw-subnet-cidr "10.2.0.0/16" --generate-ssh-keys
Mer information om hur du konfigurerar ytterligare az aks create parametrar för kommandot finns i dessa referenser.
Anteckning
AKS-klustret som du skapade visas i resursgruppen som du skapade, myResourceGroup. Den automatiskt skapade instansen Application Gateway dock i nodresursgruppen, där agentpoolerna finns. Nodresursgruppen efter heter MC_resource-group-name_cluster-name_location som standard, men kan ändras.
Distribuera ett exempelprogram med AGIC
Nu ska du distribuera ett exempelprogram till det AKS-kluster som du skapade. Programmet använder AGIC-tillägget för ingress och ansluter Application Gateway till AKS-klustret.
Hämta först autentiseringsuppgifterna till AKS-klustret genom att köra az aks get-credentials kommandot :
az aks get-credentials -n myCluster -g myResourceGroup
Nu när du har autentiseringsuppgifter kör du följande kommando för att konfigurera ett exempelprogram som använder AGIC för ingress till klustret. AGIC uppdaterar den Application Gateway som du konfigurerade tidigare med motsvarande routningsregler till det nya exempelprogrammet som du distribuerade.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Kontrollera att programmet kan nås
Nu när Application Gateway instansen har ställts in för att betjäna trafik till AKS-klustret ska vi kontrollera att programmet kan nås. Hämta först IP-adressen för ingressen:
kubectl get ingress
Kontrollera att exempelprogrammet som du skapade körs av antingen:
- Gå till IP-adressen Application Gateway instansen som du fick när du körde föregående kommando.
- Med hjälp av
curl.
Application Gateway kan ta en minut att hämta uppdateringen. Om Application Gateway fortfarande är i ett uppdateringstillstånd på portalen ska du låta det slutföras innan du försöker nå IP-adressen.
Rensa resurser
När du inte längre behöver dem tar du bort resursgruppen, Application Gateway instansen och alla relaterade resurser:
az group delete --name myResourceGroup
