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.
Bár a kimenő forgalmat az Azure Load Balanceren keresztül irányíthatja, a kimenő forgalom száma korlátozott. Az Azure NAT Gateway legfeljebb 64 512 kimenő UDP- és TCP-forgalmat tesz lehetővé IP-címenként, legfeljebb 16 IP-címmel.
Ez a cikk bemutatja, hogyan hozhat létre Azure Kubernetes Service-fürtöt (AKS) felügyelt NAT-átjáróval és felhasználó által hozzárendelt NAT-átjáróval a kimenő forgalom számára. Azt is bemutatja, hogyan tilthatja le az OutboundNAT-t Windows rendszeren.
Mielőtt elkezdené
- Győződjön meg arról, hogy az Azure CLI legújabb verzióját használja.
- Győződjön meg arról, hogy a Kubernetes 1.20.x vagy újabb verzióját használja.
- A felügyelt NAT-átjáró nem kompatibilis az egyéni virtuális hálózatokkal.
Fontos
A nem privát fürtökben az API-kiszolgáló fürt forgalmát a rendszer a kimenő típuson keresztül irányítja és dolgozza fel. Ha meg szeretné akadályozni, hogy az API-kiszolgáló forgalma nyilvános forgalomként legyen feldolgozva, fontolja meg egy privát fürt használatát, vagy tekintse meg az API Server virtuális hálózatok integrációjának funkcióját.
Hozzon létre egy AKS-fürtöt felügyelt NAT-átjáróval.
Hozzon létre egy AKS-fürtöt egy új felügyelt NAT-átjáróval a
az aks create
,--outbound-type managedNATGateway
,--nat-gateway-managed-outbound-ip-count
és--nat-gateway-idle-timeout
paranccsal. Ha azt szeretné, hogy a NAT-átjáró egy adott rendelkezésre állási zónából működjön, adja meg a zónát a következővel--zones
: .Ha egy felügyelt NAT-átjáró létrehozásakor nincs zóna megadva, a NAT-átjáró alapértelmezés szerint a "nincs zóna" értékre lesz üzembe helyezve. Ha a NAT-átjáró nincs elhelyezve egy zónában, az Azure saját maga helyezi el az erőforrást egy zónában. A nem zonális üzemi modellről további információt a nem zonális NAT-átjáróban talál.
A felügyelt NAT-átjáró-erőforrás nem használható több rendelkezésre állási zónában.
az aks create \ --resource-group myResourceGroup \ --name myNatCluster \ --node-count 3 \ --outbound-type managedNATGateway \ --nat-gateway-managed-outbound-ip-count 2 \ --nat-gateway-idle-timeout 4 \ --generate-ssh-keys
Frissítse a kimenő IP-címet vagy az inaktivitási időtúllépést a
az aks update
paranccsal a--nat-gateway-managed-outbound-ip-count
vagy--nat-gateway-idle-timeout
paraméterrel.az aks update \ --resource-group myResourceGroup \ --name myNatCluster\ --nat-gateway-managed-outbound-ip-count 5
Felhasználó által hozzárendelt NAT-átjáróval rendelkező AKS-fürt létrehozása
Ehhez a konfigurációhoz saját hálózatkezelésre van szükség (Kubeneten vagy Azure CNI-n keresztül), és hogy a NAT-átjáró előre konfigurálva legyen az alhálózaton. A következő parancsok hozzák létre a forgatókönyvhöz szükséges erőforrásokat.
Hozzon létre egy erőforráscsoportot a
az group create
paranccsal.az group create --name myResourceGroup \ --location southcentralus
Hozzon létre egy felügyelt identitást a hálózati engedélyekhez, és tárolja az azonosítót
$IDENTITY_ID
későbbi használatra.IDENTITY_ID=$(az identity create \ --resource-group myResourceGroup \ --name myNatClusterId \ --location southcentralus \ --query id \ --output tsv)
Hozzon létre egy nyilvános IP-címet a NAT-átjáróhoz a
az network public-ip create
paranccsal.az network public-ip create \ --resource-group myResourceGroup \ --name myNatGatewayPip \ --location southcentralus \ --sku standard
Hozza létre a NAT-átjárót a
az network nat gateway create
paranccsal.az network nat gateway create \ --resource-group myResourceGroup \ --name myNatGateway \ --location southcentralus \ --public-ip-addresses myNatGatewayPip
Fontos
Egyetlen NAT-átjáró-erőforrás nem használható több rendelkezésre állási zónában. A zónarugalmasság biztosítása érdekében ajánlott NAT-átjáróerőforrást üzembe helyezni minden rendelkezésre állási zónában, és hozzárendelni az egyes zónákban lévő AKS-fürtöket tartalmazó alhálózatokhoz. Az üzembe helyezési modellről további információt az egyes zónák NAT-átjárójában talál. Ha a NAT-átjáróhoz nincs zóna konfigurálva, az alapértelmezett zónaelhelyezés a "nincs zóna", amelyben az Azure a NAT-átjárót egy zónába helyezi.
Hozzon létre egy virtuális hálózatot a
az network vnet create
paranccsal.az network vnet create \ --resource-group myResourceGroup \ --name myVnet \ --location southcentralus \ --address-prefixes 172.16.0.0/20
Hozzon létre egy alhálózatot a virtuális hálózaton a NAT-átjáróval, és tárolja az azonosítót
$SUBNET_ID
későbbi használatra.SUBNET_ID=$(az network vnet subnet create \ --resource-group myResourceGroup \ --vnet-name myVnet \ --name myNatCluster \ --address-prefixes 172.16.0.0/22 \ --nat-gateway myNatGateway \ --query id \ --output tsv)
Hozzon létre egy AKS-fürtöt az alhálózat NAT-átjárójával és felügyelt identitás használatával a
az aks create
parancs segítségével.az aks create \ --resource-group myResourceGroup \ --name myNatCluster \ --location southcentralus \ --network-plugin azure \ --vnet-subnet-id $SUBNET_ID \ --outbound-type userAssignedNATGateway \ --assign-identity $IDENTITY_ID \ --generate-ssh-keys
OutboundNAT letiltása Windowshoz
A Windows OutboundNAT bizonyos kapcsolati és kommunikációs problémákat okozhat az AKS-podokkal. Ilyen probléma például a csomópontportok újrafelhasználása. Ebben a példában a Windows OutboundNAT portok segítségével fordítja le a pod IP-címét a Windows-csomópont gazdagépének IP-címére, ami a portkimerülés okozta probléma miatt instabil kapcsolatot eredményezhet a külső szolgáltatással.
A Windows alapértelmezés szerint engedélyezi az OutboundNAT-t. Új Windows-ügynökkészletek létrehozásakor mostantól manuálisan is letilthatja a kimenőNAT-t.
Előfeltételek
- Meglévő AKS-fürt 1.26-os vagy újabb verzióval. Ha a Kubernetes 1.25-ös vagy újabb verzióját használja, frissítenie kell az üzembehelyezési konfigurációt.
Korlátozások
- A fürt kimeneti típusát nem állíthatja be LoadBalancerre. Nat Gatewayre vagy UDR-re is beállíthatja:
- NAT-átjáró: A NAT-átjáró képes automatikusan kezelni a NAT-kapcsolatot, és nagyobb teljesítményű, mint a Standard Load Balancer. Ezzel a lehetőséggel további díjak merülhetnek fel.
- UDR (UserDefinedRouting): Az útválasztási szabályok konfigurálásakor szem előtt kell tartania a portkorlátozásokat.
- Ha terheléselosztóról NAT-átjáróra kell váltania, hozzáadhat egy NAT-átjárót a virtuális hálózathoz, vagy futtathatja
az aks upgrade
a kimenő típus frissítéséhez.
Feljegyzés
A UserDefinedRouting a következő korlátozásokkal rendelkezik:
- A Load Balancer által használt SNAT (az alapértelmezett OutboundNAT-t kell használnia) "64 porttal rendelkezik a hoszt IP-címéhez".
- Az Azure Firewall által létrehozott SNAT (outboundNAT letiltása) nyilvános IP-címenként 2496 porttal rendelkezik.
- A NAT-átjáró által létrehozott SNAT (outboundNAT letiltása) nyilvános IP-címenként 64512 porttal rendelkezik.
- Ha az Azure Firewall porttartománya nem elég az alkalmazáshoz, a NAT Gatewayt kell használnia.
- Az Azure Firewall nem SNAT hálózati szabályokkal rendelkezik, ha a cél IP-cím az IANA RFC 1918-ban egy privát IP-címtartományban van, vagy az IANA RFC 6598-onként megosztott címtérben van.
OutboundNAT manuális letiltása Windowshoz
Amikor új Windows-ügynökkészleteket hoz létre, manuálisan tiltsa le az OutboundNAT funkciót a
az aks nodepool add
paranccsal és a--disable-windows-outbound-nat
jelzővel.Megjegyzés
Használhat egy meglévő AKS-fürtöt, de lehet, hogy frissítenie kell a kimenő típusát, és hozzá kell adnia egy csomópontkészletet a
--disable-windows-outbound-nat
aktiválásához.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myNatCluster \ --name mynp \ --node-count 3 \ --os-type Windows \ --disable-windows-outbound-nat
Következő lépések
További információ az Azure NAT Gatewayről: Azure NAT Gateway.
Azure Kubernetes Service