Een beheerde of door de gebruiker toegewezen NAT-gateway maken voor uw Azure Kubernetes Service (AKS)-cluster

Van toepassing op: ✔️ AKS Automatic ✔️ AKS Standard

Voor de meeste productieworkloads is AKS Automatic de aanbevolen, productieklare standaardoptie voor AKS. Automatische AKS-clusters bevatten een vooraf geconfigureerde beheerde NAT-gateway.

In AKS Standard kunt u een beheerde NAT-gateway maken of configureren wanneer u uitgaande AKS-connectiviteit voor uw cluster wilt. Gebruik voor BYO-netwerkscenario's (Bring-Your-Own) een door de gebruiker toegewezen NAT-gateway.

Hoewel u uitgaand verkeer via een Azure Load Balancer kunt routeren, gelden er beperkingen voor het aantal uitgaande stromen verkeer dat u kunt hebben. Azure NAT Gateway ondersteunt maximaal 64.512 uitgaande UDP- en TCP-verkeersstromen per IP-adres met maximaal 16 IP-adressen. Twee uitgaande typen ondersteunen nat-gateway: managedNATGateway en userAssignedNATGateway.

In dit artikel leest u hoe u een AKS-cluster maakt met beheerde NAT-gateway en door de gebruiker toegewezen NAT-gateway voor uitgaand verkeer. Hierin wordt ook uitgelegd hoe u OutboundNAT in Windows uitschakelt.

Notitie

Vanaf API-versie 2026-06-01 gebruikt outboundType: managedNATGateway standaard de StandardV2 NAT Gateway, die wordt weergegeven als natGatewayProfile.sku: StandardV2 in plaats van het uitgaande type managedNATGatewayV2 dat tijdens de preview werd gebruikt. Preview-API-versies 2026-01-02-preview tot en met 2026-05-02-preview blijven managedNATGatewayV2 nog ongeveer één jaar accepteren, waardoor u tijd hebt om over te stappen op managedNATGateway met een expliciete sku. Zie de documentatie over de levenscyclus van de AKS Preview-API's voor afschaffingsdatums van de preview-API's.

Vereisten

Automatische AKS-clusters bevatten een vooraf geconfigureerde beheerde NAT-gateway. De stappen in dit artikel zijn voornamelijk bedoeld voor AKS Standard- en aangepaste netwerkscenario's.

  • Zorg ervoor dat u de nieuwste versie van Azure CLI gebruikt.
  • Zorg ervoor dat u Kubernetes versie 1.20.x of hoger gebruikt.
  • Beheerde NAT-gateway is niet compatibel met aangepaste virtuele netwerken.

Belangrijk

In niet-privéclusters wordt verkeer van API-serverclusters gerouteerd en verwerkt via het uitgaande type van het cluster. Als u wilt voorkomen dat API-serververkeer als openbaar verkeer wordt verwerkt, kunt u overwegen een privécluster te gebruiken of de functie VNet-integratie van API Server te bekijken.

Beheerde NAT-gateway in AKS

AKS Automatic maakt gebruik van een beheerde NAT-gateway als onderdeel van de vooraf geconfigureerde standaardinstelling voor productie. Gebruik deze sectie als u met AKS Standard werkt of als u wilt weten hoe beheerde NAT-gateway zich gedraagt in een AKS-cluster.

De beheerde NAT-gateway is de door AKS beheerde optie voor uitgaand verkeer. AKS maakt en beheert de NAT-gateway om uitgaande connectiviteit te bieden voor uw clusterknooppunten.

Gebruik de beheerde NAT-gateway als u wilt:

  • Uitgaande connectiviteit met minder operationele overhead wordt beheerd door AKS.
  • Een productievriendelijk standaard uitgaand pad.
  • Eenvoudiger beheer van uitgaand verkeer dan de implementatie van een door de klant beheerde NAT-gateway.
  • Een standaard AKS-netwerkmodel zonder uw eigen NAT-gatewayresource te gebruiken.

Een AKS-cluster maken met een beheerde NAT-gateway

Uitgaande IP-parameters

De volgende tabel beschrijft elke uitgaande IP-parameter en wanneer u deze gebruikt:

Kenmerk Invoer IP-versie Wie beheert de openbare IP-adressen
--nat-gateway-managed-outbound-ip-count Waarde in het bereik van [1, 16]. Gewenst aantal uitgaande IPv4's voor uitgaande NAT-gatewayverbinding. IPv4 Azure
--nat-gateway-managed-outbound-ipv6-count Waarde in het bereik van [1, 16]. Gewenst aantal IPv6-adressen voor uitgaande verbindingen van de NAT-gateway. IPv6 Azure
--nat-gateway-outbound-ips Door komma's gescheiden openbare IP-resource-id's voor uitgaande NAT-gatewayverbindingen. IPv4 of IPv6 Klant
--nat-gateway-outbound-ip-prefixes Door komma's gescheiden resource-ID's voor publieke IP-prefixen voor uitgaande NAT-gatewayverbindingen. IPv4 of IPv6 Klant

Een beheerde NAT-gateway-SKU kiezen

Vanaf API-versie 2026-06-01 ondersteunt managedNATGateway u de StandardV2 en Standard SKU's tot en met networkProfile.natGatewayProfile.sku. StandardV2 is de standaardinstelling voor nieuwe clusters in ondersteunde regio's wanneer de aanvraag gebruikmaakt van deze API-versie of later. Aanvragen die een eerdere API-versie gebruiken, behouden het bestaande standaardgedrag.

Scenario Gedrag
Nieuw cluster zonder opgegeven SKU Standaard ingesteld op StandardV2 waar beschikbaar. AKS valideert regionale beschikbaarheid voordat AKS de standaardwaarde toepast. In regio's waar StandardV2 niet beschikbaar is, gebruikt AKS Standard.
Bestaand standaardcluster Blijft deze NAT-gatewayresource gebruiken. API-versie 2026-06-01 en later retourneert de alleen-lezeneigenschap natGatewayProfile.sku als Standard.
Upgrade uitvoeren van Standard naar StandardV2 Stel networkProfile.natGatewayProfile.sku in op StandardV2.
Van StandardV2 verlagen naar Standard Niet ondersteund.

StandardV2 NAT-gateway wordt aanbevolen omdat deze standaard zone-redundant is en hogere bandbreedte en doorvoer biedt. StandardV2 vereist openbare IP-adressen en voorvoegsels van StandardV2. Bestaande openbare IP-resources van de Standard SKU zijn niet compatibel met StandardV2 NAT-gateway. Raadpleeg de belangrijkste beperkingen van StandardV2 NAT Gateway voor de huidige lijst met niet-ondersteunde regio's.

De openbare IP-vereiste StandardV2 is alleen van toepassing op de uitgaande IP-adressen van de NAT-gateway. De door AKS beheerde load balancer die services bedient type: LoadBalancer , blijft een standard load balancer en vereist openbare IP-adressen van Standard. Als u vooraf een gelabelde openbare IP-inventaris inricht, moet u plannen voor beide SKU's: StandardV2 voor uitgaand verkeer van NAT-gateways en Standard voor binnenkomende services.

SKU-mogelijkheden voor beheerde NAT-gateway

Het managedNATGateway uitgaande type ondersteunt verschillende mogelijkheden, afhankelijk van de waarde van networkProfile.natGatewayProfile.sku.

Capability StandardV2 Standard
Standaardinstelling voor nieuwe clusters Standaard indien beschikbaar, tenzij de klant expliciet voor Standard kiest. Wordt gebruikt wanneer deze expliciet is geselecteerd of wanneer StandardV2 niet beschikbaar is in de regio.
Gedrag van beschikbaarheidszones Zone-redundant standaard. Zonegebonden of niet-zonegebonden, afhankelijk van de clusterconfiguratie.
Azure beheerde uitgaande IPv4-adressen Supported. Supported.
door Azure beheerde uitgaande IPv6-adressen Supported. Niet ondersteund.
Door de klant gedefinieerde uitgaande IP-adressen en voorvoegsels Ondersteund met openbare IP-adressen en voorvoegsels van StandardV2. Niet ondersteund voor een door AKS beheerde NAT-gateway.

Een AKS-cluster maken

Maak een AKS-cluster door de az aks create opdracht uit te voeren met de --outbound-type managedNATGateway parameter. AKS is standaard ingesteld op StandardV2 SKU in ondersteunde regio's en Standard SKU in niet-ondersteunde regio's.

az aks create \
    --resource-group <resource-group> \
    --name <cluster-name> \
    --location <location> \
    --outbound-type managedNATGateway \
    --nat-gateway-managed-outbound-ip-count 1 \
    --generate-ssh-keys

Belangrijk

U kunt een bestaande beheerde Standard NAT-gateway upgraden naar StandardV2, maar u kunt een beheerde StandardV2 NAT-gateway niet downgraden naar Standard.

Uitgaande IP-adressen configureren voor een beheerde StandardV2 NAT-gateway

Configureer in regio's waar StandardV2 beschikbaar is uitgaande adressen met behulp van een van de volgende methoden. U kunt Azure beheerde en door de klant gedefinieerde uitgaande IP-configuratie niet combineren.

Door Azure beheerde IP-adressen

Gebruik managedOutboundIPProfile om AKS de uitgaande openbare IPv4- en IPv6-adressen toe te wijzen en te beheren.

{
  "properties": {
    "networkProfile": {
      "outboundType": "managedNATGateway",
      "natGatewayProfile": {
          "managedOutboundIPProfile": {
          "count": 1,
          "countIPv6": 1
        }
      }
    }
  }
}

Door de klant gedefinieerde IP-adressen en voorvoegsels gebruiken

Gebruik outboundIPs en outboundIPPrefixes om vooraf gemaakte openbare IP-adressen of voorvoegsels op te geven. Deze resources moeten gebruikmaken van de StandardV2-SKU. Bestaande openbare IP-adressen en voorvoegsels van de Standard SKU zijn niet compatibel met een StandardV2 NAT-gateway.

  1. Maak een zone-redundant openbaar IP-adres en een openbaar IP-voorvoegsel van StandardV2.

    export MY_IP_ID=$(az network public-ip create \
        --resource-group $MY_RG \
        --name $MY_IP \
        --location eastus2 \
        --sku StandardV2 \
        --allocation-method Static \
        --version IPv4 \
        --zone 1 2 3 \
        --query publicIp.id \
        --output tsv)
    
    export MY_IP_PREFIX_ID=$(az network public-ip prefix create \
        --resource-group $MY_RG \
        --name $MY_IP_PREFIX \
        --location eastus2 \
        --length 31 \
        --sku StandardV2 \
        --version IPv4 \
        --zone 1 2 3 \
        --query id \
        --output tsv)
    
  2. Implementeer een beheerd NAT-gateway-uitgaand type in een regio die ondersteuning biedt voor StandardV2 NAT Gateway en verwijs naar het openbare IP-adres en voorvoegsel in de AKS-clusterconfiguratie.

    {
      "properties": {
        "networkProfile": {
          "outboundType": "managedNATGateway",
          "natGatewayProfile": {
            "outboundIPs": {
              "publicIPs": [
                "<standard-v2-public-ip-resource-id>"
              ]
            },
            "outboundIPPrefixes": {
              "publicIPPrefixes": [
                "<standard-v2-public-ip-prefix-resource-id>"
              ]
            }
          }
        }
      }
    }
    

Het uitgaande IP-eigendomsmodel wordt bepaald wanneer de StandardV2 NAT-gateway in eerste instantie wordt gemaakt. U kunt afzonderlijke uitgaande IP-resources in het geselecteerde model wijzigen, maar u kunt een bestaande NAT-gateway niet omschakelen tussen door Azure beheerde en door de klant gedefinieerde uitgaande IP-adressen. U kunt ook de NAT-gateway-SKU niet wijzigen. Downgraden van StandardV2 naar Standard wordt niet ondersteund.

Een AKS-cluster maken met een userAssignedNatGateway

Deze configuratie vereist dat je eigen netwerken meeneemt (via Azure CNI) en dat de NAT-gateway vooraf op het subnet is geconfigureerd. Hiervoor worden zowel Standard- als StandardV2 NAT-gateways ondersteund outbound-type. Met de volgende opdrachten maakt u de vereiste resources voor het implementeren van een StandardV2 NAT-gatewayresource voor uw AKS-cluster.

  1. Maak een resourcegroep met behulp van de az group create opdracht.

    # Set environment variables for resource group, AKS cluster, public IP, and public IP prefix names
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export MY_RG="myResourceGroup$RANDOM_SUFFIX"
    
    # Create the resource group
    az group create --name $MY_RG --location southcentralus
    
  2. Maak een beheerde identiteit voor netwerkmachtigingen en sla de id op $IDENTITY_ID voor later gebruik.

    export IDENTITY_NAME="myNatClusterId$RANDOM_SUFFIX"
    export IDENTITY_ID=$(az identity create \
        --resource-group $MY_RG \
        --name $IDENTITY_NAME \
        --location southcentralus \
        --query id \
        --output tsv)
    

    Voorbeelduitvoer:

    /xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxx
    
  3. Maak een openbaar IP-adres van StandardV2 voor de NAT-gateway met behulp van de az network public-ip create opdracht. Voor een StandardV2 NAT-gateway is een openbaar StandaardV2-IP-adres vereist.

    export PIP_NAME="myNatGatewayPip$RANDOM_SUFFIX"
    az network public-ip create \
        --resource-group $MY_RG \
        --name $PIP_NAME \
        --location southcentralus \
        --allocation-method Static \
        --version IPv4 \
        --zone 1 2 3 \
        --sku standard-v2
    
  4. Maak de StandardV2 NAT-gateway met behulp van de az network nat gateway create opdracht.

    export NATGATEWAY_NAME="myNatGateway$RANDOM_SUFFIX"
    az network nat gateway create \
        --resource-group $MY_RG \
        --name $NATGATEWAY_NAME \
        --location southcentralus \
        --public-ip-addresses $PIP_NAME \
        --sku StandardV2
        --idle-timeout 4
    

    Belangrijk

    Als u zoneredundantie wilt garanderen, implementeert u een StandardV2 NAT-gatewayresource, die meerdere beschikbaarheidszones in een regio omvat. Deze configuratie zorgt voor continue uitgaande connectiviteit, zelfs als één zone mislukt. Zie StandardV2 NAT-gateway voor meer informatie over de StandardV2 NAT-gateway en de voordelen ervan. Ter vergelijking: een Standaard NAT-gatewayresource biedt alleen tolerantie binnen de beschikbaarheidszone waarin u deze implementeert.

  5. Maak een virtueel netwerk met behulp van de az network vnet create opdracht.

    export VNET_NAME="myVnet$RANDOM_SUFFIX"
    az network vnet create \
        --resource-group $MY_RG \
        --name $VNET_NAME \
        --location southcentralus \
        --address-prefixes 172.16.0.0/20 
    
  6. Maak een subnet in het virtuele netwerk met behulp van de NAT-gateway en sla de ID op voor later gebruik.

    export SUBNET_NAME="myNatCluster$RANDOM_SUFFIX"
    export SUBNET_ID=$(az network vnet subnet create \
        --resource-group $MY_RG \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --address-prefixes 172.16.0.0/22 \
        --nat-gateway $NATGATEWAY_NAME \
        --query id \
        --output tsv)
    
  7. Maak een AKS-cluster met behulp van het subnet met de NAT-gateway en de beheerde identiteit met behulp van de az aks create opdracht.

    export AKS_NAME="myNatCluster$RANDOM_SUFFIX"
    az aks create \
        --resource-group $MY_RG \
        --name $AKS_NAME \
        --location southcentralus \
        --network-plugin azure \
        --vnet-subnet-id $SUBNET_ID \
        --outbound-type userAssignedNATGateway \
        --assign-identity $IDENTITY_ID \
        --generate-ssh-keys
    

Overwegingen voor productie

Wanneer u beheerde NAT-gateway in productie gebruikt, plant u het gedrag van uitgaand verkeer, toegang tot API-servers en workloadtolerantie.

  • Gebruik AKS Automatic als u de aanbevolen productierijpe standaardinstelling voor de meeste AKS-workloads wilt.
  • Gebruik beheerde NAT-gateway in AKS Standard wanneer u uitgaande AKS-connectiviteit wilt beheren zonder uw eigen NAT-gateway mee te nemen.
  • Gebruik een privécluster of API Server VNet-integratie als u de blootstelling van API-serververkeer wilt verminderen.
  • Controleer de vereisten voor uitgaande IP voordat u live gaat.
  • Als uw workloads afhankelijk zijn van vaste uitgaande adressen, controleert u of de beheerde NAT-gateway voldoet aan deze vereisten vóór de implementatie.
  • Als u NAT onafhankelijk van AKS wilt beheren, gebruikt u een door de gebruiker toegewezen NAT-gateway.

UitgaandeNAT uitschakelen voor Windows

Windows OutboundNAT kan bepaalde problemen met verbinding en communicatie met uw AKS-pods veroorzaken. Een voorbeeld van een probleem is het hergebruik van knooppuntpoorten. In dit voorbeeld gebruikt Windows UitgaandeNAT poorten om uw pod-IP te vertalen naar het host-IP-adres van uw Windows knooppunt, wat kan leiden tot een instabiele verbinding met de externe service vanwege een probleem met poortuitputting.

Windows schakelt outboundNAT standaard in. U kunt outboundNAT nu handmatig uitschakelen bij het maken van nieuwe Windows agentgroepen.

Vereisten en beperkingen

  • U hebt een bestaand AKS-cluster met v1.26 of hoger nodig. Als u Kubernetes versie 1.25 of ouder gebruikt, werkt u de implementatieconfiguratie bij.
  • U kunt het uitgaande clustertype niet instellen op LoadBalancer. U kunt deze instellen als NAT Gateway of UDR.
    • NAT-gateway: NAT Gateway verwerkt automatisch NAT-verbindingen en is krachtiger dan Standard Load Balancer. Er worden mogelijk extra kosten in rekening gebracht met behulp van deze optie.
    • UDR (UserDefinedRouting): u moet rekening houden met poortbeperkingen bij het configureren van routeringsregels.
    • Als u wilt overschakelen van een load balancer naar NAT-gateway, kunt u een NAT-gateway toevoegen aan het VNet of uitvoeren az aks upgrade om het uitgaande type bij te werken.

Notitie

UserDefinedRouting heeft de volgende beperkingen:

  • SNAT by Load Balancer (moet de standaard-uitgaandeNAT gebruiken) heeft 64 poorten op het host-IP-adres.
  • SNAT door Azure Firewall (outboundNAT uitschakelen) heeft 2496 poorten per openbaar IP-adres.
  • SNAT by NAT Gateway (outboundNAT uitschakelen) heeft 64.512 poorten per openbaar IP-adres.
  • Als het Azure Firewall poortbereik niet voldoende is voor uw toepassing, moet u NAT Gateway gebruiken.
  • Azure Firewall gebruikt geen SNAT met netwerkregels als het bestemmings-IP-adres zich in een privé-IP-adresbereik bevindt volgens IANA RFC 1918 of gedeelde adresruimte volgens IANA RFC 6598.

OutboundNAT handmatig uitschakelen voor Windows

  • Handmatig OutboundNAT uitschakelen voor Windows bij het aanmaken van nieuwe Windows-agentpools met de opdracht az aks nodepool add en de vlag --disable-windows-outbound-nat.

    Notitie

    U kunt een bestaand AKS-cluster gebruiken, maar mogelijk moet u het uitgaande type bijwerken en een knooppuntgroep toevoegen om dit in te schakelen --disable-windows-outbound-nat.

    export WIN_NODEPOOL_NAME="win$(head -c 1 /dev/urandom | xxd -p)"
    az aks nodepool add \
        --resource-group $MY_RG \
        --cluster-name $MY_AKS \
        --name $WIN_NODEPOOL_NAME \
        --node-count 3 \
        --os-type Windows \
        --disable-windows-outbound-nat
    

    Voorbeelduitvoer:

    {
      "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myNatClusterxxx/agentPools/mynpxxx",
      "name": "mynpxxx",
      "osType": "Windows",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroupxxx",
      "type": "Microsoft.ContainerService/managedClusters/agentPools"
    }
    

Zie de volgende artikelen voor meer informatie over Azure NAT Gateway en AKS Automatic: