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.

    Starta Cloud Shell i ett nytt fönster

  • 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 myResourceGroupplatsen 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:

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

Nästa steg