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:
- Hozzon létre egy erőforráscsoportot.
- Hozzon létre egy új AKS-fürtöt.
- Hozzon létre egy új application gatewayt.
- Engedélyezze az AGIC-bővítményt a meglévő AKS-fürtben az Azure CLI-n keresztül.
- Engedélyezze az AGIC-bővítményt a meglévő AKS-fürtben az Azure Portalon keresztül.
- Társviszonyt létesít 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 az AKS-fürt bejövő forgalmához.
- 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
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
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 mySubnetben a 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
Az AGIC-bővítmény engedélyezése meglévő AKS-fürtben az Azure Portalon keresztül
- Az Azure Portal kezdőlapján keresse meg az AKS-fürterőforrást.
- A szolgáltatás menü Beállítások területén válassza a Hálózati>virtuális hálózat integrációja lehetőséget.
- Az Application Gateway bejövőforgalom-vezérlőjében válassza a Kezelés lehetőséget.
- Az Application Gateway bejövőforgalom-vezérlő lapján jelölje be a bejövőforgalom-vezérlő engedélyezéséhez jelölje be a jelölőnégyzetet, majd válassza ki a meglévő alkalmazásátjárót a legördülő listából.
- Válassza a Mentés parancsot.
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