إنشاء نظام مجموعة خدمة Azure Kubernetes مع تكامل الشبكة الظاهرية لخادم API (معاينة)
مجموعة Azure Kubernetes Service (AKS) المكونة مع API Server VNet Integration مشاريع نقطة نهاية خادم API مباشرة في شبكة فرعية مفوضة في VNet حيث يتم نشر AKS. يتيح تكامل الشبكة الظاهرية لخادم API اتصال الشبكة بين خادم API وعقد نظام المجموعة دون الحاجة إلى ارتباط خاص أو نفق. يتوفر خادم API خلف VIP موازن تحميل داخلي في الشبكة الفرعية المفوضة، والتي تم تكوين العقد للاستفادة منها. باستخدام تكامل الشبكة الظاهرية لخادم API، يمكنك ضمان بقاء حركة مرور الشبكة بين خادم واجهة برمجة التطبيقات وتجمعات العقد الخاصة بك على الشبكة الخاصة فقط.
اتصال خادم API
وحدة التحكم أو خادم API في اشتراك Azure المدار بواسطة AKS. يوجد نظام المجموعة أو تجمع العقدة في اشتراك Azure الخاص بك. يمكن للخادم والأجهزة الظاهرية التي تشكل عقد نظام المجموعة الاتصال مع بعضها البعض من خلال خادم API VIP وIPs pod التي يتم إسقاطها في الشبكة الفرعية المفوضة.
يتم دعم تكامل الشبكة الظاهرية لخادم API للمجموعات العامة أو الخاصة. يمكنك إضافة الوصول العام أو إزالته بعد توفير نظام المجموعة. على عكس المجموعات المتكاملة غير VNet، تتواصل عقد العامل دائما مباشرة مع عنوان IP الخاص لعنوان IP لموازن التحميل الداخلي لخادم API (ILB) دون استخدام DNS. يتم الاحتفاظ بجميع العقدة إلى حركة مرور خادم واجهة برمجة التطبيقات على الشبكات الخاصة، ولا يلزم وجود نفق لخادم واجهة برمجة التطبيقات للاتصال بالعقدة. يمكن للعملاء خارج نظام المجموعة الذين يحتاجون إلى الاتصال بخادم API القيام بذلك عادة إذا تم تمكين الوصول إلى الشبكة العامة. إذا تم تعطيل الوصول إلى الشبكة العامة، يجب اتباع نفس منهجية إعداد DNS الخاصة مثل المجموعات الخاصة القياسية.
توافر المناطق
يتوفر تكامل الشبكة الظاهرية لخادم API في جميع مناطق Azure العالمية.
المتطلبات الأساسية
- Azure CLI بملحق aks-Preview 0.5.97 أو إصدار أحدث.
- في حالة استخدام ARM أو REST API، يجب أن يكون إصدار AKS API معاينة 2022-04-02 أو أحدث.
تثبيت ملحق aks-preview Azure CLI
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
تثبيت ملحق aks-preview باستخدام
az extension add
الأمر .az extension add --name aks-preview
التحديث إلى أحدث إصدار من الملحق الذي تم إصداره باستخدام
az extension update
الأمر .az extension update --name aks-preview
تسجيل علامة ميزة "EnableAPIServerVnetIntegrationPreview"
تسجيل علامة الميزة
EnableAPIServerVnetIntegrationPreview
باستخدامaz feature register
الأمر .az feature register --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل.
تحقق من حالة التسجيل باستخدام
az feature show
الأمر :az feature show --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام
az provider register
الأمر .az provider register --namespace Microsoft.ContainerService
إنشاء نظام مجموعة AKS مع API Server VNet Integration باستخدام VNet المدارة
يمكنك تكوين مجموعات AKS الخاصة بك مع تكامل API Server VNet في VNet المدار أو إحضار وضع VNet الخاص بك. يمكنك إنشاؤها كتجمعات عامة (مع وصول خادم API متاح عبر IP عام) أو مجموعات خاصة (حيث يمكن الوصول إلى خادم API فقط عبر اتصال VNet الخاص). يمكنك أيضا التبديل بين حالة عامة وخاصة دون إعادة توزيع نظام المجموعة.
إنشاء مجموعة موارد
إنشاء مجموعة موارد باستخدام
az group create
الأمر .az group create --location westus2 --name <resource-group>
توزيع نظام مجموعة عام
نشر مجموعة AKS عامة مع تكامل API Server VNet للشبكة الظاهرية المدارة
az aks create
باستخدام الأمر مع العلامة--enable-api-server-vnet-integration
.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
توزيع نظام مجموعة خاص
انشر مجموعة AKS خاصة مع تكامل API Server VNet للشبكة الظاهرية المدارة
az aks create
باستخدام الأمر مع--enable-api-server-vnet-integration
علامات و--enable-private-cluster
.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
إنشاء مجموعة AKS خاصة مع API Server VNet Integration باستخدام إحضار VNet الخاصة بك
عند استخدام إحضار الشبكة الظاهرية الخاصة بك، يجب إنشاء وتفويض شبكة فرعية لخادم API إلى Microsoft.ContainerService/managedClusters
، والتي تمنح أذونات خدمة AKS لإدخال حاويات خادم API وموازن التحميل الداخلي في تلك الشبكة الفرعية. لا يمكنك استخدام الشبكة الفرعية لأي أحمال عمل أخرى، ولكن يمكنك استخدامها لمجموعات AKS متعددة موجودة في نفس الشبكة الظاهرية. الحد الأدنى لحجم الشبكة الفرعية لخادم API المدعوم هو /28.
تحتاج هوية نظام المجموعة إلى أذونات لكل من الشبكة الفرعية لخادم API والشبكة الفرعية للعقدة. يمكن أن يؤدي عدم وجود أذونات في الشبكة الفرعية لخادم API إلى فشل التزويد.
تحذير
تحتفظ مجموعة AKS ب 9 عناوين IP على الأقل في مساحة عنوان الشبكة الفرعية. قد يمنع نفاد عناوين IP تحجيم خادم API ويتسبب في انقطاع خادم API.
إنشاء مجموعة موارد
- إنشاء مجموعة موارد باستخدام
az group create
الأمر .
az group create --location <location> --name <resource-group>
إنشاء شبكة ظاهرية
إنشاء شبكة ظاهرية
az network vnet create
باستخدام الأمر .az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16
إنشاء شبكة فرعية لخادم API باستخدام
az network vnet subnet create
الأمر .az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28
إنشاء شبكة فرعية
az network vnet subnet create
لنظام المجموعة باستخدام الأمر .az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
إنشاء هوية مدارة ومنحها أذونات على الشبكة الظاهرية
إنشاء هوية مدارة
az identity create
باستخدام الأمر .az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>
تعيين دور مساهم الشبكة إلى الشبكة الفرعية لخادم API باستخدام
az role assignment create
الأمر .az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
تعيين دور مساهم الشبكة إلى الشبكة الفرعية لنظام المجموعة باستخدام
az role assignment create
الأمر .az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
توزيع نظام مجموعة عام
نشر مجموعة AKS عامة مع تكامل API Server VNet باستخدام
az aks create
الأمر مع العلامة--enable-api-server-vnet-integration
.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
توزيع نظام مجموعة خاص
نشر مجموعة AKS خاصة مع تكامل API Server VNet باستخدام
az aks create
الأمر مع--enable-api-server-vnet-integration
علامات و--enable-private-cluster
.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
تحويل نظام مجموعة AKS موجود إلى API Server VNet Integration
يمكنك تحويل مجموعات AKS العامة/الخاصة الحالية إلى مجموعات تكامل API Server VNet عن طريق توفير شبكة فرعية لخادم API تفي بالمتطلبات المذكورة سابقا. تتضمن هذه المتطلبات: في نفس VNet مثل عقد نظام المجموعة، الأذونات الممنوحة لهوية نظام مجموعة AKS، غير المستخدمة من قبل موارد أخرى مثل نقطة النهاية الخاصة، وحجم /28 على الأقل. تحويل نظام المجموعة الخاص بك هو ترحيل أحادي الاتجاه. لا يمكن تعطيل تكامل الشبكة الظاهرية لخادم API Server بعد تمكينه.
تقوم هذه الترقية بإجراء ترقية إصدار صورة العقدة على جميع تجمعات العقد وإعادة تشغيل جميع أحمال العمل أثناء خضوعها لترقية صورة متجددة.
تحذير
يؤدي تحويل نظام مجموعة إلى تكامل API Server VNet إلى تغيير عنوان IP لخادم API، على الرغم من أن اسم المضيف يظل كما هو. إذا تم تكوين عنوان IP لخادم API في أي جدران حماية أو قواعد مجموعة أمان الشبكة، فقد تحتاج هذه القواعد إلى تحديث.
تحديث نظام المجموعة إلى API Server VNet Integration باستخدام
az aks update
الأمر مع العلامة--enable-apiserver-vnet-integration
.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>
تمكين أو تعطيل وضع نظام المجموعة الخاص على نظام مجموعة موجود مع API Server VNet Integration
يمكن أن يكون لدى أنظمة مجموعات AKS التي تم تكوينها باستخدام API Server VNet Integration إمكانية الوصول إلى الشبكة العامة/وضع نظام المجموعة الخاص ممكن أو معطل دون إعادة توزيع نظام المجموعة. لا يتغير اسم مضيف خادم API، ولكن يتم تعديل إدخالات DNS العامة أو إزالتها إذا لزم الأمر.
إشعار
--disable-private-cluster
قيد المعاينة حاليًا. لمزيد من المعلومات، راجع مستويات المرجع والدعم.
تمكين وضع نظام المجموعة الخاص
تمكين وضع نظام المجموعة الخاص باستخدام
az aks update
الأمر مع العلامة--enable-private-cluster
.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-private-cluster
تعطيل وضع نظام المجموعة الخاص
تعطيل وضع نظام المجموعة الخاص باستخدام
az aks update
الأمر مع العلامة--disable-private-cluster
.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --disable-private-cluster
الاتصال بالمجموعة باستخدام kubectl
قم بتكوين
kubectl
للاتصال بالمجموعة باستخدامaz aks get-credentials
الأمر .az aks get-credentials --resource-group <resource-group> --name <cluster-name>
الخطوات التالية
للاطلاع على أفضل الممارسات ذات الصلة، راجع أفضل ممارسات الاتصال بالشبكة والأمان في AKS.
Azure Kubernetes Service