موضع المورد في Azure Operator Nexus Kubernetes

يتم نشر مثيلات Operator Nexus في أماكن عمل العميل. يتكون كل مثيل من حامل واحد أو أكثر من خوادم بلا نظام تشغيل.

عندما يقوم المستخدم بإنشاء مجموعة Nexus Kubernetes (NKS)، فإنهم يحددون عددا ووحدة حفظ مخزون (SKU) للأجهزة الظاهرية (VM) التي تشكل وحدة تحكم Kubernetes وتجمع عامل واحد أو أكثر. تجمعات الوكلاء هي مجموعة عقد العامل التي تعمل عليها وظائف الشبكة الحاوية للعميل.

منصة Nexus هي المسؤولة عن تحديد الخادم المعدني الذي يتم تشغيل كل جهاز ظاهري NKS عليه.

كيف يقوم النظام الأساسي Nexus بجدولة جهاز ظاهري لنظام مجموعة Nexus Kubernetes

تحدد Nexus أولا مجموعة الخوادم المعدنية المجردة المحتملة التي تلبي جميع متطلبات الموارد ل NKS VM SKU. على سبيل المثال، إذا حدد NC_G48_224_v1 المستخدم وحدة SKU للجهاز الظاهري لتجمع عوامله، فإن Nexus تجمع الخوادم المعدنية المجردة التي لديها سعة متاحة ل 48 وحدة معالجة مركزية افتراضية، و224 غيغا من ذاكرة الوصول العشوائي، وما إلى ذلك.

ثم يفحص AvailabilityZones Nexus الحقل الخاص بتجمع الوكلاء أو وحدة التحكم التي تتم جدولتها. إذا لم يكن هذا الحقل فارغا، تقوم Nexus بتصفية قائمة الخوادم المعدنية المجردة المحتملة لتلك الخوادم فقط في مناطق التوفر المحددة (الرفوف). هذا السلوك هو قيد جدولة صعبة. إذا لم تكن هناك خوادم بلا نظام تشغيل في القائمة التي تمت تصفيتها، فلن تقوم Nexus بجدولة الجهاز الظاهري ل NKS ويفشل نظام المجموعة في التوفير.

بمجرد أن يحدد Nexus قائمة بالخوادم المعدنية المجردة المحتملة التي يجب وضع الجهاز الظاهري NKS عليها، يختار Nexus بعد ذلك أحد خوادم المعادن المجردة بعد تطبيق قواعد الفرز التالية:

  1. تفضل الخوادم المعدنية المجردة في مناطق التوفر (الرفوف) التي لا تحتوي على NKS VMs من نظام مجموعة NKS هذا. بمعنى آخر، انشر أجهزة NKS الظاهرية لنظام مجموعة NKS عبر مناطق التوفر.

  2. تفضل خوادم بلا نظام تشغيل داخل منطقة توفر واحدة (حامل) لا تحتوي على أجهزة NKS ظاهرية أخرى من نفس نظام مجموعة NKS. بمعنى آخر، انشر أجهزة NKS الظاهرية لنظام مجموعة NKS عبر خوادم معدنية بلا نظام تشغيل داخل منطقة توفر.

  3. إذا كان NKS VM SKU إما NC_G48_224_v1 أو NC_P46_224_v1، يفضل الخوادم المعدنية المجردة التي تضم NC_G48_224_v1 بالفعل أو NC_P46_224_v1 أجهزة NKS الظاهرية من مجموعات NKS الأخرى. بمعنى آخر، قم بتجميع الأجهزة الظاهرية الكبيرة الإضافية من مجموعات NKS مختلفة على نفس الخوادم المعدنية المجردة. هذه القاعدة "حزم سلة" الأجهزة الظاهرية كبيرة جدا من أجل تقليل تجزئة موارد الحوسبة المتاحة.

مثال على سيناريوهات الموضع

تسلط الأقسام التالية الضوء على السلوك الذي يجب أن يتوقعه مستخدمو Nexus عند إنشاء مجموعات NKS مقابل بيئة Operator Nexus.

تلميح: يمكنك معرفة الخادم المعدني المجرد الذي تمت جدولة أجهزة NKS الظاهرية إليه عن طريق فحص nodes.bareMetalMachineId خاصية مورد NKS KubernetesCluster أو عرض عمود "المضيف" في عرض مدخل Azure لعقد نظام مجموعة Kubernetes.

لقطة شاشة تعرض خادما بلا نظام تشغيل لأجهزة NKS الظاهرية.

يحتوي مثال بيئة Operator Nexus على هذه المواصفات:

  • ثمانية رفوف من 16 خادما بلا نظام تشغيل
  • يحتوي كل خادم بلا نظام تشغيل على خليتين غير موحدتين للوصول إلى الذاكرة (NUMA)
  • توفر كل خلية NUMA 48 وحدة معالجة مركزية وذاكرة وصول عشوائي 224 غيغي

بيئة فارغة

نظرا لبيئة Operator Nexus الفارغة ذات السعة المحددة، نقوم بإنشاء ثلاث مجموعات Nexus Kubernetes بحجم مختلف.

تحتوي أنظمة مجموعات NKS على هذه المواصفات، ونفترض لأغراض هذا التمرين أن المستخدم ينشئ أنظمة المجموعات الثلاثة بالترتيب التالي:

نظام المجموعة أ

  • وحدة التحكم، NC_G12_56_v1 SKU، ثلاثة أعداد
  • تجمع العامل رقم 1، NC_P46_224_v1 SKU، 24 عدد
  • تجمع الوكلاء رقم 2، NC_G6_28_v1 SKU، ستة أعداد

نظام المجموعة ب

  • وحدة التحكم، NC_G24_112_v1 SKU، خمسة أعداد
  • تجمع العامل رقم 1، NC_P46_224_v1 SKU، عدد 48
  • تجمع العامل رقم 2، NC_P22_112_v1 SKU، 24 عدد

نظام المجموعة C

  • وحدة التحكم، NC_G12_56_v1 SKU، ثلاثة أعداد
  • تجمع العامل رقم 1، NC_P46_224_v1 SKU، 12 عدد، AvailabilityZones = [1,4]

فيما يلي جدول يلخص ما يجب أن يراه المستخدم بعد تشغيل أنظمة المجموعات A وB وC على بيئة Operator Nexus فارغة.

نظام المجموعة المجموعة وحدة حفظ المخزون SKU العدد الإجمالي المتوقع # الرفوف الفعلية # الرفوف عدد الأجهزة الظاهرية المتوقعة لكل حامل عدد الأجهزة الظاهرية الفعلية لكل حامل
ش وحدة التحكم NC_G12_56_v1 3 3 3 1 1
ش تجمع العامل رقم 1 NC_P46_224_v1 24 8 8 3 3
ش تجمع الوكلاء رقم 2 NC_G6_28_v1 6 6 6 1 1
مضمن وحدة التحكم NC_G24_112_v1 5 5 5 1 1
مضمن تجمع العامل رقم 1 NC_P46_224_v1 48 8 8 6 6
مضمن تجمع الوكلاء رقم 2 NC_P22_112_v1 24 8 8 3 3
C وحدة التحكم NC_G12_56_v1 3 3 3 1 1
C تجمع العامل رقم 1 NC_P46_224_v1 12 2 2 6 6

هناك ثمانية رفوف بحيث تنتشر الأجهزة الظاهرية لكل تجمع على ما يصل إلى ثمانية رفوف. تتطلب التجمعات التي بها أكثر من ثمانية أجهزة ظاهرية أجهزة ظاهرية متعددة لكل حامل منتشرة عبر خوادم معدنية مختلفة.

يحتوي Cluster C Agent Pool #1 على 12 جهازا ظاهريا مقيدا ب AvailabilityZones [1، 4] لذلك يحتوي على 12 جهازا ظاهريا على 12 خادما بلا نظام تشغيل، ستة في كل من الرفوف 1 و4.

يتم وضع أجهزة ظاهرية كبيرة جدا ( NC_P46_224_v1 SKU) من مجموعات مختلفة على نفس الخوادم المعدنية المجردة (راجع القاعدة رقم 3 في كيفية جدولة النظام الأساسي ل Nexus للأجهزة الظاهرية لنظام مجموعة Nexus Kubernetes).

فيما يلي تصور لتخطيط قد يراه المستخدم بعد نشر المجموعات A وB وC في بيئة فارغة.

رسم تخطيطي يوضح التخطيط المحتمل للأجهزة الظاهرية بعد التوزيع الأول.

بيئة نصف كاملة

نقوم الآن بتشغيل مثال على تشغيل مجموعة NKS أخرى عندما تكون البيئة المستهدفة نصف ممتلئة. تكون البيئة المستهدفة نصف ممتلئة بعد توزيع المجموعات A وB وC في البيئة المستهدفة.

يحتوي نظام المجموعة D على المواصفات التالية:

  • وحدة التحكم، NC_G24_112_v1 SKU، خمسة أعداد
  • تجمع العامل رقم 1، NC_P46_224_v1 SKU، 24 عدد، AvailabilityZones = [7,8]
  • تجمع العامل رقم 2، NC_P22_112_v1 SKU، 24 عدد

فيما يلي جدول يلخص ما يجب أن يراه المستخدم بعد تشغيل Cluster D في بيئة Operator Nexus نصف الكاملة الموجودة بعد تشغيل أنظمة المجموعات A وB وC.

نظام المجموعة المجموعة وحدة حفظ المخزون SKU العدد الإجمالي المتوقع # الرفوف الفعلية # الرفوف عدد الأجهزة الظاهرية المتوقعة لكل حامل عدد الأجهزة الظاهرية الفعلية لكل حامل
D وحدة التحكم NC_G12_56_v1 5 5 5 1 1
D تجمع العامل رقم 1 NC_P46_224_v1 24 2 2 12 12
D تجمع الوكلاء رقم 2 NC_P22_112_v1 24 8 8 3 3

يحتوي Cluster D Agent Pool #1 على 12 جهازا ظاهريا مقيدا ب AvailabilityZones [7، 8] لذلك يحتوي على 12 جهازا ظاهريا على 12 خادما بلا نظام تشغيل، ستة في كل من الرفوف 7 و8. وتهبط تلك الأجهزة الظاهرية على خوادم بلا نظام تشغيل، كما تحتوي على أجهزة ظاهرية كبيرة جدا من مجموعات أخرى بسبب قاعدة الفرز التي تجمع أجهزة ظاهرية كبيرة جدا من مجموعات مختلفة على نفس الخوادم المعدنية المجردة.

إذا كان جهاز ظاهري لمستوى تحكم نظام المجموعة D يهبط على الحامل 7 أو 8، فمن المحتمل أن يهبط تجمع وكيل نظام المجموعة D رقم 1 على نفس الخادم المعدني المجرد مثل جهاز تحكم نظام المجموعة D هذا. يرجع هذا السلوك إلى "تثبيت" تجمع العامل رقم 1 على الحاملين 7 و8. تتسبب قيود السعة في تلك الرفوف في أن يقوم المجدول بتجميع جهاز ظاهري لوحدة تحكم وتجمع عامل #1 VM من نفس نظام مجموعة NKS.

يحتوي Cluster D's Agent Pool #2 على ثلاثة أجهزة ظاهرية على خوادم معدنية مختلفة على كل من الرفوف الثمانية. نتجت قيود السعة عن تثبيت Cluster D's Agent Pool #1 على الحاملين 7 و8. لذلك، يتم تجميع الأجهزة الظاهرية من Cluster D's Agent Pool #1 و Agent Pool #2 على نفس الخوادم المعدنية المجردة في الحاملين 7 و8.

فيما يلي تصور لتخطيط قد يراه المستخدم بعد نشر نظام المجموعة D في البيئة المستهدفة.

رسم تخطيطي يوضح التخطيط المحتمل للأجهزة الظاهرية بعد التوزيع الثاني.

بيئة كاملة تقريبا

في بيئة هدفنا المثال، أربعة من الرفوف الثمانية قريبة من السعة. دعونا نحاول تشغيل نظام مجموعة NKS آخر.

يحتوي نظام المجموعة E على المواصفات التالية:

  • وحدة التحكم، NC_G24_112_v1 SKU، خمسة أعداد
  • تجمع العامل رقم 1، NC_P46_224_v1 SKU، 32 عدد

فيما يلي جدول يلخص ما يجب أن يراه المستخدم بعد بدء تشغيل نظام المجموعة E في البيئة المستهدفة.

نظام المجموعة المجموعة وحدة حفظ المخزون SKU العدد الإجمالي المتوقع # الرفوف الفعلية # الرفوف عدد الأجهزة الظاهرية المتوقعة لكل حامل عدد الأجهزة الظاهرية الفعلية لكل حامل
E وحدة التحكم NC_G24_112_v1 5 5 5 1 1
E تجمع العامل رقم 1 NC_P46_224_v1 32 8 8 4 3 أو 4 أو 5

سينتشر Cluster E's Agent Pool #1 بشكل غير متساو على جميع الرفوف الثمانية. سيكون لدى الحاملين 7 و8 ثلاثة أجهزة ظاهرية ل NKS من تجمع العامل رقم 1 بدلا من أجهزة NKS الظاهرية الأربعة المتوقعة لأنه لا توجد سعة إضافية لأجهزة SKU الظاهرية الكبيرة الإضافية في تلك الرفوف بعد جدولة المجموعات من A إلى D. نظرا لأن الحاملين 7 و8 ليس لديهما سعة ل SKU الرابع الإضافي الكبير في تجمع العامل رقم 1، ستهبط خمسة أجهزة ظاهرية ل NKS على الرفين الأقل استخداما. في مثالنا، كانت هذه الرفوف الأقل استخداما هي الرفوف 3 و6.

فيما يلي تصور لتخطيط قد يراه المستخدم بعد نشر نظام المجموعة E في البيئة المستهدفة.

رسم تخطيطي يوضح التخطيط المحتمل للأجهزة الظاهرية بعد النشر الثالث.

الموضع أثناء ترقية وقت التشغيل

اعتبارا من أبريل 2024 (إصدار Network Cloud 2304.1)، يتم إجراء ترقيات وقت التشغيل باستخدام استراتيجية الحامل بالرف. يتم إعادة تصور الخوادم المعدنية المجردة في الحامل 1 في وقت واحد. تتوقف عملية الترقية مؤقتا حتى تتم إعادة تشغيل جميع الخوادم المعدنية المجردة بنجاح وتخبر Nexus أنها جاهزة لتلقي أحمال العمل.

إشعار

من الممكن توجيه Operator Nexus لإعادة تعيين جزء فقط من الخوادم المعدنية المجردة في رف في وقت واحد، ولكن الافتراضي هو إعادة تعيين جميع الخوادم المعدنية المجردة في رف بالتوازي.

عند إعادة تصور خادم فردي بلا نظام تشغيل، تفقد جميع أحمال العمل التي تعمل على هذا الخادم المعدني المجرد، بما في ذلك جميع أجهزة NKS الظاهرية، الطاقة والاتصال. ستفقد حاويات حمل العمل التي تعمل على أجهزة NKS الظاهرية، بدورها، الطاقة والاتصال. بعد دقيقة واحدة من عدم القدرة على الوصول إلى حاويات حمل العمل هذه، ستميز وحدة التحكم Kubernetes الخاصة بنظام مجموعة NKS وحدات الجراب المقابلة على أنها غير صحية. إذا كانت Pods أعضاء في Deployment أو StatefulSet، تحاول وحدة تحكم Kubernetes الخاصة بنظام مجموعة NKS تشغيل وحدات الجراب البديلة لإعادة عدد النسخ المتماثلة التي تمت ملاحظتها من Deployment أو StatefulSet إلى عدد النسخ المتماثلة المطلوبة.

يتم تشغيل Pods الجديدة فقط إذا كانت هناك سعة متاحة للجراب في الأجهزة الظاهرية NKS السليمة المتبقية. اعتبارا من أبريل 2024 (إصدار Network Cloud 2304.1)، لم يتم إنشاء أجهزة NKS الظاهرية الجديدة لاستبدال NKS VMs التي كانت على الخادم المعدني المجرد الذي يتم إعادة تصوره.

بمجرد إعادة تصور الخادم المعدني المجرد بنجاح والقدرة على قبول أجهزة NKS الظاهرية الجديدة، تعيد أجهزة NKS الظاهرية التي كانت في الأصل على نفس الخادم المعدني المجرد تشغيل على خادم المعادن المعاد تصوره حديثا. يمكن بعد ذلك جدولة حاويات حمل العمل إلى تلك الأجهزة الظاهرية ل NKS، مما قد يؤدي إلى استعادة عمليات التوزيع أو StatefulSets التي تحتوي على Pods على أجهزة NKS الظاهرية التي كانت على الخادم المعدني المجرد.

إشعار

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

أفضل الممارسات

عند العمل مع Operator Nexus، ضع أفضل الممارسات التالية في الاعتبار.

  • تجنب تحديد AvailabilityZones تجمع عامل.
  • قم بتشغيل مجموعات NKS أكبر قبل المجموعات الأصغر.
  • تقليل عدد تجمع الوكلاء قبل تقليل حجم وحدة SKU للجهاز الظاهري.

تجنب تحديد AvailabilityZones لتجمع عامل

كما يمكنك معرفة من سيناريوهات الموضع أعلاه، فإن تحديد AvailabilityZones تجمع عامل هو السبب الأساسي في أن الأجهزة الظاهرية ل NKS من نفس نظام مجموعة NKS ستنتهي على نفس الخادم المعدني. AvailabilityZonesبتحديد ، يمكنك "تثبيت" تجمع الوكلاء بمجموعة فرعية من الرفوف وبالتالي الحد من عدد الخوادم المعدنية المجردة المحتملة في مجموعة الرفوف لمجموعة NKS الأخرى والأجهزة الظاهرية الأخرى لتجمع الوكلاء في نفس مجموعة NKS للهبوط عليها.

لذلك، فإن أفضل ممارساتنا الأولى هي تجنب تحديد AvailabilityZones تجمع الوكلاء. إذا كنت تحتاج إلى تثبيت تجمع عامل إلى مجموعة من مناطق التوفر، فقم بجعل هذه المجموعة كبيرة قدر الإمكان لتقليل عدم التوازن الذي يمكن أن يحدث.

الاستثناء الوحيد لهذه الممارسة الأفضل هو عندما يكون لديك سيناريو مع جهازين أو ثلاثة أجهزة ظاهرية فقط في تجمع عامل. قد تفكر في إعداد AvailabilityZones تجمع العامل هذا إلى [1,3,5,7] أو [0,2,4,6] لزيادة التوفر أثناء ترقيات وقت التشغيل.

تشغيل مجموعات NKS أكبر قبل المجموعات الأصغر

اعتبارا من أبريل 2024، وإصدار Network Cloud 2403.1، تتم جدولة مجموعات NKS بالترتيب الذي تم إنشاؤها به. لحزم البيئة المستهدفة بكفاءة أكبر، نوصي بإنشاء مجموعات NKS أكبر قبل المجموعات الأصغر. وبالمثل، نوصي بجدولة تجمعات عامل أكبر قبل التجمعات الأصغر.

هذه التوصية مهمة لتجمعات الوكلاء باستخدام وحدة SKU أو NC_P46_224_v1 كبيرة NC_G48_224_v1 جدا. تؤدي جدولة تجمعات الوكلاء مع أكبر عدد من هذه الأجهزة الظاهرية SKU كبيرة الحجم إلى إنشاء مجموعة أكبر من الخوادم المعدنية المجردة التي يمكن على أساسها تجميع أجهزة SKU الظاهرية الأخرى الكبيرة الأخرى من تجمعات الوكلاء في مجموعات NKS الأخرى.

تقليل عدد تجمع الوكلاء قبل تقليل حجم وحدة حفظ المخزون للجهاز الظاهري

إذا واجهت قيود السعة عند تشغيل مجموعة NKS أو تجمع عامل، فقم بتقليل عدد تجمع الوكلاء قبل ضبط حجم وحدة حفظ المخزون للجهاز الظاهري. على سبيل المثال، إذا حاولت إنشاء نظام مجموعة NKS مع تجمع عامل بحجم VM SKU NC_P46_224_v1 و عدد 24 وقمت بالرجوع إلى فشل توفير نظام مجموعة NKS بسبب عدم كفاية الموارد، فقد تميل إلى استخدام حجم NC_P36_168_v1 وحدة SKU للجهاز الظاهري ومتابعة عدد 24. ومع ذلك، نظرا لمتطلبات محاذاة الأجهزة الظاهرية لحمل العمل مع خلية NUMA واحدة على خادم بلا نظام تشغيل، فمن المحتمل أن يؤدي نفس الطلب إلى فشل موارد غير كاف مماثل. بدلا من تقليل حجم VM SKU، ضع في اعتبارك تقليل عدد تجمع العوامل إلى 20. هناك فرصة أفضل لاحتواء طلبك ضمن سعة موارد البيئة المستهدفة ونشرك العام يحتوي على ذاكرة أساسية لوحدة المعالجة المركزية أكثر مما لو خفضت حجم وحدة SKU للجهاز الظاهري.