إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
بينما يمكنك توجيه حركة المرور الخارجة عبر موازن تحميل Azure، هناك قيود على عدد تدفقات الحركة الصادرة التي يمكنك الحصول عليها. تسمح بوابة Azure NAT بما يصل إلى 64,512 تدفقات حركة مرور UDP وTCP صادرة لكل عنوان IP مع حد أقصى 16 عنوان IP. هناك ثلاثة أنواع صادرة تدعم بوابة NAT - managedNATGatewayV2 (معاينة)، managedNATGatewayو userAssignedNATGateway.
في نموذج بوابة NAT المدارة، تدير AKS بوابة NAT لتوفير اتصال خارجي لعقد العنقود الخاصة بك. تدعم AKS خيارين لبوابة NAT المدارة: الأحدث managedNATGatewayV2 والأصلي managedNATGateway.
managedNATgatewayV2 تستخدم بوابة NAT StandardV2 التي تكون احتياطية من المنطقة بشكل افتراضي، مما يوفر اتصالا خارجيا مستمرا حتى لو توقفت منطقة توافر واحدة. على عكس بوابة NAT القياسية، لا تحتاج إلى تحديد منطقة -zone التكرار مدمج تلقائيا. تدعم بوابة NAT ستاندردV2 أيضا IPv6، ومعدل نقل أعلى، وسجلات التدفق. لمزيد من التفاصيل، راجع وحدة SKU بوابة NAT.
هام
النوع managedNATGatewayV2 الصادر حاليا في مرحلة المعاينة.
راجع شروط الاستخدام الإضافية الإضافية لمعاينات Microsoft Azure للمصطلحات القانونية التي تنطبق على الميزات Azure التي هي في مرحلة التجريب، أو المعاينة، أو التي لم تصدر بعد في التوفر العام.
userAssignedNATGateway هو مورد بوابة NAT تدار من العملاء تقوم بتكوينه بشكل مستقل عن AKS ويكون مطلوبا عند استخدام الشبكات الافتراضية الخاصة بك.
توضح لك هذه المقالة كيفية إنشاء عنقود خدمة خدمة Azure Kubernetes (AKS) مع بوابة NAT مدارة وبوابة NAT مخصصة للمستخدم لحركة المرور الخارجية. كما يوضح لك كيفية تعطيل OutboundNAT على Windows.
قبل البدء
- تأكد من أنك تستخدم أحدث إصدار من Azure CLI.
- تأكد من أنك تستخدم الإصدار 1.20.x من Kubernetes أو أعلى.
- بوابة NAT المدارة غير متوافقة مع الشبكات الظاهرية المخصصة.
هام
في المجموعات غير الخاصة، يتم توجيه نسبة استخدام شبكة نظام مجموعة خادم API ومعالجتها من خلال نوع نظام المجموعة الصادر. لمنع معالجة حركة مرور خادم API كحركة مرور عامة، ضع في اعتبارك استخدام مجموعة خاصة، أو تحقق من ميزة تكامل API Server VNet.
أنشئ عنقود AKS باستخدام managedNATgatewayV2
- أنشئ عنقود AKS مع بوابة NAT مدارة من StandardV2 باستخدام
az aks createالأمر الذي يحتوي على المعلمات--outbound-type managedNATGateway،--nat-gateway-outbound-ips،--nat-gateway-outbound-ip-prefixes،--nat-gateway-managed-outbound-ip-count--nat-gateway-managed-outbound-ipv6-count، و--nat-gateway-idle-timeoutالمعلمات. - عند تكوين عناوين IP الصادرة ل
managedNATgatewayV2، يجب عليك استخدام أحد الأساليب التالية — لا يمكنك استخدام عناوين IP الصادرة المدارة من Azure والمعرفة من قبل العميل:- <عناوين IP المدارة ب>Azure — استخدم
و/أو لجعل Azure يقوم تلقائيا بتخصيص وإدارة عناوين IP العامة الصادرة نيابة عنك. -
عناوين IP المعرفة من قبل العميل — تستخدم
--nat-gateway-outbound-ipsو/أو--nat-gateway-outbound-ip-prefixesتحضر عناوين IP العامة أو البادئات المعدة مسبقا الخاصة بك، مما يمنحك تحكما كاملا في العناوين المحددة المستخدمة لحركة المرور الصادرة. تتطلب بوابة NAT القياسية V2 استخدام عناوين IP عامة جديدة من نوع StandardV2. عناوين IP العامة الحالية لوحدات SKU القياسية لا تعمل مع بوابة NAT القياسية V2.
- <عناوين IP المدارة ب>Azure — استخدم
الجدول التالي يصف كل معلمة IP صادرة ومتى يجب استخدامها:
| المعلمة | الإدخال | إصدار IP | من يدير عناوين الملكية الفكرية العامة |
|---|---|---|---|
--nat-gateway-managed-outbound-ip-count |
القيمة في نطاق [1، 16]. العدد المطلوب من IPv4 الصادرة لاتصال بوابة NAT. | IPv4 | Azure |
--nat-gateway-managed-outbound-ipv6-count |
القيمة في نطاق [1، 16]. العدد المطلوب من IPv6 الصادرة لاتصال بوابة NAT. | IPv6 | Azure |
--nat-gateway-outbound-ips |
معرفات موارد IP العامة المفصولة بالفواصل للاتصال الخارج ببوابة NAT. | IPv4 أو IPv6 | العميل |
--nat-gateway-outbound-ip-prefixes |
معرفات موارد IP العامة المفصولة بفاصل للاتصال الخارج ببوابة NAT. | IPv4 أو IPv6 | العميل |
managedNATGatewayV2 النوع الصادر حاليا في المعاينة، وللاستخدام في هذا النوع الصادر، هناك حاجة للخطوات التالية لتثبيت امتداد aks-preview Azure CLI وتسجيل علامة ميزة ManagedNATGatewayV2Preview.
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
قم بتثبيت أو تحديث إضافة المعاينة Azure CLI باستخدام أمر
az extension addأوaz extension update.الحد الأدنى للإصدار من امتداد Azure CLI المعاينة في aks هو
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تسجيل
ManagedNATGatewayV2Previewالعلامات المميزةتسجيل علامة الميزة
ManagedNATGatewayV2Previewباستخدامaz feature registerالأمر .az feature register --namespace "Microsoft.ContainerService" --name "ManagedNATGatewayV2Preview"تحقق من التسجيل الناجح باستخدام
az feature showالأمر . يستغرق التسجيل بضع دقائق حتى يكتمل.az feature show --namespace "Microsoft.ContainerService" --name "ManagedNATGatewayV2Preview"بمجرد ظهور الميزة
Registered، قم بتحديث تسجيل مزود المواردMicrosoft.ContainerServiceباستخدام أمرaz provider register.تنشئ الأوامر التالية مجموعة الموارد المطلوبة، وموارد IP العام وبادئة IP العامة للربط ببوابة NAT، وعنقود AKS مع بوابة NAT مدارة StandardV2.
إنشاء مجموعة موارد باستخدام
az group createالأمر .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" az group create --name $MY_RG --location "eastus2"إنشاء عنوان IP عام وبادئة IP عامة احتياطية في المنطقة باستخدام
az network public-ip createالأمر. تخزين$MY_IPواستخدامها$MY_IP_PREFIXكعناوين IP صادرة لبوابة NAT المدارة 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 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)أنشئ عنقود AKS ويشير إلى عنوان IP العام (
$MY_IP_ID) وبادئة IP العامة ($MY_IP_PREFIX_ID).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
قم بتحديث عناوين IP الصادرة، أو بادئات IP الصادرة، أو عدد عناوين IP الصادرة المدارة، أو مهلة الخمول باستخدام az aks update الأمر باستخدام المعاملة --nat-gateway-outbound-ips، --nat-gateway-outbound-ip-prefixes، --nat-gateway-managed-outbound-count، --nat-gateway-managed-outbound-ipv6-countأو --nat-gateway-idle-timeout المعامل. لا يمكن تحديث A managedNATGatewayV2 للتبديل بين عناوين IP الصادرة المعرفة من قبل العميل وعناوين IP المدارة بعد الإنشاء. يتم تحديد تكوين IP الصادر عند إنشاء بوابة NAT StandardV2 في البداية وتبقى ثابتة.
أنشئ عنقود AKS باستخدام managedNATgateway
إنشاء عنقود AKS باستخدام بوابة NAT القياسية المدارة باستخدام
az aks createالأمر مع--outbound-type managedNATGateway.--nat-gateway-managed-outbound-ip-count، و--nat-gateway-idle-timeoutالمعلمات. إذا كنت تريد أن تعمل بوابة NAT خارج منطقة توفر محددة، حدد المنطقة باستخدام--zones.لا يمكن استخدام مورد بوابة NAT المدارة عبر مناطق توفر متعددة. للاتصال الخارجي المتكرر للمنطقة، فكر في استخدام
managedNATgatewayV2.إذا لم يتم تحديد أي منطقة عند إنشاء بوابة NAT مدارة، نشر بوابة NAT إلى "لا توجد منطقة" بشكل افتراضي. عندما توضع بوابة NAT في <منطقة c0>nozone، Azure تضع المورد في منطقة معينة لك. لمزيد من المعلومات حول نموذج التوزيع غير النطاقي، راجع بوابة NAT غير النطاقية.
أنشئ عنقود AKS باستخدام userAssignedNatGateway
يتطلب هذا التكوين جلب الشبكة الخاصة بك (عبر Azure CNI) وأن تكون بوابة NAT معدة مسبقا على الشبكة الفرعية. يتم دعم كل من بوابات NAT القياسية وStandardV2 لهذا outbound-typeالغرض. تقوم الأوامر التالية بإنشاء الموارد المطلوبة لنشر مورد بوابة NAT من نوع StandardV2 لمجموعة AKS الخاصة بك.
إنشاء مجموعة موارد باستخدام
az group createالأمر .export RANDOM_SUFFIX=$(openssl rand -hex 3) export MY_RG="myResourceGroup$RANDOM_SUFFIX" az group create --name $MY_RG --location southcentralusإنشاء هوية مدارة لأذونات الشبكة وتخزين المعرف لاستخدامها
$IDENTITY_IDلاحقا.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)النتائج:
/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxxإنشاء عنوان IP عام ل StandardV2 لبوابة NAT باستخدام الأمر
az network public-ip create. تتطلب بوابة NAT من نوع ستاندردV2 عنوان IP عام من نوع 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-v2إنشاء بوابة NAT لمعيار V2 باستخدام الأمر
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 4هام
لضمان تكرار المنطقة، ينصح بنشر مورد بوابة NAT من نوع StandardV2، يمتد عبر عدة مناطق توفر في منطقة واحدة. هذا يضمن استمرار الاتصال الصادر حتى لو تعطل منطقة واحدة. لمزيد من التفاصيل حول بوابة StandardV2 NAT وفوائدها، راجع بوابة StandardV2 NAT. بالمقارنة، يوفر مورد بوابة NAT القياسية المرونة فقط ضمن منطقة التوفر التي تم نشره فيها.
إنشاء شبكة ظاهرية
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/20إنشاء شبكة فرعية في الشبكة الظاهرية باستخدام بوابة NAT وتخزين المعرف لاستخدامه
$SUBNET_IDلاحقا.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)إنشاء نظام مجموعة AKS باستخدام الشبكة الفرعية مع بوابة NAT والهوية المدارة
az aks createباستخدام الأمر .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
تعطيل OutboundNAT لنظام Windows
يمكن أن يسبب Windows OutboundNAT بعض مشاكل الاتصال والاتصال مع وحدات AKS الخاصة بك. مثال على المشكلة هو إعادة استخدام منفذ العقدة. في هذا المثال، يستخدم Windows OutboundNAT منافذ لترجمة عنوان IP الخاص بالوحدة إلى عنوان IP لمضيف عقدة Windows، مما قد يسبب اتصالا غير مستقر بالخدمة الخارجية بسبب مشكلة استنفاد المنافذ.
Windows يفعل OutboundNAT بشكل افتراضي. يمكنك الآن تعطيل OutboundNAT يدويا عند إنشاء مجموعات وكلاء Windows جديدة.
المتطلبات الأساسية
- نظام مجموعة AKS الحالي مع الإصدار 1.26 أو أعلى. إذا كنت تستخدم الإصدار 1.25 من Kubernetes أو أقدم، فستحتاج إلى تحديث تكوين النشر الخاص بك.
القيود
- لا يمكنك تعيين نوع نظام المجموعة الصادر إلى LoadBalancer. يمكنك تعيينه على بوابة NAT أو UDR:
- NAT Gateway: يمكن لبوابة NAT التعامل تلقائيا مع اتصال NAT وهي أقوى من Standard Load Balancer. قد تتحمل رسوما إضافية باستخدام هذا الخيار.
- UDR (UserDefinedRouting): يجب أن تضع قيود المنفذ في الاعتبار عند تكوين قواعد التوجيه.
- إذا كنت بحاجة إلى التبديل من موازن تحميل إلى بوابة NAT، يمكنك إما إضافة بوابة NAT إلى VNet أو تشغيل
az aks upgradeلتحديث النوع الصادر.
إشعار
يحتوي UserDefinedRouting على القيود التالية:
- SNAT by Load Balancer (يجب استخدام OutboundNAT الافتراضي) يحتوي على "64 منفذا على عنوان IP المضيف".
- SNAT بواسطة Azure Firewall (تعطيل OutboundNAT) يحتوي على 2496 منفذا لكل عنوان IP عام.
- يحتوي SNAT بواسطة بوابة NAT (تعطيل OutboundNAT) على 64512 منفذا لكل عنوان IP عام.
- إذا لم تكن مجموعة منافذ Azure Firewall كافية لتطبيقك، تحتاج إلى استخدام NAT Gateway.
- لا Azure Firewall ينفذ SNAT مع قواعد الشبكة عندما يكون عنوان IP الوجهة ضمن نطاق عنوان IP خاص حسب IANA RFC 1918 أو مساحة عناوين مشتركة حسب IANA RFC 6598.
قم بتعطيل OutboundNAT يدويا لنظام Windows
قم بتعطيل OutboundNAT يدويا ل Windows عند إنشاء مجموعات وكلاء Windows جديدة باستخدام أمر
az aks nodepool addمع علم--disable-windows-outbound-nat.إشعار
يمكنك استخدام مجموعة AKS موجودة، ولكن قد تحتاج إلى تحديث النوع الصادر وإضافة تجمع عقدة لتمكين
--disable-windows-outbound-nat.الأمر التالي يضيف مجموعة عقد Windows إلى مجموعة AKS موجودة، مما يعطل OutboundNAT.
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النتائج:
{ "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" }
الخطوات التالية
لمزيد من المعلومات حول بوابة Azure NAT، راجع بوابة Azure NAT.