Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ AKS Otomatik ✔️ AKS Standart
Çoğu üretim iş yükü için AKS Otomatik, AKS için önerilen üretime hazır varsayılan değerdir. AKS Otomatik kümeleri önceden yapılandırılmış bir yönetilen NAT ağ geçidi içerir.
AKS Standard'da, kümeniz için AKS tarafından yönetilen giden bağlantı sağlamak istediğinizde yönetilen bir NAT ağ geçidi oluşturabilir veya yapılandırabilirsiniz. Kendi ağını kullan (BYO) ağ oluşturma senaryoları için kullanıcı tarafından atanmış bir NAT ağ geçidi kullanın.
Çıkış trafiğini bir Azure Load Balancer üzerinden yönlendirebilirsiniz ancak trafiğin giden akış sayısıyla ilgili sınırlamalar vardır. Azure NAT Gateway, en fazla 16 IP adresiyle, IP adresi başına 64.512’ye kadar giden UDP ve TCP trafik akışını destekler. Üç giden trafik türü NAT ağ geçidini destekler: managedNATGatewayV2 (Önizleme), managedNATGateway ve userAssignedNATGateway.
Bu makalede, giden trafik için yönetilen NAT ağ geçidi ve kullanıcı tarafından atanan NAT ağ geçidi ile AKS kümesi oluşturma gösterilmektedir. Ayrıca Windows için OutboundNAT'yi nasıl devre dışı bırakabileceğiniz de gösterilir.
Önemli
Giden managedNATGatewayV2 türü şu anda önizleme aşamasındadır.
Beta, önizleme veya başka bir şekilde genel kullanıma sunulmamış Azure özellikler için geçerli olan yasal koşullar için Microsoft Azure Önizlemeler için
Önkoşullar
AKS Otomatik kümeleri önceden yapılandırılmış bir yönetilen NAT ağ geçidi içerir. Bu makaledeki adımlar öncelikli olarak AKS Standart ve özel ağ senaryolarına yöneliktir.
- Azure CLI en son sürümünü kullandığınızdan emin olun.
- Kubernetes sürüm 1.20.x veya üzerini kullandığınızdan emin olun.
- Yönetilen NAT ağ geçidi özel sanal ağlarla uyumlu değildir.
Önemli
Özel olmayan kümelerde API sunucusu kümesi trafiği, kümenin giden türü aracılığıyla yönlendirilir ve işlenir. API sunucusu trafiğinin genel trafik olarak işlenmesini önlemek için özel bir küme kullanmayı göz önünde bulundurun veya API Server Sanal Ağ Tümleştirmesi özelliğini gözden geçirin.
AKS'de yönetilen NAT ağ geçidi
AKS Otomatik, önceden yapılandırılmış üretime hazır varsayılanının bir parçası olarak yönetilen NAT ağ geçidini kullanır. AKS Standard ile çalışıyorsanız veya yönetilen NAT ağ geçidinin AKS kümesinde nasıl davrandığını anlamanız gerekiyorsa bu bölümü kullanın.
Yönetilen NAT ağ geçidi, AKS tarafından yönetilen giden trafik seçeneğidir. AKS, küme düğümleriniz için giden bağlantı sağlamak üzere NAT ağ geçidini oluşturur ve yönetir.
Aşağıdaki durumlarda yönetilen NAT ağ geçidini kullanın:
- Daha az operasyonel ek yükle AKS yönetimli dışa yönelik bağlantı.
- Üretime uygun varsayılan çıkış yolu.
- Müşteri tarafından yönetilen NAT ağ geçidi dağıtımından daha basit çıkış yönetimi.
- Kendi NAT ağ geçidi kaynağınızı kullanmadan standart bir AKS ağ modeli.
Yönetilen NAT ağ geçidi ile AKS kümesi oluşturma
Giden IP parametreleri
Aşağıdaki tabloda her giden IP parametresi ve ne zaman kullanılacağı açıklanmaktadır:
| Parametre | Giriş | IP sürümü | Genel IP'leri kim yönetir? |
|---|---|---|---|
--nat-gateway-managed-outbound-ip-count |
[1, 16] aralığındaki değer. NAT ağ geçidinin giden bağlantısı için istenen IPv4 sayısı. | IPv4 | Azure |
--nat-gateway-managed-outbound-ipv6-count |
[1, 16] aralığındaki değer. NAT ağ geçidinden giden bağlantı için istenen giden IPv6 adresleri sayısı. | IPv6 | Azure |
--nat-gateway-outbound-ips |
NAT ağ geçidinin giden bağlantısı için virgülle ayrılmış genel IP kaynak kimlikleri. | IPv4 veya IPv6 | Müşteri |
--nat-gateway-outbound-ip-prefixes |
NAT ağ geçidinin dışa doğru bağlantısı için virgülle ayrılmış genel IP ön eki kaynak kimlikleri. | IPv4 veya IPv6 | Müşteri |
Yönetilen StandardV2 NAT ağ geçidiyle (managedNATGatewayV2) bir AKS kümesi oluşturma
managedNATGatewayV2 StandardV2 NAT Ağ Geçidi SKU’sunu kullanır. Standart NAT Ağ Geçidi SKU'su ile karşılaştırıldığında farklılıklar ve geliştirmeler hakkında ayrıntılı bilgi için bkz. Azure NAT Gateway SKU'ları.
Aşağıdaki bölümde kullanarak managedNATGatewayV2AKS kümesinin nasıl oluşturulacağı açıklanmaktadır.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
-
--nat-gateway-outbound-ipskomutunu--nat-gateway-outbound-ip-prefixes,--nat-gateway-managed-outbound-ipv6-count,--nat-gateway-managed-outbound-ip-count,--nat-gateway-idle-timeout,az aks createve--outbound-type managedNATGatewayV2parametreleriyle kullanarak yönetilen bir StandardV2 NAT ağ geçidine sahip bir AKS kümesi oluşturun. - Bir
managedNATgatewayV2için giden IP'leri yapılandırırken aşağıdaki yaklaşımlardan birini kullanın. Hem Azure yönetilen hem de müşteri tanımlı giden IP'leri kullanamazsınız.-
Azure tarafından yönetilen IP'ler: Azure'un sizin adınıza giden genel IP adreslerini otomatik olarak ayırmasını ve yönetmesini sağlamak için
--nat-gateway-managed-ip-outbound-countve--nat-gateway-managed-outbound-ipv6-countkullanın. -
Müşteri tanımlı IP'ler:
--nat-gateway-outbound-ipsve--nat-gateway-outbound-ip-prefixeskullanarak kendi önceden sağlanmış genel IP adreslerinizi ya da öneklerinizi kullanın; böylece çıkış trafiği için kullanılan belirli adresler üzerinde tam denetim sahibi olursunuz. StandardV2 NAT Ağ Geçidi, yeni StandardV2 genel IP'lerinin kullanılmasını gerektirir. Mevcut Standart SKU ortak IP'leri, StandardV2 NAT ağ geçidiyle birlikte çalışmaz.
-
Azure tarafından yönetilen IP'ler: Azure'un sizin adınıza giden genel IP adreslerini otomatik olarak ayırmasını ve yönetmesini sağlamak için
aks-preview Azure CLI uzantısını yükleme
Giden managedNATGatewayV2 türü şu anda önizleme aşamasındadır. Bu giden türünü kullanmak için Azure CLI uzantısını aks-preview yükleyin ve özellik bayrağını ManagedNATGatewayV2Preview kaydedin.
az extension add veya az extension update komutunu kullanarak Azure CLI önizleme uzantısını yükleyin veya güncelleştirin. Azure CLI uzantısının aks-preview en düşük sürümü: 20.0.0b1.
# Install the aks-preview extension
az extension add --name aks-preview
# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview
Özellik bayrağını ManagedNATGatewayV2Preview kaydetme
ManagedNATGatewayV2Previewözellik bayrağınıaz feature registerkomutunu kullanarak kaydedin.az feature register --namespace "Microsoft.ContainerService" --name "ManagedNATGatewayV2Preview"komutunu kullanarak kaydın başarılı olduğunu
az feature showdoğrulayın. Kaydın tamamlanması birkaç dakika sürer.az feature show --namespace "Microsoft.ContainerService" --name "ManagedNATGatewayV2Preview"Özellik
Registeredgösterdikten sonraMicrosoft.ContainerServicekomutunu kullanarakaz provider registerkaynak sağlayıcısının kaydını yenileyin.
Yönetilen StandardV2 NAT ağ geçidi ile AKS kümesi oluşturma
Aşağıdaki komutlar gerekli kaynak grubunu, NAT ağ geçidine eklenecek genel IP ve genel IP ön eki kaynaklarını ve yönetilen StandardV2 NAT ağ geçidine sahip AKS kümesini oluşturur.
komutunu kullanarak
az group createbir kaynak grubu oluşturun.# 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" export MY_AKS="myNatV2Cluster$RANDOM_SUFFIX" export MY_IP="myNatOutboundIP$RANDOM_SUFFIX" export MY_IP_PREFIX="myNatOutboundIPPrefix$RANDOM_SUFFIX" # Create the resource group az group create --name $MY_RG --location "eastus2"komutunu kullanarak
az network public-ip createalanlar arası yedekli bir IPv4 genel IP adresi ve genel IP ön eki oluşturun.$MY_IPve$MY_IP_PREFIX'i yönetilen StandardV2 NAT ağ geçidi için giden IP'ler olarak depolayın ve kullanın.# Create a zone redundant IPv4 public IP address and store the ID to $MY_IP_ID for later use 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) # Create a zone redundant IPv4 public IP prefix and store the ID to $MY_IP_PREFIX_ID for later use 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)AKS kümesini oluşturun ve
$MY_IP_ID,$MY_IP_PREFIX_IDveaz aks createparametreleriyle--outbound-type managedNATGatewayV2komutunu kullanarak genel IP adresine (--nat-gateway-outbound-ips) ve genel IP ön ekine (--nat-gateway-outbound-ip-prefixes) başvurun.az aks create \ --resource-group $MY_RG \ --name $MY_AKS \ --node-count 3 \ --outbound-type managedNATGatewayV2 \ --nat-gateway-outbound-ips $MY_IP_ID \ --nat-gateway-outbound-ip-prefixes $MY_IP_PREFIX_ID \ --nat-gateway-idle-timeout 4 \ --generate-ssh-keys
az aks update
--nat-gateway-outbound-ips,--nat-gateway-outbound-ip-prefixes,--nat-gateway-managed-outbound-count,--nat-gateway-managed-outbound-ipv6-count, veya --nat-gateway-idle-timeout parametresini kullanarak, giden IP'leri, giden IP ön eklerini, yönetilen giden IP sayısını veya boşta kalma zaman aşımını güncelleştirin.
managedNATGatewayV2 Oluşturulduktan sonra müşteri tarafından tanımlanan ve yönetilen giden IP adresleri arasında geçiş yapmak için güncelleştirilemez. Giden IP yapılandırması, StandardV2 NAT ağ geçidi ilk oluşturulduğunda belirlenir ve sabit kalır.
Yönetilen Standart NAT ağ geçidine sahip bir AKS kümesi oluşturun (managedNATGateway)
-
az aks create,--outbound-type managedNATGatewayve--nat-gateway-managed-outbound-ip-countparametreleriyle--nat-gateway-idle-timeoutkomutunu kullanarak yönetilen Standart NAT ağ geçidine sahip bir AKS kümesi oluşturun. NAT ağ geçidinin belirli bir kullanılabilirlik alanı dışında çalıştırılmasını istiyorsanız, kullanarak--zonesbölgeyi belirtin. - Yönetilen NAT ağ geçidi kaynağını birden çok kullanılabilirlik alanında kullanamazsınız. Bölge yedekliliği sağlamak için giden bağlantıda
managedNATgatewayV2kullanmayı göz önünde bulundurun. - Yönetilen NAT ağ geçidi oluştururken bölge belirtmezseniz, NAT ağ geçidi varsayılan olarak hiçbir bölgeye dağıtılmaz. NAT ağ geçidi hiçbir bölgede olmadığında, Azure kaynağı sizin için bir bölgeye yerleştirir. Bölgesel olmayan dağıtım modeli hakkında daha fazla bilgi için bkz. Bölgesel olmayan NAT ağ geçidi.
ile AKS kümesi oluşturma userAssignedNatGateway
Bu yapılandırma, kendi ağınızı getirmenizi (Azure CNI aracılığıyla) ve NAT ağ geçidinin alt ağda önceden yapılandırılmış olmasını gerektirir. Bu outbound-typeiçin hem Standard hem de StandardV2 NAT ağ geçitleri desteklenir. Aşağıdaki komutlar AKS kümeniz için bir StandardV2 NAT ağ geçidi kaynağı dağıtmak için gerekli kaynakları oluşturur.
komutunu kullanarak
az group createbir kaynak grubu oluşturun.# 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 southcentralusAğ izinleri için yönetilen bir kimlik oluşturun ve kimliği daha sonra kullanmak üzere içinde
$IDENTITY_IDdepolayın.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)Örnek çıkış:
/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxxaz network public-ip createkomutunu kullanarak NAT ağ geçidi için bir StandardV2 genel IP oluşturun. StandardV2 NAT ağ geçidi için StandardV2 genel IP adresi gerekir.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-v2komutunu kullanarak StandardV2 NAT ağ geçidini
az network nat gateway createoluşturun.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Önemli
Alanlar arası yedeklilik sağlamak için, bir bölgedeki birden çok kullanılabilirlik alanına yayılan bir StandardV2 NAT ağ geçidi kaynağı dağıtın. Bu yapılandırma, tek bir bölge başarısız olsa bile giden bağlantının devam etmesini sağlar. StandardV2 NAT ağ geçidi ve avantajları hakkında daha fazla bilgi için bkz. StandardV2 NAT Gateway. Karşılaştırmak gerekirse, Standart NAT ağ geçidi kaynağı yalnızca dağıttığınız kullanılabilirlik alanında dayanıklılık sağlar.
komutunu kullanarak
az network vnet createbir sanal ağ oluşturun.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/20NAT ağ geçidini kullanarak sanal ağda bir alt ağ oluşturun ve kimliğini daha sonra kullanmak üzere
$SUBNET_IDolarak depolayın.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)Komutu kullanarak
az aks createNAT ağ geçidi ve yönetilen kimliği içeren alt ağı kullanarak bir AKS kümesi oluşturun.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
Üretimle ilgili dikkat edilmesi gerekenler
Üretimde yönetilen NAT ağ geçidini kullandığınızda giden trafik davranışını, API sunucusu erişimini ve iş yükü dayanıklılığını planlayın.
- ÇOĞU AKS iş yükü için önerilen üretime hazır varsayılan değeri istiyorsanız AKS Otomatik'i kullanın.
- Kendi NAT ağ geçidinizi sağlamadan AKS tarafından yönetilen giden bağlantı kullanmak istediğinizde, AKS Standard’da yönetilen NAT ağ geçidini kullanın.
- API sunucusu trafiğinin görünür olmasını azaltmak istediğinizde özel küme veya API Server Sanal Ağ Tümleştirmesi kullanın.
- Canlı yayına geçmeden önce giden IP gereksinimlerini gözden geçirin.
- İş yükleriniz sabit giden adreslere bağlıysa, yönetilen NAT ağ geçidinin dağıtımdan önce bu gereksinimleri karşıladığını doğrulayın.
- NAT'yi AKS'ye göre bağımsız olarak yönetmeniz gerekiyorsa kullanıcı tarafından atanan nat ağ geçidini kullanın.
Windows için OutboundNAT'yi devre dışı bırakma
Windows OutboundNAT, AKS podlarınızda belirli bağlantı ve iletişim sorunlarına neden olabilir. "Node Port" yeniden kullanımı örnek bir sorundur. Bu örnekte Windows OutboundNAT, pod IP'nizi Windows düğüm ana bilgisayar IP'nize çevirmek için bağlantı noktalarını kullanır ve bu da bağlantı noktası tükenmesi sorunu nedeniyle dış hizmete kararsız bir bağlantıya neden olabilir.
Windows varsayılan olarak OutboundNAT'ı etkinleştirir. Artık yeni Windows aracı havuzları oluştururken OutboundNAT'yi el ile devre dışı bırakabilirsiniz.
Ön koşullar ve sınırlamalar
- v1.26 veya sonraki sürümlere sahip mevcut bir AKS kümesine ihtiyacınız vardır. Kubernetes sürüm 1.25 veya üzerini kullanıyorsanız dağıtım yapılandırmanızı güncelleştirin.
- Kümenin dışa giden türünü LoadBalancer olarak ayarlayamazsınız. Bunu NAT Ağ Geçidi veya UDR olarak ayarlayabilirsiniz:
- NAT Ağ Geçidi: NAT Ağ Geçidi, NAT bağlantılarını otomatik olarak işler ve Standart Load Balancer daha güçlüdür. Bu seçeneği kullanarak ek ücret ödemeniz gerekebilir.
- UDR (UserDefinedRouting): Yönlendirme kurallarını yapılandırırken bağlantı noktası sınırlamalarını göz önünde bulundurmanız gerekir.
- Yük dengeleyicisinden NAT ağ geçidine geçmek için VNet'e bir NAT ağ geçidi ekleyebilir veya giden türünü güncellemek için
az aks upgradekomutunu çalıştırabilirsiniz.
Not
UserDefinedRouting aşağıdaki sınırlamalara sahiptir:
- SNAT by Load Balancer (varsayılan OutboundNAT kullanılmalıdır) ana bilgisayar IP'sinde 64 bağlantı noktası vardır.
- Azure Güvenlik Duvarı’daki SNAT’ta (OutboundNAT devre dışı bırakıldığında), her ortak IP için 2.496 bağlantı noktası vardır.
- NAT Ağ Geçidi ile SNAT'te (OutboundNAT devre dışı bırakıldığında), genel IP başına 64.512 bağlantı noktası vardır.
- Azure Güvenlik Duvarı bağlantı noktası aralığı uygulamanız için yeterli değilse NAT Ağ Geçidi'ni kullanmanız gerekir.
- Azure Güvenlik Duvarı, hedef IP adresi IANA RFC 1918 veya IANA RFC 6598 başına paylaşılan adres alanı başına özel bir IP adresi aralığında olduğunda Ağ kurallarıyla SNAT yapmaz.
Windows için OutboundNAT'yi el ile devre dışı bırakma
az aks nodepool addbayrağıyla--disable-windows-outbound-natkomutunu kullanarak yeni Windows aracı havuzları oluştururken outboundNAT'yi Windows için el ile devre dışı bırakın.Not
Mevcut bir AKS kümesini kullanabilirsiniz, ancak
--disable-windows-outbound-natetkinleştirmek için giden türünü güncellemeniz ve bir düğüm havuzu eklemeniz gerekebilir.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Örnek çıkış:
{ "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" }
İlgili içerik
Azure NAT Gateway ve AKS Otomatik hakkında daha fazla bilgi için aşağıdaki makalelere bakın: