Samouczek: włączanie dodatku kontrolera ruchu przychodzącego dla nowego klastra usługi AKS przy użyciu nowego wystąpienia bramy aplikacji

Interfejs wiersza polecenia platformy Azure umożliwia włączenie dodatku kontrolera ruchu przychodzącego bramy aplikacji (AGIC) dla nowego klastra usługi Azure Kubernetes Services (AKS).

W tym samouczku utworzysz klaster usługi AKS z włączonym dodatkiem AGIC. Utworzenie klastra spowoduje automatyczne utworzenie wystąpienia usługi Azure Application Gateway do użycia. Następnie wdrożysz przykładową aplikację, która będzie używać dodatku do uwidaczniania aplikacji za pośrednictwem bramy aplikacji.

Dodatek zapewnia znacznie szybszy sposób wdrażania programu AGIC dla klastra usługi AKS niż wcześniej za pomocą narzędzia Helm. Oferuje również w pełni zarządzane środowisko.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz grupę zasobów.
  • Utwórz nowy klaster usługi AKS z włączonym dodatkiem AGIC.
  • Wdróż przykładową aplikację przy użyciu programu AGIC na potrzeby ruchu przychodzącego w klastrze usługi AKS.
  • Sprawdź, czy aplikacja jest osiągalna za pośrednictwem bramy aplikacji.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Tworzenie grupy zasobów

Na platformie Azure możesz przydzielić powiązane zasoby do grupy zasobów. Utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład tworzy grupę zasobów o nazwie myResourceGroup w lokalizacji Wschodnie stany USA (region):

az group create --name myResourceGroup --location eastus

Wdrażanie klastra usługi AKS z włączonym dodatkiem

Teraz wdrożysz nowy klaster usługi AKS z włączonym dodatkiem AGIC. Jeśli nie udostępnisz istniejącego wystąpienia bramy aplikacji do użycia w tym procesie, automatycznie utworzysz i skonfigurujesz nowe wystąpienie usługi Application Gateway, aby obsługiwać ruch do klastra usługi AKS.

Uwaga

Dodatek kontrolera ruchu przychodzącego bramy aplikacji obsługuje tylko jednostki SKU bramy aplikacji w wersji 2 (standardowa i zapora aplikacji internetowej), a nie jednostki SKU bramy aplikacji w wersji 1. Podczas wdrażania nowego wystąpienia bramy aplikacji za pomocą dodatku AGIC można wdrożyć tylko bramę aplikacji Standard_v2 SKU. Jeśli chcesz włączyć dodatek dla bramy aplikacji WAF_v2 sku, użyj jednej z następujących metod:

W poniższym przykładzie wdrożysz nowy klaster usługi AKS o nazwie myCluster przy użyciu usługi Azure CNI i tożsamości zarządzanych. Dodatek AGIC zostanie włączony w utworzonej grupie zasobów myResourceGroup.

Wdrożenie nowego klastra usługi AKS z włączonym dodatkiem AGIC bez określenia istniejącego wystąpienia bramy aplikacji spowoduje automatyczne utworzenie wystąpienia bramy aplikacji Standard_v2 SKU. Należy określić nazwę i przestrzeń adresową podsieci dla nowego wystąpienia bramy aplikacji. Przestrzeń adresowa musi pochodzić z prefiksu 10.224.0.0/12 używanego przez sieć wirtualną usługi AKS bez nakładania się z prefiksem 10.224.0.0/16 używanym przez podsieć usługi AKS. W tym samouczku użyj nazwy bramy aplikacji myApplicationGateway i 10.225.0.0/16 dla przestrzeni adresowej podsieci.

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

[UWAGA!] Upewnij się, że tożsamość używana przez program AGIC ma uprawnienie Microsoft.Network/virtualNetworks/subnets/join/action delegowane do podsieci Application Gateway. Jeśli rola niestandardowa nie jest zdefiniowana z tym uprawnieniem, możesz użyć wbudowanej roli Współautor sieci, która zawiera uprawnienie Microsoft.Network/virtualNetworks/subnets/join/action .

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

Aby skonfigurować więcej parametrów dla powyższego polecenia, zobacz az aks create.

Uwaga

Utworzony klaster usługi AKS zostanie wyświetlony w utworzonej grupie zasobów myResourceGroup. Jednak automatycznie utworzone wystąpienie bramy aplikacji będzie znajdować się w grupie zasobów węzła, w której znajdują się pule agentów. Grupa zasobów węzła ma domyślnie nazwę MC_resource-group-name_cluster-name_location , ale można je modyfikować.

Wdrażanie przykładowej aplikacji przy użyciu programu AGIC

Teraz wdrożysz przykładową aplikację w utworzonym klastrze usługi AKS. Aplikacja będzie używać dodatku AGIC dla ruchu przychodzącego i połączyć wystąpienie bramy aplikacji z klastrem usługi AKS.

Najpierw pobierz poświadczenia do klastra usługi AKS, uruchamiając az aks get-credentials polecenie:

az aks get-credentials -n myCluster -g myResourceGroup

Teraz, gdy masz poświadczenia, uruchom następujące polecenie, aby skonfigurować przykładową aplikację korzystającą z programu AGIC na potrzeby ruchu przychodzącego do klastra. Program AGIC zaktualizuje wystąpienie bramy aplikacji skonfigurowane wcześniej przy użyciu odpowiednich reguł routingu do przykładowej wdrażanej aplikacji.

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

Sprawdź, czy aplikacja jest osiągalna

Teraz, gdy wystąpienie bramy aplikacji jest skonfigurowane do obsługi ruchu do klastra usługi AKS, sprawdźmy, czy aplikacja jest osiągalna. Najpierw uzyskaj adres IP ruchu przychodzącego:

kubectl get ingress

Sprawdź, czy utworzona przykładowa aplikacja jest uruchomiona przez:

  • Odwiedź adres IP wystąpienia bramy aplikacji, który został uzyskany z uruchomienia poprzedniego polecenia.
  • Przy użyciu curl.

Pobranie aktualizacji w usłudze Application Gateway może potrwać minutę. Jeśli brama aplikacji jest nadal w stanie Aktualizowanie w portalu, niech zakończy się przed próbą uzyskania adresu IP.

Czyszczenie zasobów

Gdy nie są już potrzebne, usuń wszystkie zasoby utworzone w tym samouczku, usuwając grupę zasobów myResourceGroup i MC_myResourceGroup_myCluster_eastus :

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

Następne kroki

W tym samouczku zostały wykonane następujące czynności:

  • Utworzono nowy klaster usługi AKS z włączonym dodatkiem AGIC
  • Wdrożono przykładową aplikację przy użyciu programu AGIC na potrzeby ruchu przychodzącego w klastrze usługi AKS

Aby dowiedzieć się więcej o AGIC, zobacz Co to jest kontroler ruchu przychodzącego usługi Application Gateway i wyłącz i ponownie włącz dodatek AGIC dla klastra usługi AKS.

Aby dowiedzieć się, jak włączyć dodatek kontrolera ruchu przychodzącego bramy aplikacji dla istniejącego klastra usługi AKS z istniejącą bramą aplikacji, przejdź do następnego samouczka.