Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan lehet az AKS-fürtök esetében a kimenő hálózathoz és a teljesen minősített tartománynevekhez (FQDN) tartozó szabályokat használni a kimenő forgalom Azure Firewallal történő szabályozására. A konfiguráció egyszerűsítése érdekében az Azure Firewall egy Azure Kubernetes Service (AzureKubernetesService) teljes tartománynév címkét biztosít, amely korlátozza az AKS-fürt kimenő forgalmát.
Tűzfal front-end IP követelményei
- Termelési minimum: Használjon legalább 20 előtérbeli IP-címet az Azure Firewallon a forráshálózati címfordítás (SNAT) portkimerülésének elkerülése érdekében.
- Nagy forgalmú fürtök: Ha a fürt sok kimenő kapcsolatot hoz létre ugyanahhoz a célhelyhez, előfordulhat, hogy több előtérbeli IP-címre van szüksége a portok IP-címenkénti maximális számának elkerülése érdekében
- API-kiszolgálóvédelem: A tűzfal nyilvános előtérbeli IP-címének hozzáadása az API-kiszolgáló által engedélyezett IP-tartományokhoz a fokozott biztonság érdekében
- Fejlesztői hozzáférés: Engedélyezett IP-tartományok használatakor használjon jumpboxot a tűzfal virtuális hálózatában (VNet), vagy adjon hozzá fejlesztői végpont IP-címeket az engedélyezett tartományhoz
Ez az útmutató a cikkben ismertetett konfigurációs folyamat során érvényes.
Feljegyzés
Az FQDN-címke tartalmazza az összes teljes tartománynevet, amely az AKS-fürtök kimenő hálózati és FQDN-szabályaiban van felsorolva, és automatikusan frissül.
Az architektúra áttekintése
Az alábbi ábra egy korlátozott kimenő forgalommal rendelkező AKS-fürt architektúráját mutatja be az Azure Firewall használatával:
Az architektúra fő összetevői a következők:
-
A nyilvános bejövő forgalom tűzfalszűrőkön keresztül áramlik:
- Az AKS-ügynökcsomópontok egy dedikált alhálózatban vannak elkülönítve.
- Az Azure Firewall a saját alhálózatán van üzembe helyezve.
- A DNST-szabály lefordítja a tűzfal nyilvános IP-címét a terheléselosztó előtérbeli IP-címére.
-
A kimenő kérések az ügynökcsomópontokról indulnak az Azure Firewall belső IP-címére egy felhasználó által megadott útvonal (UDR) használatával:
- Az AKS-ügynökcsomópontoktól érkező kérések egy olyan UDR-t követnek, amely az alhálózaton van elhelyezve, ahová az AKS-fürt telepítve lett.
- Az Azure Firewall egy nyilvános IP-címelőtérről lép ki a virtuális hálózatról.
- A nyilvános internethez vagy más Azure-szolgáltatásokhoz való hozzáférés a tűzfal előtérbeli IP-címére és onnan áramlik.
- Az AKS-vezérlősíkhoz való hozzáférést api-kiszolgáló által engedélyezett IP-tartományokkal védheti, beleértve a tűzfal nyilvános előtérbeli IP-címét is.
-
Belső forgalom:
- Belső terheléselosztót használhat a belső forgalomhoz, amelyet a nyilvános terheléselosztó helyett vagy mellett a saját alhálózatán is elkülöníthet.
Környezeti változók konfigurálása
Az alábbi táblázat a cikkben használt környezeti változókat sorolja fel. Folytatás előtt állítsa be ezeket a változókat a parancssorban, vagy módosítsa a parancsokat saját értékeinek használatára.
| Variable | Description | Példaérték |
|---|---|---|
PREFIX |
Erőforrásnevek előtagja | aks-egress |
RESOURCE_GROUP |
Az erőforráscsoport neve | aks-egress-rg |
LOCATION |
Azure-régió erőforrásokhoz | eastus |
PLUGIN |
Hálózati beépülő modul az AKS-hez | azure |
CLUSTER_NAME |
Az AKS-fürt neve | aks-egress |
VNET_NAME |
A virtuális hálózat neve | aks-egress-vnet |
AKS_SUBNET_NAME |
Az AKS alhálózatának neve | aks-subnet |
FW_SUBNET_NAME |
Az Azure Firewall alhálózatának neve | AzureFirewallSubnet |
FW_NAME |
Az Azure Firewall neve | aks-egress-fw |
FW_PUBLICIP_NAME |
Az Azure Firewall nyilvános IP-címe | aks-egress-fwpublicip |
FW_IPCONFIG_NAME |
Az Azure Firewall IP-konfigurációjának neve | aks-egress-fwconfig |
FW_ROUTE_TABLE_NAME |
Az Azure Firewall útvonaltáblájának neve | aks-egress-fwrt |
FW_ROUTE_NAME_1 |
Az Azure Firewall útvonalának neve | aks-egress-fwrn |
FW_ROUTE_NAME_2 |
Az Azure Firewall internetes útvonalának neve | aks-egress-fwrn-internet |
Erőforráscsoport létrehozása
Hozzon létre egy erőforráscsoportot a
az group createparanccsal.az group create --name $RESOURCE_GROUP --location $LOCATION
Több alhálózattal rendelkező virtuális hálózat létrehozása
Virtuális hálózat kiépítése két külön alhálózattal: egy a fürthöz és egy a tűzfalhoz. Igény szerint létrehozhat egyet a belső szolgáltatásbejárathoz. Az alábbi ábra az üres hálózati topológiát mutatja be az erőforrások üzembe helyezése előtt:
Hozzon létre egy virtuális hálózatot a
az network vnet createparanccsal.az network vnet create \ --resource-group $RESOURCE_GROUP \ --name $VNET_NAME \ --location $LOCATION \ --address-prefixes 10.42.0.0/16 \ --subnet-name $AKS_SUBNET_NAME \ --subnet-prefix 10.42.1.0/24Hozzon létre egy alhálózatot az Azure Firewallhoz a
az network vnet subnet createparanccsal.# Dedicated subnet for Azure Firewall (subnet must be named "AzureFirewallSubnet") az network vnet subnet create \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $FW_SUBNET_NAME \ --address-prefix 10.42.2.0/24
Nyilvános IP-cím létrehozása az Azure Firewallhoz
Hozzon létre egy szabványos nyilvános termékváltozatú IP-erőforrást a
az network public-ip createparanccsal. Ez az erőforrás az Azure Firewall előtérbeli IP-címe.az network public-ip create --resource-group $RESOURCE_GROUP --name $FW_PUBLICIP_NAME --location $LOCATION --sku "Standard"
Az Azure Firewall CLI-bővítmény telepítése
Regisztrálja az Azure Firewall CLI-bővítményt az Azure Firewall parancs használatával
az extension addtörténő létrehozásához.az extension add --name azure-firewall
Azure Firewall létrehozása és DNS-proxy engedélyezése
Feljegyzés
A nagy forgalmú esetekhez lásd a tűzfal frontend IP-követelményeit szakaszt.
További információ az Azure Firewall több IP-címmel való létrehozásáról: Azure Firewall létrehozása több nyilvános IP-címmel a Bicep használatával.
Hozzon létre egy Azure Firewall-t, és engedélyezze a DNS-proxyt a következő
az network firewall createparanccsal:--enable-dns-proxytrue.az network firewall create --resource-group $RESOURCE_GROUP --name $FW_NAME --location $LOCATION --enable-dns-proxy trueA nyilvános IP-cím azure firewallra való beállítása eltarthat néhány percig. Ha elkészült, hozzárendelheti az IP-címet a tűzfal előtéréhez.
Feljegyzés
A FQDN hálózati szabályokon való használatához engedélyeznie kell a DNS-proxyt. Ha a DNS-proxy engedélyezve van, a tűzfal figyeli az 53-at, és továbbítja a DNS-kéréseket a megadott DNS-kiszolgálónak. Ezzel a beállítással a tűzfal automatikusan lefordíthatja a teljes tartománynevet.
IP-konfiguráció létrehozása az Azure Firewallhoz
Hozzon létre egy Azure Firewall IP-konfigurációt a
az network firewall ip-config createparanccsal.az network firewall ip-config create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --name $FW_IPCONFIG_NAME --public-ip-address $FW_PUBLICIP_NAME --vnet-name $VNET_NAME
Az Azure Firewall IP-címeinek lekérése
Mentse a nyilvános és a privát tűzfal előtérbeli IP-címét a későbbi konfigurációhoz az alábbi parancsokkal:
export FW_PUBLIC_IP=$(az network public-ip show --resource-group $RESOURCE_GROUP --name $FW_PUBLICIP_NAME --query "ipAddress" -o tsv) export FW_PRIVATE_IP=$(az network firewall show --resource-group $RESOURCE_GROUP --name $FW_NAME --query "ipConfigurations[0].privateIPAddress" -o tsv)Feljegyzés
Az API-kiszolgáló biztonságával kapcsolatban tekintse meg a tűzfal előtérbeli IP-követelményeinek szakaszát .
UDR-konfiguráció az Azure Firewallon keresztüli AKS-kimenő forgalomhoz
Az Azure automatikusan irányítja a forgalmat az Azure-alhálózatok, virtuális hálózatok és helyszíni hálózatok között. Az alapértelmezett útválasztás módosításához hozzon létre egy útvonaltáblát a következő követelményekkel:
Szükséges útvonalparaméterek:
-
Útvonal célhelye:
0.0.0.0/0(minden forgalom) - Következő ugrás típusa: Hálózati virtuális berendezés (NVA)
- Következő ugrás IP-címe: Az Azure Firewall privát IP-címe
- Társítás: Alhálózatonként egy útvonaltábla (nulla vagy egy engedélyezett)
UDR-korlátozások:
- Az alapértelmezett internetes útvonal (
0.0.0.0/0) már létezik, de nyilvános IP-címet igényel az SNAT-hoz. - Az útvonalnak átjáróra/NVA-ra kell mutatnia, nem pedig közvetlenül az internetre.
- Az AKS ellenőrzi az útvonalkonfigurációt, és megakadályozza a közvetlen internetes útvonalakat.
- Minden alhálózat legfeljebb egy társított útvonaltáblát támogat.
Kimenő típus hatása:
-
UDR (
userDefinedRouting): Nincs nyilvános terheléselosztó IP-cím a kimenő kérésekhez. -
Load Balancer nyilvános IP-cím: Csak szolgáltatástípussal rendelkező
LoadBalancerbejövő kérésekhez van létrehozva. - SNAT-konfiguráció: A kimenő kapcsolatokhoz megfelelő nyilvános IP-konfiguráció szükséges.
További információ: Az Azure Load Balancer kimenő szabályai.
Útvonal létrehozása ugrással az Azure Firewallra
Hozzon létre egy üres útvonaltáblát a
az network route-table createparanccsal. Az útvonaltábla az Azure Firewallt határozza meg következő ugrásként. Minden alhálózathoz nulla vagy egy útvonaltábla társítható.az network route-table create --resource-group $RESOURCE_GROUP --location $LOCATION --name $FW_ROUTE_TABLE_NAMEHozzon létre útvonalakat az alhálózatok útvonaltáblájában a
az network route-table route createparanccsal.az network route-table route create --resource-group $RESOURCE_GROUP --name $FW_ROUTE_NAME_1 --route-table-name $FW_ROUTE_TABLE_NAME --address-prefix 0.0.0.0/0 --next-hop-type VirtualAppliance --next-hop-ip-address $FW_PRIVATE_IP az network route-table route create --resource-group $RESOURCE_GROUP --name $FW_ROUTE_NAME_2 --route-table-name $FW_ROUTE_TABLE_NAME --address-prefix $FW_PUBLIC_IP/32 --next-hop-type Internet
Az Azure alapértelmezett rendszerútvonalainak felülbírálásával vagy további útvonalak alhálózati útvonaltáblához való hozzáadásával kapcsolatos információkért tekintse meg a virtuális hálózat útvonaltáblájának dokumentációját.
Az Azure Firewall kimenő szabályai az AKS (Azure Kubernetes Service) számára
Feljegyzés
Azokon az alkalmazásokon kívüli, a kube-system vagy gatekeeper-system névterekben elhelyezkedő alkalmazások esetén, amelyek kommunikálni szeretnének az API-kiszolgálóval, szükséges egy további hálózati szabály, amely lehetővé teszi a TCP-kommunikációt az API-kiszolgáló IP-címére irányuló 443-as porton. Ezenfelül szükséges egy alkalmazásszabály hozzáadása a fqdn-tag belül a AzureKubernetesService-hez.
Az Azure Firewallon keresztüli AKS kimenő forgalom szabályozásához a következő hálózati szabályok szükségesek:
- Az első hálózati szabály lehetővé teszi a 9000-s port tcp-en keresztüli elérését.
- A második hálózati szabály lehetővé teszi az 1194-s port elérését UDP-en keresztül. Ha a 21Vianet által üzemeltetett Microsoft Azure-ban végzi az üzembe helyezést, tekintse meg a 21Vianet által előírt hálózati szabályok által üzemeltetett Azure-t. Ebben a cikkben a parancsok a
AzureCloud.$LOCATIONszolgáltatáscímkét használják célcímkéként. A szolgáltatáscímkék az egyes régiókban található Azure-szolgáltatások IP-címelőtagjainak csoportjait jelölik. Ez automatikusan tartalmazza a megfelelő CIDR-tartományokat az Azure-szolgáltatásokhoz manuális IP-címtartomány-specifikáció nélkül. - A harmadik hálózati szabály megnyitja a 123-es portot az
ntp.ubuntu.comFQDN felé az UDP-n keresztül. A teljes tartománynév hálózati szabályként való hozzáadása az Azure Firewall egyik sajátos funkciója, így az ön saját lehetőségeinek használatakor alkalmazkodnia kell hozzá. - A negyedik és ötödik hálózati szabály lehetővé teszi a tárolók lekérését a GitHub Container Registryből (
ghcr.io) és a Docker Hubból (docker.io).
Hálózati szabályok létrehozása az Azure Firewallon
Hozza létre a hálózati szabályokat az alábbi
az network firewall network-rule createparancsokkal.az network firewall network-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwnr' --name 'apitcp' --protocols 'TCP' --source-addresses '*' --destination-addresses "AzureCloud.$LOCATION" --destination-ports 9000 az network firewall network-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwnr' --name 'apiudp' --protocols 'UDP' --source-addresses '*' --destination-addresses "AzureCloud.$LOCATION" --destination-ports 1194 --action allow --priority 100 az network firewall network-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwnr' --name 'time' --protocols 'UDP' --source-addresses '*' --destination-fqdns 'ntp.ubuntu.com' --destination-ports 123 az network firewall network-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwnr' --name 'ghcr' --protocols 'TCP' --source-addresses '*' --destination-fqdns ghcr.io pkg-containers.githubusercontent.com --destination-ports '443' az network firewall network-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwnr' --name 'docker' --protocols 'TCP' --source-addresses '*' --destination-fqdns docker.io registry-1.docker.io production.cloudflare.docker.com --destination-ports '443'
Alkalmazásszabályok létrehozása az Azure Firewallon
Hozza létre az alkalmazásszabályt a
az network firewall application-rule createparanccsal.az network firewall application-rule create --resource-group $RESOURCE_GROUP --firewall-name $FW_NAME --collection-name 'aksfwar' --name 'fqdn' --source-addresses '*' --protocols 'http=80' 'https=443' --fqdn-tags "AzureKubernetesService" --action allow --priority 100
Az Azure Firewallról további információt az Azure Firewall dokumentációjában talál.
Útvonaltábla társítása az AKS-hez
A fürt tűzfalhoz való társításához a fürt alhálózatához tartozó dedikált alhálózatnak hivatkoznia kell az útvonaltáblára.
Társítsa az útvonaltáblát az AKS-hez a
az network vnet subnet updateparancs használatával.az network vnet subnet update --resource-group $RESOURCE_GROUP --vnet-name $VNET_NAME --name $AKS_SUBNET_NAME --route-table $FW_ROUTE_TABLE_NAME
A kimenő szabályokat követő AKS-fürt üzembe helyezése
Most már üzembe helyezhet egy AKS-fürtöt a meglévő virtuális hálózaton. A kimenő típususerDefinedRouting használatával biztosítható, hogy az összes kimenő adatforgalom a tűzfalon keresztül haladjon, és ne létezzen semmilyen más kimenő útvonal. A kimenő típust is használhatjaloadBalancer.
Állítson be egy környezeti változót a célalhálózat alhálózat-azonosítójára az alábbi paranccsal:
SUBNET_ID=$(az network vnet subnet show --resource-group $RESOURCE_GROUP --vnet-name $VNET_NAME --name $AKS_SUBNET_NAME --query id -o tsv)
Megadhatja a kimenő típust az alhálózaton már létező UDR használatához. Ez a konfiguráció lehetővé teszi, hogy az AKS kihagyja a terheléselosztó beállítását és IP-kiépítését.
Tipp.
További funkciókat is hozzáadhat a fürt telepítéséhez, például privát fürtöket.
Az API-kiszolgáló által engedélyezett IP-tartományok beállításával és a fejlesztői hozzáféréssel kapcsolatos szempontokat a tűzfal előtérbeli IP-követelményeinek szakaszában találja.
AKS-fürt létrehozása rendszer által hozzárendelt identitásokkal
Feljegyzés
Az AKS rendszer által hozzárendelt kubelet-identitást hoz létre a csomópont erőforráscsoportjában, ha nem adja meg a saját kubelet felügyelt identitását.
Felhasználó által definiált útválasztás esetén a rendszer által hozzárendelt identitás csak a CNI hálózati beépülő modult támogatja.
Hozzon létre egy AKS-fürtöt egy rendszer által hozzárendelt felügyelt identitással a CNI hálózati beépülő modullal a
az aks createparancs használatával.az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --location $LOCATION \ --node-count 3 \ --network-plugin azure \ --outbound-type userDefinedRouting \ --vnet-subnet-id $SUBNET_ID \ --api-server-authorized-ip-ranges $FW_PUBLIC_IP \ --generate-ssh-keys
Felhasználó által hozzárendelt identitások létrehozása
Ha nem rendelkezik felhasználó által hozzárendelt identitásokkal, kövesse az ebben a szakaszban ismertetett lépéseket. Ha már rendelkezik felhasználó által hozzárendelt identitásokkal, ugorjon a felhasználó által hozzárendelt identitásokkal rendelkező AKS-fürt létrehozásához.
Felügyelt identitás létrehozása a
az identity createparanccsal.az identity create --name myIdentity --resource-group $RESOURCE_GROUPA kimenetnek a következő példakimenethez kell hasonlítania:
{ ... "id": "/subscriptions/<subscriptionid>/resourcegroups/aks-egress-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", "location": "eastus", "name": "myIdentity", ... "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }Hozzon létre egy kubelet felügyelt identitást a
az identity createparanccsal.az identity create --name myKubeletIdentity --resource-group $RESOURCE_GROUPA kimenetnek a következő példakimenethez kell hasonlítania:
{ ... "id": "/subscriptions/<subscriptionid>/resourcegroups/aks-egress-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity", "location": "eastus", "name": "myKubeletIdentity", ... "resourceGroup": "aks-egress-rg", ... "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Feljegyzés
Ha saját virtuális hálózatot és útvonaltáblát hoz létre, ahol az erőforrások a feldolgozó csomópont erőforráscsoporton kívül vannak, a parancssori felület automatikusan hozzáadja a szerepkör-hozzárendelést. Ha ARM-sablont vagy más módszert használ, a fürt által felügyelt identitás egyszerű azonosítójával kell elvégeznie egy szerepkör-hozzárendelést.
AKS-fürt létrehozása felhasználó által hozzárendelt identitásokkal
Hozzon létre egy AKS-fürtöt a meglévő, felhasználó által hozzárendelt felügyelt identitásokkal az alhálózatban a
az aks createparancs használatával. Adja meg a vezérlősík felügyelt identitásának erőforrás-azonosítóját és a kubelet-identitás erőforrás-azonosítóját.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --location $LOCATION \ --node-count 3 \ --network-plugin kubenet \ --outbound-type userDefinedRouting \ --vnet-subnet-id $SUBNET_ID \ --api-server-authorized-ip-ranges $FW_PUBLIC_IP \ --assign-identity <identity-resource-id> \ --assign-kubelet-identity <kubelet-identity-resource-id> \ --generate-ssh-keys
Fejlesztői hozzáférés engedélyezése az API-kiszolgálóhoz
Ha az előző lépésben engedélyezett IP-tartományokat használt a fürthöz, hozzá kell adnia a fejlesztői eszköz IP-címeit a jóváhagyott IP-tartományok AKS-fürtlistájához, hogy onnan hozzáférjen az API-kiszolgálóhoz. A jumpboxot a tűzfal virtuális hálózatának egy külön alhálózatán belül is konfigurálhatja a szükséges eszközökkel.
Az IP-cím lekérése a következő paranccsal:
CURRENT_IP=$(dig @resolver1.opendns.com ANY myip.opendns.com +short)Adja hozzá az IP-címet a jóváhagyott tartományokhoz a
az aks updateparanccsal.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --api-server-authorized-ip-ranges $CURRENT_IP/32
Csatlakozás az AKS fürthöz
Konfigurálja
kubectlaz AKS-fürthöz való csatlakozást aaz aks get-credentialsparanccsal.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Közszolgáltatás üzembe helyezése az AKS-ben
Mostantól megkezdheti a szolgáltatások felfedését és az alkalmazások üzembe helyezését ebben a fürtben. Ez a példa nyilvános szolgáltatást tesz elérhetővé, de előfordulhat, hogy belső szolgáltatást is közzé szeretne tenni egy belső terheléselosztóval.
Az üzembe helyezett összetevők megismeréséhez tekintse át az AKS Store bemutatójának rövid útmutatóját .
Telepítse a szolgáltatást a
kubectl applyparanccsal.kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-quickstart.yaml
A terheléselosztó belső IP-címének és szolgáltatási IP-címének lekérése
Kérje le a terheléselosztóhoz rendelt belső IP-címet a
kubectl get servicesparanccsal.kubectl get servicesAz IP-címnek szerepelnie kell az
EXTERNAL-IPoszlopban, ahogy az a következő példakimenetben is látható:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 9m10s order-service ClusterIP 10.0.104.144 <none> 3000/TCP 11s product-service ClusterIP 10.0.237.60 <none> 3002/TCP 10s rabbitmq ClusterIP 10.0.161.128 <none> 5672/TCP,15672/TCP 11s store-front LoadBalancer 10.0.89.139 20.39.18.6 80:32271/TCP 10sKérje le a szolgáltatás IP-címét a
kubectl get svc store-frontparancs használatával.SERVICE_IP=$(kubectl get svc store-front -o jsonpath='{.status.loadBalancer.ingress[*].ip}')
DNST-szabály létrehozása az Azure Firewallon
Fontos
Ha az Azure Firewall használatával korlátozza a kimenő forgalmat, és létrehoz egy UDR-t az összes kimenő forgalom kényszerítéséhez, győződjön meg arról, hogy megfelelő DNST-szabályt hoz létre az Azure Firewallban a bejövő forgalom megfelelő engedélyezéséhez. Az Azure Firewall UDR-vel való használata megszakítja a bejövő forgalom beállítását az aszimmetrikus útválasztás miatt. A probléma akkor fordul elő, ha az AKS-alhálózat alapértelmezett útvonala a tűzfal privát IP-címére kerül, de nyilvános terheléselosztót használ – bejövő vagy Kubernetes típusú szolgáltatást loadBalancer. Ebben az esetben a bejövő terheléselosztó-forgalom a nyilvános IP-címén keresztül érkezik, de a visszatérési útvonal a tűzfal magánhálózati IP-címén halad át. Mivel a tűzfal állapotalapú, a visszaadott csomagot elveti, mert a tűzfal nem tud egy már létrehozott munkamenetről. Ha tudni szeretné, hogyan integrálhatja az Azure Firewallt a bejövő vagy szolgáltatás terheléselosztójával, olvassa el az Azure Firewall integrálása az Azure Standard Load Balancerrel című témakört.
A bejövő kapcsolatok konfigurálásához meg kell írnia egy DNST-szabályt az Azure Firewallba. A fürthöz való kapcsolódás teszteléséhez a tűzfal előtérbeli nyilvános IP-címére egy szabály van meghatározva, amely a belső szolgáltatás által közzétett belső IP-címre irányít. Testre szabhatja a célcímet. A lefordított címnek a belső terheléselosztó IP-címének kell lennie. A lefordított portnak a Kubernetes-szolgáltatás közzétett portjának kell lennie. Meg kell adnia a Kubernetes szolgáltatás által létrehozott terheléselosztóhoz rendelt belső IP-címet is.
Adja hozzá a NAT-szabályt a
az network firewall nat-rule createparanccsal.az network firewall nat-rule create --collection-name exampleset --destination-addresses $FW_PUBLIC_IP --destination-ports 80 --firewall-name $FW_NAME --name inboundrule --protocols Any --resource-group $RESOURCE_GROUP --source-addresses '*' --translated-port 80 --action Dnat --priority 100 --translated-address $SERVICE_IP
A kapcsolat ellenőrzése
Lépjen az Azure Firewall előtérbeli IP-címére egy böngészőben a kapcsolat ellenőrzéséhez. Meg kell jelennie az AKS áruházbeli alkalmazásnak. Ebben a példában a tűzfal nyilvános IP-címe a következő volt
52.253.228.132:Ezen az oldalon megtekintheti a termékeket, hozzáadhatja őket a kosárhoz, majd megrendelheti őket.
Az erőforrások eltávolítása
Ha már nincs szüksége a cikkben létrehozott erőforrásokra, törölheti őket a jövőbeli költségek elkerülése érdekében.
Törölje az AKS-erőforráscsoportot a
az group deleteparanccsal.az group delete --name $RESOURCE_GROUP