Kurz: Povolení doplňku kontroleru příchozího přenosu dat služby Application Gateway pro existující cluster AKS s existující aplikační bránou
Pomocí Azure CLI nebo portálu můžete povolit doplněk kontroleru příchozího přenosu dat služby Application Gateway (AGIC) pro existující cluster Azure Kubernetes Services (AKS ). V tomto kurzu se dozvíte, jak pomocí doplňku AGIC zpřístupnit aplikaci Kubernetes v existujícím clusteru AKS prostřednictvím existující aplikační brány nasazené v samostatných virtuálních sítích. Začnete vytvořením clusteru AKS v jedné virtuální síti a aplikační bránou v samostatné virtuální síti pro simulaci existujících prostředků. Potom povolíte doplněk AGIC, propojíte dvě virtuální sítě dohromady a nasadíte ukázkovou aplikaci, která bude zpřístupněna prostřednictvím aplikační brány pomocí doplňku AGIC. Pokud povolíte doplněk AGIC pro existující aplikační bránu a existující cluster AKS ve stejné virtuální síti, můžete následující krok partnerského vztahu přeskočit. Doplněk poskytuje mnohem rychlejší způsob nasazení AGIC pro váš cluster AKS než přes Helm a nabízí také plně spravované prostředí.
V tomto kurzu se naučíte:
- Vytvořte skupinu prostředků.
- Vytvořte nový cluster AKS.
- Vytvořte novou aplikační bránu.
- Povolte doplněk AGIC v existujícím clusteru AKS prostřednictvím Azure CLI.
- Povolte doplněk AGIC v existujícím clusteru AKS prostřednictvím webu Azure Portal.
- Vytvořte partnerský vztah virtuální sítě aplikační brány s virtuální sítí clusteru AKS.
- Nasaďte ukázkovou aplikaci pomocí AGIC pro příchozí přenos dat v clusteru AKS.
- Zkontrolujte, jestli je aplikace dostupná prostřednictvím služby Application Gateway.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Vytvoření skupiny zdrojů
V Azure přidělíte související prostředky ke skupině prostředků. Vytvořte skupinu prostředků pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění USA – východ (oblast):
az group create --name myResourceGroup --location eastus
Nasazení nového clusteru AKS
Teď nasadíte nový cluster AKS a budete simulovat stávající cluster AKS, pro který chcete povolit doplněk AGIC.
V následujícím příkladu nasadíte nový cluster AKS s názvem myCluster pomocí Azure CNI a spravovaných identit ve skupině prostředků, kterou jste vytvořili, myResourceGroup.
az aks create --name myCluster --resource-group myResourceGroup --network-plugin azure --enable-managed-identity --generate-ssh-keys
Pokud chcete pro výše uvedený příkaz nakonfigurovat další parametry, přečtěte si příkaz az aks create.
Poznámka:
Vytvoří se skupina prostředků uzlu s názvem MC_resource-group-name_cluster-name_location.
Nasazení nové aplikační brány
Teď nasadíte novou aplikační bránu, která simuluje stávající aplikační bránu, kterou chcete použít k vyrovnávání zatížení provozu do clusteru AKS myCluster. Název aplikační brány bude myApplicationGateway, ale budete muset nejprve vytvořit veřejný prostředek IP adresy s názvem myPublicIp a novou virtuální síť s názvem myVnet s adresní prostorem 10.0.0.0/16 a podsítí s adresní prostorem 10.0.0.0/24 s názvem mySubnet a nasadit bránu application Gateway v podsíti pomocí myPublicIp.
Upozornění
Pokud používáte cluster AKS a aplikační bránu v samostatných virtuálních sítích, adresní prostory těchto dvou virtuálních sítí se nesmí překrývat. Výchozí adresní prostor nasazený clusterem AKS je 10.224.0.0/12.
az network public-ip create --name myPublicIp --resource-group myResourceGroup --allocation-method Static --sku Standard
az network vnet create --name myVnet --resource-group myResourceGroup --address-prefix 10.0.0.0/16 --subnet-name mySubnet --subnet-prefix 10.0.0.0/24
az network application-gateway create --name myApplicationGateway --resource-group myResourceGroup --sku Standard_v2 --public-ip-address myPublicIp --vnet-name myVnet --subnet mySubnet --priority 100
Poznámka:
Doplněk kontroleru příchozího přenosu dat aplikační brány (AGIC) podporuje pouze skladové položky aplikační brány v2 (Standard a WAF) a ne skladové položky aplikační brány v1.
Povolení doplňku AGIC v existujícím clusteru AKS prostřednictvím Azure CLI
Pokud chcete dál používat Azure CLI, můžete pokračovat v povolení doplňku AGIC v clusteru AKS, který jste vytvořili, myCluster a zadat doplněk AGIC pro použití existující aplikační brány, kterou jste vytvořili, myApplicationGateway.
appgwId=$(az network application-gateway show --name myApplicationGateway --resource-group myResourceGroup -o tsv --query "id")
az aks enable-addons --name myCluster --resource-group myResourceGroup --addon ingress-appgw --appgw-id $appgwId
Povolení doplňku AGIC v existujícím clusteru AKS prostřednictvím webu Azure Portal
- Na domovské stránce webu Azure Portal přejděte k prostředku clusteru AKS.
- V nabídce služby v části Nastavení vyberte Integrace virtuální sítě sítě>.
- V části Kontroler příchozího přenosu dat služby Application Gateway vyberte Spravovat.
- Na stránce kontroleru příchozího přenosu dat služby Application Gateway zaškrtněte políčko pro povolení kontroleru příchozího přenosu dat a pak v rozevíracím seznamu vyberte existující aplikační bránu.
- Zvolte Uložit.
Důležité
Pokud používáte aplikační bránu v jiné skupině prostředků než skupina prostředků clusteru AKS, musí mít vytvořená spravovaná identita ingressapplicationgateway-{AKSNAME}, která je vytvořená, ve skupině prostředků služby Application Gateway nastaveny role Přispěvatel sítě a Čtenář.
Vytvoření partnerského vztahu mezi dvěma virtuálními sítěmi
Vzhledem k tomu, že jste cluster AKS nasadili do vlastní virtuální sítě a služby Application Gateway v jiné virtuální síti, budete muset obě virtuální sítě propojit dohromady, aby provoz mohl proudit ze služby Application Gateway do podů v clusteru. Peering těchto dvou virtuálních sítí vyžaduje spuštění příkazu Azure CLI dvakrát, aby se zajistilo obousměrné připojení. První příkaz vytvoří připojení peeringu z virtuální sítě služby Application Gateway k virtuální síti AKS; Druhý příkaz vytvoří připojení peeringu v opačném směru.
nodeResourceGroup=$(az aks show --name myCluster --resource-group myResourceGroup -o tsv --query "nodeResourceGroup")
aksVnetName=$(az network vnet list --resource-group $nodeResourceGroup -o tsv --query "[0].name")
aksVnetId=$(az network vnet show --name $aksVnetName --resource-group $nodeResourceGroup -o tsv --query "id")
az network vnet peering create --name AppGWtoAKSVnetPeering --resource-group myResourceGroup --vnet-name myVnet --remote-vnet $aksVnetId --allow-vnet-access
appGWVnetId=$(az network vnet show --name myVnet --resource-group myResourceGroup -o tsv --query "id")
az network vnet peering create --name AKStoAppGWVnetPeering --resource-group $nodeResourceGroup --vnet-name $aksVnetName --remote-vnet $appGWVnetId --allow-vnet-access
Poznámka:
V kroku Nasazení nového clusteru AKS výše jsme vytvořili AKS s Azure CNI v případě, že máte existující cluster AKS pomocí režimu Kubenet, musíte aktualizovat směrovací tabulku, aby se pakety určené pro IP adresu PODu dostaly k uzlu, který je hostitelem podu. Jednoduchým způsobem, jak toho dosáhnout, je přidružení stejné směrovací tabulky vytvořené službou AKS k podsíti služby Application Gateway.
Nasazení ukázkové aplikace pomocí AGIC
Teď nasadíte ukázkovou aplikaci do clusteru AKS, který jste vytvořili, a použijete doplněk AGIC pro příchozí přenos dat a připojíte aplikační bránu ke clusteru AKS. Nejprve získáte přihlašovací údaje ke clusteru AKS, který jste nasadili spuštěním az aks get-credentials
příkazu.
az aks get-credentials --name myCluster --resource-group myResourceGroup
Jakmile budete mít přihlašovací údaje ke clusteru, který jste vytvořili, spusťte následující příkaz a nastavte ukázkovou aplikaci, která používá AGIC pro příchozí přenos dat do clusteru. AGIC aktualizuje aplikační bránu, kterou jste nastavili dříve, odpovídajícími pravidly směrování na novou ukázkovou aplikaci, kterou jste nasadili.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Zkontrolujte, jestli je aplikace dostupná.
Teď, když je služba Application Gateway nastavená tak, aby obsluhuje provoz do clusteru AKS, ověříme, jestli je vaše aplikace dostupná. Nejprve získáte IP adresu příchozího přenosu dat.
kubectl get ingress
Zkontrolujte, jestli je ukázková aplikace, kterou jste vytvořili, spuštěná, a to tak, že navštívíte IP adresu služby Application Gateway, kterou jste získali od spuštění výše uvedeného příkazu, nebo zkontrolujte curl
. Získání aktualizace může chvíli trvat, takže pokud je služba Application Gateway stále ve stavu Aktualizace na webu Azure Portal, nechte ji dokončit, než se pokusíte připojit k IP adrese.
Vyčištění prostředků
Pokud už je nepotřebujete, odstraňte všechny prostředky vytvořené v tomto kurzu odstraněním skupiny prostředků myResourceGroup a MC_myResourceGroup_myCluster_eastus :
az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus