Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ AKS Automatic ✔️ AKS Standard
För de flesta produktionsarbetsbelastningar är AKS Automatic den rekommenderade produktionsklara standardinställningen för AKS. AKS Automatiska kluster innehåller en förkonfigurerad hanterad NAT-gateway.
I AKS Standard kan du skapa eller konfigurera en hanterad NAT-gateway när du vill ha EN AKS-hanterad utgående anslutning för klustret. För byo-nätverksscenarier (bring-your-own) använder du en användartilldelad NAT-gateway.
Du kan dirigera utgående trafik via en Azure Load Balancer, men det finns begränsningar för hur många utgående trafikflöden du kan ha. Azure NAT Gateway stöder upp till 64 512 utgående UDP- och TCP-trafikflöden per IP-adress med högst 16 IP-adresser. Två utgående typer stöder NAT-gateway: managedNATGateway och userAssignedNATGateway.
Den här artikeln visar hur du skapar ett AKS-kluster med hanterad NAT-gateway och användartilldelad NAT-gateway för utgående trafik. Den visar också hur du inaktiverar OutboundNAT för Windows.
Kommentar
Från och med API-version 2026-06-01 använder outboundType: managedNATGateway som standard StandardV2 NAT Gateway, som visas som managedNATGatewayV2 i stället för den natGatewayProfile.sku: StandardV2 utgående typ som används under förhandsversionen. Förhandsversioner av API:et från 2026-01-02-preview till och med 2026-05-02-preview fortsätter att acceptera managedNATGatewayV2 i ungefär ett år, vilket ger dig tid att gå över till managedNATGateway med en explicit sku. Information om utfasningsdatum för förhandsversions-API:erna finns i dokumentationen om livscykeln för AKS förhandsversions-API:er.
Förutsättningar
AKS Automatiska kluster innehåller en förkonfigurerad hanterad NAT-gateway. Stegen i den här artikeln gäller främst för AKS Standard och anpassade nätverksscenarier.
- Kontrollera att du använder den senaste versionen av Azure CLI.
- Kontrollera att du använder Kubernetes version 1.20.x eller senare.
- Hanterad NAT-gateway är inte kompatibel med anpassade virtuella nätverk.
Viktigt!
I icke-privata kluster dirigeras OCH bearbetas API-serverklustertrafik via klustrets utgående typ. Om du vill förhindra att API Server-trafik bearbetas som offentlig trafik kan du överväga att använda ett privat kluster eller kolla in api Server VNet-integreringsfunktionen.
Hanterad NAT-gateway i AKS
AKS Automatic använder hanterad NAT-gateway som en del av sin förkonfigurerade produktionsklara standard. Använd det här avsnittet om du arbetar med AKS Standard eller om du behöver förstå hur hanterad NAT-gateway fungerar i ett AKS-kluster.
Hanterad NAT-gateway är det AKS-hanterade utgående alternativet. AKS skapar och hanterar NAT-gatewayen för att tillhandahålla utgående anslutning för dina klusternoder.
Använd hanterad NAT-gateway när du vill:
- AKS-hanterad utgående anslutning med mindre driftkostnader.
- En produktionsvänlig standardväg för utgående trafik.
- Enklare hantering av utgående trafik än en kundhanterad NAT-gateway-driftsättning.
- En AKS-standardnätverksmodell utan att använda en egen NAT-gateway-resurs.
Skapa ett AKS-kluster med en hanterad NAT-gateway
Utgående IP-parametrar
I följande tabell beskrivs varje utgående IP-parameter och när den ska användas:
| Parameter | Indata | IP-version | Vem hanterar offentliga IP-adresser |
|---|---|---|---|
--nat-gateway-managed-outbound-ip-count |
Värde i intervallet [1, 16]. Önskat antal utgående IPv4:er för utgående NAT-gatewayanslutning. | IPv4 | Azure |
--nat-gateway-managed-outbound-ipv6-count |
Värde i intervallet [1, 16]. Önskat antal utgående IPv6:er för utgående NAT-gatewayanslutning. | IPv6 | Azure |
--nat-gateway-outbound-ips |
Kommaavgränsade publika IP-resurs-ID:n för NAT-gatewayens utgående anslutning. | IPv4 eller IPv6 | Kund |
--nat-gateway-outbound-ip-prefixes |
Offentliga IP-prefixresurs-ID:n, avgränsade med kommatecken, för utgående anslutning till NAT-gatewayen. | IPv4 eller IPv6 | Kund |
Välj en hanterad NAT-gateway-SKU
Från och med API-versionen 2026-06-01 stöder StandardV2managedNATGateway och Standard SKU:er till och med networkProfile.natGatewayProfile.sku. StandardV2 är standard för nya kluster i regioner som stöds när begäran använder den här API-versionen eller senare. Begäranden som använder en tidigare API-version behåller det befintliga standardbeteendet.
| Scenario | Behavior |
|---|---|
| Nytt kluster utan angiven SKU | Använder StandardV2 som standard där det är tillgängligt. AKS validerar regional tillgänglighet innan AKS tillämpar standardinställningen. I regioner där StandardV2 inte är tillgängligt använder AKS Standard. |
| Befintligt standardkluster | Fortsätter att använda nat-gatewayresursen. API-versionen 2026-06-01 och senare returnerar den skrivskyddade natGatewayProfile.sku-egenskapen som Standard. |
| Uppgradera från Standard till StandardV2 | Ställ in networkProfile.natGatewayProfile.sku på StandardV2. |
| Nedgradera från StandardV2 till Standard | Stöds inte. |
StandardV2 NAT Gateway rekommenderas eftersom den är zonredundant som standard och erbjuder högre bandbredd och dataflöde. StandardV2 kräver offentliga IP-adresser och prefix för StandardV2. Befintliga offentliga IP-resurser för Standard SKU är inte kompatibla med StandardV2 NAT Gateway. Granska viktiga begränsningar för StandardV2 NAT Gateway för den aktuella listan över regioner som inte stöds.
StandardV2:s offentliga IP-krav gäller endast för NAT-gatewayens utgående IP-adresser. Den AKS-hanterade lastbalanseraren som hanterar type: LoadBalancer tjänster förblir en Standard Load Balancer och kräver Standard-offentliga IP-adresser. Om du förprovisionerar ett taggat lager av offentliga IP-adresser ska du planera för båda SKU:erna: StandardV2 för NAT-gatewayens utgående trafik och Standard för inkommande tjänster.
SKU-funktioner för hanterad NAT-gateway
Den managedNATGateway utgående typen stöder olika funktioner beroende på värdet för networkProfile.natGatewayProfile.sku.
| Capability | StandardV2 |
Standard |
|---|---|---|
| Standardinställning för nya kluster | Använd standard där det är tillgängligt såvida inte kunden uttryckligen väljer Standard. |
Används när det uttryckligen har valts eller när StandardV2 inte är tillgängligt i regionen. |
| Beteende för tillgänglighetszoner | Zonredundant som standard. | Zonindelad eller icke-zonindelad, beroende på klusterkonfigurationen. |
| Azure-hanterade utgående IPv4-adresser | Supported. | Supported. |
| Azure hanterade utgående IPv6-adresser | Supported. | Stöds inte. |
| Kunddefinierade utgående IP-adresser och prefix | Stöds med offentliga IP-adresser och prefix för StandardV2. | Stöds inte för en AKS-hanterad NAT-gateway. |
Skapa ett AKS-kluster
Skapa ett AKS-kluster genom att az aks create köra kommandot med parametern --outbound-type managedNATGateway . AKS använder som standard StandardV2 SKU i regioner som stöds och Standard SKU i regioner som inte stöds.
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
Viktigt!
Du kan uppgradera en befintlig hanterad Standard-NAT-gateway till StandardV2, men du kan inte nedgradera en hanterad StandardV2 NAT-gateway till Standard.
Konfigurera utgående IP-adresser för en hanterad StandardV2 NAT-gateway
I regioner där StandardV2 är tillgängligt konfigurerar du utgående adresser med någon av följande metoder. Du kan inte kombinera Azure-hanterad och kunddefinierad utgående IP-konfiguration.
Använd Azure-hanterade IP-adresser
Använd managedOutboundIPProfile för att få AKS att allokera och hantera de utgående offentliga IPv4- och IPv6-adresserna.
{
"properties": {
"networkProfile": {
"outboundType": "managedNATGateway",
"natGatewayProfile": {
"managedOutboundIPProfile": {
"count": 1,
"countIPv6": 1
}
}
}
}
}
Använd kunddefinierade IP-adresser och prefix
Använd outboundIPs och outboundIPPrefixes för att ange förskapade offentliga IP-adresser eller prefix. Dessa resurser måste använda StandardV2 SKU. Befintliga offentliga IP-adresser och prefix för Standard SKU är inte kompatibla med en StandardV2 NAT-gateway.
Skapa en zonredundant offentlig IP-adress och ett offentligt IP-prefix av typen 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)Driftsätt en hanterad NAT Gateway-utgående typ i en region som stöder StandardV2 NAT Gateway och referera till den offentliga IP-adressen och prefixet i AKS-klusterkonfigurationen.
{ "properties": { "networkProfile": { "outboundType": "managedNATGateway", "natGatewayProfile": { "outboundIPs": { "publicIPs": [ "<standard-v2-public-ip-resource-id>" ] }, "outboundIPPrefixes": { "publicIPPrefixes": [ "<standard-v2-public-ip-prefix-resource-id>" ] } } } } }
Modellen för utgående IP-ägarskap bestäms när StandardV2 NAT-gatewayen skapas. Du kan ändra enskilda utgående IP-resurser i den valda modellen, men du kan inte växla en befintlig NAT-gateway mellan Azure hanterade och kunddefinierade utgående IP-adresser. Du kan inte heller ändra NAT-gatewayens SKU. Nedgradering från StandardV2 till Standard stöds inte.
Skapa ett AKS-kluster med en userAssignedNatGateway
Den här konfigurationen kräver bring-your-own-nätverk (via Azure CNI) och att NAT-gatewayen är förkonfigurerad i undernätet. Både Standard- och StandardV2 NAT-gatewayer stöds för detta outbound-type. Följande kommandon skapar de resurser som krävs för att distribuera en STANDARDV2 NAT-gatewayresurs för ditt AKS-kluster.
Skapa en resursgrupp med kommandot
az group create.# 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 southcentralusSkapa en hanterad identitet för nätverksbehörigheter och lagra ID:t i
$IDENTITY_IDför senare användning.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)Exempel på utdata:
/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxxSkapa en offentlig IP-adress för StandardV2 för NAT-gatewayen
az network public-ip createmed kommandot . En StandardV2 NAT-gateway kräver en offentlig IP-adress för StandardV2.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-v2Skapa NAT-gatewayen StandardV2 med kommandot
az network nat gateway create.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 4Viktigt!
För att säkerställa zonredundans distribuerar du en NAT-gatewayresurs för StandardV2, som sträcker sig över flera tillgänglighetszoner i en region. Den här konfigurationen säkerställer fortsatt utgående anslutning även om en enskild zon misslyckas. Mer information om StandardV2 NAT-gateway och dess fördelar finns i StandardV2 NAT Gateway. Däremot ger en standard-NAT-gatewayresurs redundans endast inom den tillgänglighetszon där du driftsätter den.
Skapa ett virtuellt nätverk med kommandot
az network vnet create.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/20Skapa ett undernät i det virtuella nätverket med hjälp av NAT-gatewayen och lagra ID:t för
$SUBNET_IDsenare användning.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)Skapa ett AKS-kluster med hjälp av undernätet med NAT-gatewayen och den hanterade identiteten
az aks createmed kommandot .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
Produktionsöverväganden
När du använder hanterad NAT-gateway i produktion planerar du för utgående trafikbeteende, API-serveråtkomst och återhämtning av arbetsbelastningar.
- Använd AKS Automatic när du vill ha den rekommenderade produktionsklara standardinställningen för de flesta AKS-arbetsbelastningar.
- Använd hanterad NAT-gateway i AKS Standard när du vill ha en AKS-hanterad utgående anslutning utan att använda en egen NAT-gateway.
- Använd ett privat kluster eller API Server VNet-integrering när du vill minska exponeringen för API-servertrafik.
- Granska utgående IP-krav innan du går live.
- Om dina arbetsbelastningar är beroende av fasta utgående adresser kontrollerar du att den hanterade NAT-gatewayen uppfyller dessa krav före distributionen.
- Om du behöver hantera NAT oberoende av AKS använder du en användartilldelad NAT-gateway.
Inaktivera OutboundNAT för Windows
Windows OutboundNAT kan orsaka vissa anslutning- och kommunikationsproblem med dina AKS-poddar. Ett exempelproblem är återanvändning av nodport. I det här exemplet använder Windows OutboundNAT portar för att översätta din podd-IP till din Windows nodvärd-IP, vilket kan orsaka en instabil anslutning till den externa tjänsten på grund av ett portöverbelastningsproblem.
Windows aktiverar OutboundNAT som standard. Nu kan du inaktivera OutboundNAT manuellt när du skapar nya Windows agentpooler.
Krav och begränsningar
- Du behöver ett befintligt AKS-kluster med v1.26 eller senare. Om du använder Kubernetes version 1.25 eller senare uppdaterar du distributionskonfigurationen.
- Du kan inte ange utgående klustertyp till LoadBalancer. Du kan ställa in den på NAT Gateway eller UDR:
- NAT Gateway: NAT Gateway hanterar NAT-anslutningar automatiskt och är kraftfullare än Standard Load Balancer. Du kan debiteras extra avgifter med det här alternativet.
- UDR (UserDefinedRouting): Du måste ha portbegränsningar i åtanke när du konfigurerar routningsregler.
- Om du vill växla från en lastbalanserare till NAT Gateway kan du antingen lägga till en NAT-gateway i det virtuella nätverket eller köra
az aks upgradeför att uppdatera utgående typ.
Kommentar
UserDefinedRouting har följande begränsningar:
- SNAT per Load Balancer (måste använda standardutgåendeNAT) har 64 portar på värd-IP-adressen.
- SNAT per Azure Firewall (inaktivera OutboundNAT) har 2 496 portar per offentlig IP-adress.
- SNAT via NAT Gateway (inaktivera OutboundNAT) har 64 512 portar per offentlig IP-adress.
- Om Azure Firewall portintervallet inte räcker för ditt program måste du använda NAT Gateway.
- Azure Firewall SNAT:ar inte med nätverksregler när destinations-IP-adressen är i ett privat IP-adressintervall enligt IANA RFC 1918 eller delat adressutrymme enligt IANA RFC 6598.
Inaktivera OutboundNAT manuellt för Windows
Inaktivera OutboundNAT för Windows manuellt när du skapar nya Windows agentpooler med kommandot
az aks nodepool addmed flaggan--disable-windows-outbound-nat.Kommentar
Du kan använda ett befintligt AKS-kluster, men du kan behöva uppdatera den utgående typen och lägga till en nodpool för att aktivera
--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-natExempel på utdata:
{ "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" }
Relaterat innehåll
Mer information om Azure NAT Gateway och AKS Automatic finns i följande artiklar: