Sdílet prostřednictvím


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

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

  1. Na domovské stránce webu Azure Portal přejděte k prostředku clusteru AKS.
  2. V nabídce služby v části Nastavení vyberte Síť> a Integrace virtuální sítě.
  3. V části řadič příchozího přenosu dat pro Application Gateway vyberte Spravovat.
  4. 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.
  5. 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

Další kroky