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ření skupiny zdrojů
  • Vytvoření nového clusteru AKS
  • Vytvoření nové služby Application Gateway
  • Povolení doplňku AGIC v existujícím clusteru AKS prostřednictvím Azure CLI
  • Povolení doplňku AGIC v existujícím clusteru AKS prostřednictvím webu Azure Portal
  • Vytvoření partnerského vztahu virtuální sítě aplikační brány s virtuální sítí clusteru AKS
  • Nasazení ukázkové aplikace 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

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

Důležité

Pokud používáte aplikační bránu v jiné skupině prostředků než skupina prostředků clusteru AKS, spravovaná identita ingressapplicationgateway-{AKSNAME} , která je vytvořená, musí mít ve skupině prostředků aplikační brány nastavené 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

Další kroky