تخطيط عنوان IP لمجموعات Azure Kubernetes Service (AKS)

توفر هذه المقالة إرشادات حول تخطيط عنوان IP لمجموعات Azure Kubernetes Service (AKS).

للحصول على إرشادات محددة حول تخطيط عنوان IP لخيارات CNI الفردية، راجع قسم الخطوات التالية للحصول على ارتباطات إلى وثائق المكون الإضافي.

تغيير حجم الشبكة الفرعية

يجب أن تكون الشبكة الفرعية ل Azure VNet كبيرة بما يكفي لاستيعاب مجموعتك، وهذا يعتمد على ما إذا كنت تستخدم شبكة تراكب أو شبكة مسطحة.

تراكب الشبكات

مع شبكات التراكب، مثل تراكب Azure CNI، يجب أن تكون شبكتك الفرعية كبيرة بما يكفي لتعيين عناوين IP للعقد الخاصة بك. يتم تعيين عناوين IP لوحدات الجراب من نطاق CIDR منفصل خاص ولن تتطلب عناوين IP للشبكة الظاهرية. يمكن أن تكون الشبكة الفرعية للشبكة الظاهرية التي تستخدمها لنظام المجموعة أصغر من الشبكات المسطحة.

من المهم التأكد من تخصيص مساحة كافية في نطاق CIDR الخاص بك لوحدات الجراب الخاصة بك لحساب التحجيم. عند التخطيط لأحجام نطاق عناوين IP، يجب حساب الحد الأقصى لعدد الجرابات. يتم تعيين شبكة فرعية لكل عقدة في نظام المجموعة الخاص بك /24 (256 عنوان IP) للقرون. يجب عليك تخطيط الشبكة الفرعية للشبكة التراكبية لاستيعاب الحد الأقصى لعدد العقد التي تتوقع تشغيلها.

شبكات مسطحة

تتطلب الشبكات المسطحة، مثل الشبكة الفرعية ل Azure CNI Pod، شبكة فرعية كبيرة بما يكفي لاستيعاب كل من العقد والقرون . نظرا لأن العقد والقرون تتلقى عناوين IP من الشبكة الظاهرية الخاصة بك، فأنت بحاجة إلى التخطيط للحد الأقصى لعدد العقد والقرون التي تتوقع تشغيلها. تستخدم الشبكة الفرعية ل Azure CNI Pod شبكة فرعية للعقد الخاصة بك وشبكة فرعية منفصلة لوحدات الجراب الخاصة بك، لذلك تحتاج إلى التخطيط لكليهما.

تغيير حجم عنوان IP

اعتبارات الترقية والتحجيم

عند تخطيط عنوان IP لمجموعة AKS الخاصة بك، يجب مراعاة عدد عناوين IP المطلوبة لعمليات الترقية والتحجيم. إذا قمت بتعيين نطاق عنوان IP لدعم عدد ثابت فقط من العقد، فلن تتمكن من ترقية نظام المجموعة أو توسيع نطاقه.

عند ترقية نظام مجموعة AKS، يتم نشر عقدة جديدة في نظام المجموعة. بدء تشغيل الخدمات وأحمال العمل على العقدة الجديدة ثم تتم إزالة عقدة أقدم من نظام المجموعة. تتطلب عملية الترقية المتداولة هذه توفر نظام مجموعة إضافي واحد على الأقل من عناوين IP. عدد العقد الخاصة بك هو ثم n + 1 حيث n هو عدد العقد في نظام المجموعة الخاص بك.

عند تغيير حجم نظام مجموعة AKS، يتم نشر عقدة جديدة في نظام المجموعة. تبدأ الخدمات وأحمال العمل في العمل على العقدة الجديدة. يجب أن يأخذ نطاق عناوين IP الخاص بك في الاعتبار كيف تريد زيادة عدد العقد والقرون التي يمكن أن تدعمها مجموعتك. يجب أيضاً تضمين عقدة إضافية واحدة لعمليات الترقية. عدد العقد هو n + number-of-additional-scaled-nodes-you-anticipate + max surge.

إذا كنت تستخدم الشبكة الفرعية ل Azure CNI Pod وكنت تتوقع أن تقوم العقد بتشغيل الحد الأقصى لعدد pods وقمت بتدمير القرون ونشرها بانتظام، يجب عليك أيضا أخذ عناوين IP إضافية في الاعتبار لكل عقدة. يمكن أن يكون هناك زمن انتقال بضع ثوان مطلوب لحذف خدمة وإصدار عنوان IP الخاص بها لخدمة جديدة ليتم نشرها والحصول على العنوان. حساب عناوين IP الإضافية لهذه الإمكانية.

تتكون خطة عنوان IP لمجموعة AKS من شبكة ظاهرية، وشبكة فرعية واحدة على الأقل للعقد ووحدات الجراب، ونطاق عنوان خدمة Kubernetes.

مورد Azure نطاق العنوان الحدود والتحجيم
الشبكة الافتراضية في Azure الحد الأقصى للحجم /8. 65536 حد عنوان IP المكون. راجع Azure CNI Pod Subnet Static Block Allocation للاستثناء يمكن أن تتسبب مسافات العناوين المتراكبة داخل شبكتك في حدوث مشكلات.
الشبكة الفرعية يجب أن تكون كبيرة بما يكفي لاستيعاب العقد والقرون وجميع موارد Kubernetes وAzure في مجموعتك. على سبيل المثال، إذا قمت بنشر موازن تحميل Azure داخلي، يتم تخصيص عناوين IP الأمامية الخاصة به من الشبكة الفرعية للمجموعة، وليس عناوين IP العامة. يجب أن يمثل حجم الشبكة الفرعية أيضا عمليات الترقية واحتياجات التحجيم المستقبلية.

استخدم المعادلة التالية لحساب الحد الأدنى لحجم الشبكة الفرعية، بما في ذلك عقدة إضافية لعمليات الترقية: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

مثال لمجموعة مكونة من 50 عقدة: (51) + (51 * 30 (default)) = 1,581 (/21 أو أكبر)

مثال لمجموعة مكونة من 50 عقدة، مع التحضير لتوسيع نطاق 10 عقد إضافية: (61) + (61 * 30 (default)) = 1,891 (/21 أو أكبر)

إذا لم تحدد الحد الأقصى لعدد وحدات الجراب لكل عقدة عند إنشاء نظام المجموعة، يتم تعيين الحد الأقصى لعدد الجرابات لكل عقدة إلى 30. يستند الحد الأدنى لعدد عناوين IP المطلوبة إلى تلك القيمة. إذا قمت بحساب الحد الأدنى لمتطلبات عنوان IP الخاص بك على قيمة قصوى مختلفة، فشاهد الحد الأقصى للقرون لكل عقدة لتعيين هذه القيمة عند نشر نظام المجموعة الخاص بك.

نطاق عناوين خدمة Kubernetes يجب ألا يستخدم أي عنصر شبكة اتصال موجود على هذه الشبكة الظاهرية أو متصل بها هذا النطاق. يجب أن يكون عنوان الخدمة CIDR أصغر من /12. يمكنك إعادة استخدام هذا النطاق عبر أنظمة مجموعات AKS المختلفة.
عنوان IP لخدمة Kubernetes DNS عنوان IP داخل نطاق عنوان خدمة Kubernetes المستخدم من قبل اكتشاف خدمة نظام المجموعة. لا تستخدم عنوان IP الأول في نطاق العناوين. يتم استخدام العنوان الأول في نطاق الشبكة الفرعية للعنوان kubernetes.default.svc.cluster.local.

الحد الأقصى لوحدات الجراب لكل عقدة

الحد الأقصى لعدد وحدات الجراب لكل عقدة في نظام مجموعة AKS هو 250. يختلف الحد الأقصى الافتراضي لعدد وحدات الجراب لكل عقدة بين شبكة اتصال kubenet و Azure CNI وطريقة نشر نظام المجموعة.

CNI الحد الأقصى الافتراضي للقرون قابل للتكوين عند النشر
تراكب Azure CNI 250 نعم (حتى 250)
الشبكة الفرعية ل Azure CNI Pod 110 نعم (حتى 250)
Azure CNI (قديم) 30 نعم (حتى 250)
Kubenet 110 نعم (حتى 250)

تكوين الحد الأقصى لوحدات الجراب لكل عقدة للمجموعات الخاصة بك

يمكنك تكوين الحد الأقصى لعدد وحدات الجراب لكل عقدة إما في وقت نشر نظام المجموعة أو أثناء إضافة تجمعات عقد جديدة. يمكنك تعيين الحد الأقصى للقرون لكل قيمة عقدة تصل إلى 250.

يتم فرض قيمة الحد الأدنى لأقصى عدد من وحدات الجراب لكل عقدة لضمان وجود مساحة لوحدات جراب النظام للتحقق من صحة نظام المجموعة. الحد الأدنى للقيمة التي يمكن تعيينها لأقصى عدد من وحدات الجراب لكل عقدة هو 10 إذا كان تكوين كل تجمع عقدة لديه مساحة لمدة لا تقل عن 30 وحدة جراب. على سبيل المثال، يتطلب تعيين الحد الأقصى للقرون لكل عقدة إلى الحد الأدنى 10 لكل تجمع عقدة فردية أن يكون له ثلاث عقد كحد أدنى. ينطبق هذا المطلب على كل تجمع عقدة جديد تم إنشاؤه أيضا، لذلك إذا تم تعريف 10 كأقصى وحدات الجراب لكل عقدة يجب أن يكون لكل تجمع عقدة لاحق تمت إضافته ثلاث عقد على الأقل.

الشبكات الحد الأدنى الحد الأقصى
Azure CNI 10 250
Kubenet 10 250

إشعار

يتم فرض الحد الأدنى للقيمة في الجدول السابق بدقة بواسطة خدمة AKS. لا يمكنك تعيين قيمة ل maxPods أقل من الحد الأدنى الموضح، لأن القيام بذلك يمكن أن يمنع المجموعة من البدء.

مجموعات جديدة

يمكنك تحديد الحد الأقصى لوحدات الجراب لكل عقدة عند إنشاء نظام مجموعة جديد باستخدام إحدى الطرق التالية:

  • Azure CLI: حدد الوسيطة --max-pods عند نشر نظام مجموعة باستخدام az aks create الأمر .
  • قالب Azure Resource Manager: حدد الخاصية maxPods في كائن [ManagedClusterAgentPoolProfile] عند نشر نظام مجموعة باستخدام قالب Azure Resource Manager.
  • مدخل Microsoft Azure: قم بتغيير Max pods per node الحقل في إعدادات تجمع العقدة عند إنشاء مجموعة أو إضافة تجمع عقدة جديد.

المجموعات الموجودة

يمكنك تحديد الحد الأقصى للقرون لكل عقدة عند إنشاء تجمع عقدة جديد. إذا كنت بحاجة إلى زيادة إعداد maxPods على مجموعة موجودة، أضف تجمع عقدة جديد مع عدد maxPods المطلوب الجديد. بعد ترحيل pods الخاصة بك إلى التجمع الجديد، احذف التجمع الأقدم للعقدة.

الخطوات التالية