Share via


Oktatóanyag: Az Application Gateway bejövőforgalom-vezérlő bővítményének engedélyezése meglévő AKS-fürthöz egy meglévő Application Gateway használatával

Az Azure CLI-vel vagy a portállal engedélyezheti az Application Gateway bejövőforgalom-vezérlő (AGIC) bővítményét egy meglévő Azure Kubernetes Services-fürthöz (AKS). Ebben az oktatóanyagban megtudhatja, hogyan teheti elérhetővé a Kubernetes-alkalmazást egy meglévő AKS-fürtben az AGIC-bővítmény használatával egy különálló virtuális hálózatokban üzembe helyezett meglévő alkalmazásátjárón keresztül. Először hozzon létre egy AKS-fürtöt egy virtuális hálózaton, és egy alkalmazásátjárót egy külön virtuális hálózaton a meglévő erőforrások szimulálásához. Ezután engedélyezi az AGIC-bővítményt, társviszonyba helyezi a két virtuális hálózatot, és üzembe helyez egy mintaalkalmazást, amely az AGIC-bővítmény használatával lesz közzétéve az application gatewayen keresztül. Ha egy meglévő application gatewayhez és egy meglévő AKS-fürthöz engedélyezi az AGIC-bővítményt ugyanabban a virtuális hálózaton, akkor kihagyhatja az alábbi társviszony-létesítési lépést. A bővítmény sokkal gyorsabban üzembe helyezi az AGIC-t az AKS-fürtön, mint a Helmen keresztül, és teljes körűen felügyelt felületet is kínál.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Erőforráscsoport létrehozása
  • Új AKS-fürt létrehozása
  • Új Application Gateway létrehozása
  • Az AGIC-bővítmény engedélyezése a meglévő AKS-fürtben az Azure CLI-n keresztül
  • Az AGIC-bővítmény engedélyezése a meglévő AKS-fürtben az Azure Portalon keresztül
  • Társviszony az Application Gateway virtuális hálózatával az AKS-fürt virtuális hálózatával
  • Mintaalkalmazás üzembe helyezése az AGIC használatával bejövő forgalomhoz az AKS-fürtön
  • Ellenőrizze, hogy az alkalmazás elérhető-e az Application Gatewayen keresztül

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

Erőforráscsoport létrehozása

Az Azure-ban hozzárendelhet kapcsolódó erőforrásokat egy erőforráscsoporthoz. Erőforráscsoport létrehozása az az group create használatával. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot az USA keleti régiójában:

az group create --name myResourceGroup --location eastus

Új AKS-fürt üzembe helyezése

Most egy új AKS-fürtöt fog üzembe helyezni, hogy szimuláljon egy meglévő AKS-fürtöt, amelyhez engedélyezni szeretné az AGIC-bővítményt.

Az alábbi példában egy myCluster nevű új AKS-fürtöt fog üzembe helyezni az Azure CNI és a felügyelt identitások használatával a létrehozott erőforráscsoportban, a myResourceGroup-ban.

az aks create --name myCluster --resource-group myResourceGroup --network-plugin azure --enable-managed-identity --generate-ssh-keys

A fenti parancs további paramétereinek konfigurálásához tekintse meg az az aks create parancsot.

Feljegyzés

Létrejön egy csomópont-erőforráscsoport MC_resource-group-name_cluster-name_location néven.

Új application gateway üzembe helyezése

Most egy új alkalmazásátjárót fog üzembe helyezni, hogy szimuláljon egy meglévő alkalmazásátjárót, amellyel terheléselosztást szeretne végezni az AKS-fürtbe, a myClusterbe. Az application gateway neve myApplicationGateway lesz, de először létre kell hoznia egy myPublicIp nevű nyilvános IP-erőforrást, valamint egy új, myVnet nevű virtuális hálózatot a 10.0.0.0/16 címtérrel, valamint egy 10.0.0.0/24 címtérrel rendelkező alhálózatot mySubnet néven, és telepítenie kell az alkalmazásátjárót a mySubnetbena myPublicIp használatával.

Figyelemfelhívás

Ha AKS-fürtöt és application gatewayt használ különálló virtuális hálózatokban, a két virtuális hálózat címterei nem fedhetők át. Az AKS-fürt által üzembe helyezhető alapértelmezett címtér a 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

Feljegyzés

Az Application Gateway bejövőforgalom-vezérlő (AGIC) bővítménye csak az Application Gateway v2 termékváltozatokat (Standard és WAF) támogatja, az Application Gateway v1 termékváltozatokat nem .

Az AGIC-bővítmény engedélyezése meglévő AKS-fürtben az Azure CLI-n keresztül

Ha továbbra is használni szeretné az Azure CLI-t, továbbra is engedélyezheti az AGIC-bővítményt a létrehozott AKS-fürtben, a myClusterben, és megadhatja az AGIC-bővítményt a létrehozott meglévő alkalmazásátjáró, a myApplicationGateway használatához.

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

Fontos

Ha az AKS-fürt erőforráscsoportjától eltérő erőforráscsoportban használ alkalmazásátjárót, a létrehozott felügyelt identitás ingressapplicationgateway-{AKSNAME}-nak hálózati közreműködői és olvasói szerepkörökkel kell rendelkeznie az Application Gateway-erőforráscsoportban.

Társviszony-létesítés a két virtuális hálózat között

Mivel az AKS-fürtöt a saját virtuális hálózatában, az Application Gatewayt pedig egy másik virtuális hálózaton telepítette, a két virtuális hálózatot össze kell társviszonyba hoznia ahhoz, hogy a forgalom az Application Gatewayről a fürt podjaira áramolhasson. A két virtuális hálózat közötti társviszony-létesítéshez két külön alkalommal kell futtatni az Azure CLI-parancsot, hogy a kapcsolat kétirányú legyen. Az első parancs társviszony-létesítési kapcsolatot hoz létre az Application Gateway virtuális hálózatáról az AKS virtuális hálózatra; a második parancs egy társviszony-létesítési kapcsolatot hoz létre a másik irányban.

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

Feljegyzés

A fenti "Új AKS-fürt üzembe helyezése" lépésben az AKS-t az Azure CNI-vel hoztuk létre, ha kubenet módban van egy meglévő AKS-fürt, frissítenie kell az útvonaltáblát, hogy a POD IP-címre szánt csomagok elérjék a podot üzemeltető csomópontot. Ennek egyszerű módja, ha az AKS által létrehozott útvonaltáblát társítja az Application Gateway alhálózatához.

Mintaalkalmazás üzembe helyezése az AGIC használatával

Most egy mintaalkalmazást fog üzembe helyezni a létrehozott AKS-fürtön, amely az AGIC-bővítményt fogja használni a bejövő forgalomhoz, és csatlakoztatja az application gatewayt az AKS-fürthöz. Először a parancs futtatásával az aks get-credentials fogja lekérni a hitelesítő adatokat az üzembe helyezett AKS-fürthöz.

az aks get-credentials --name myCluster --resource-group myResourceGroup

Ha már rendelkezik a létrehozott fürt hitelesítő adataival, futtassa az alábbi parancsot egy olyan mintaalkalmazás beállításához, amely az AGIC-t használja a fürtbe való bejövő forgalomhoz. Az AGIC frissíti a korábban beállított application gatewayt az új üzembe helyezett mintaalkalmazáshoz tartozó útválasztási szabályokkal.

kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml 

Ellenőrizze, hogy az alkalmazás elérhető-e

Most, hogy az Application Gateway be van állítva az AKS-fürt felé irányuló forgalom kiszolgálására, ellenőrizzük, hogy az alkalmazás elérhető-e. Először a bejövő forgalom IP-címét fogja megkapni.

kubectl get ingress

Ellenőrizze, hogy a létrehozott mintaalkalmazás működik-e a fenti parancs futtatásával kapott Application Gateway IP-címének felkeresésével, vagy a következővel curl: . Az Application Gateway frissítése eltarthat egy percig, így ha az Application Gateway továbbra is "Frissítés" állapotban van az Azure Portalon, hagyja befejezni, mielőtt megpróbálná elérni az IP-címet.

Az erőforrások eltávolítása

Ha már nincs rá szükség, törölje az oktatóanyagban létrehozott összes erőforrást a myResourceGroup és MC_myResourceGroup_myCluster_eastus erőforráscsoportok törlésével:

az group delete --name myResourceGroup 
az group delete --name MC_myResourceGroup_myCluster_eastus

Következő lépések