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
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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łącz zaporę aplikacji internetowej w bramie aplikacji za pośrednictwem portalu.
- Najpierw utwórz wystąpienie bramy aplikacji WAF_v2, a następnie postępuj zgodnie z instrukcjami dotyczącymi włączania dodatku AGIC z istniejącym klastrem usługi AKS i istniejącym wystąpieniem bramy aplikacji.
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.