Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí Azure CLI nebo webu Azure Portal 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 přeskočit následující krok propojení. 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í.
Návod
Pro vaše řešení ingress pro Kubernetes zvažte použití Application Gateway for Containers.
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.
- Propojte virtuální síť 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 nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
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 Ověřování v Azure 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 Použití a správa rozšíření pomocí 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ů s názvem myResourceGroup v oblasti Východ USA:
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.
Výstraha
Tento dokument předpokládá, že je v clusteru AKS nainstalovaný Azure CNI. Pokud plánujete používat překrytí CNI, musíte zajistit, aby služba Application Gateway a cluster AKS byly součástí stejné virtuální sítě.
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řejnou IP adresu s názvem myPublicIp a novou virtuální síť s názvem myVnet s adresním prostorem 10.0.0.0/16 a podsíť s adresním prostorem 10.0.0.0/24 s názvem mySubnet, a nasadit vaši aplikační bránu v mySubnet 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 Síť> a Integrace virtuální sítě.
- V části řadič příchozího přenosu dat pro 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ář.
Propojit dvě virtuální sítě
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ří peeringové připojení z virtuální sítě služby Application Gateway k virtuální síti AKS; druhý příkaz vytvoří peeringové připojení 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 Ingress. Poté 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 Ingress.
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