تكوين عدة عقد وتمكين مقياس إلى الصفر باستخدام AKS

مكتمل

تتيح لك خدمة Azure Kubernetes إنشاء مجموعات عقد مختلفة لمطابقة أحمال عمل محددة بالعقد التي تعمل في كل مجموعة عقد. تتيح لك عملية مطابقة أحمال العمل مع العقد التخطيط لحساب الاستهلاك وتحسين التكلفة.

يتم نشر حل تتبع الطائرات الآلية لشركتك على خدمة Azure Kubernetes (AKS) مثل العديد من التطبيقات والخدمات المخزنة. طور فريقك خدمة نمذجة تنبئية جديدة تعالج معلومات مسار الرحلة في ظروف الطقس القاسية وتخلق مسارات طيران مثالية. تتطلب هذه الخدمة دعم الجهاز الظاهري (VM) المستند إلى وحدة معالجة الرسومات وتعمل فقط في أيام محددة خلال الأسبوع.

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

لنلق نظرة على كيفية استخدام تجمعات العقد وكيفية استخدام AKS للعقد، ثم كيفية قياس عدد العقد في تجمع عقدة.

ما هو تجمع العقدة؟

يصف تجمع العقدة مجموعة من العقد بنفس التكوين في مجموعة AKS. تحتوي هذه العقد على الأجهزة الظاهرية الأساسية التي تقوم بتشغيل تطبيقاتك. يمكنك إنشاء نوعين من تجمعات العقد على مجموعة Kubernetes المُدارة بواسطة AKS:

  • تجمعات عقدة النظام

  • تجمعات عقدة المستخدم

تجمعات عقدة النظام

تستضيف تجمعات عقدة النظام قرون النظام الهامة التي تشكل مستوى التحكم في نظام المجموعة. يسمح تجمع عقدة النظام باستخدام Linux فقط كنظام تشغيل العقدة وتشغيل أحمال العمل المستندة إلى Linux فقط. العقد الموجودة في تجمع عقد النظام محجوزة لأحمال عمل النظام ولا تُستخدم عادةً لتشغيل أحمال العمل المخصصة. يجب أن تحتوي كل مجموعة AKS على تجمع عقدة نظام واحد على الأقل مع عقدة واحدة على الأقل، ويجب عليك تحديد أحجام VM الأساسية للعقد.

تجمعات عقدة المستخدم

تدعم تجمعات عقد المستخدم أحمال العمل، ويمكنك تحديد Windows أو Linux كنظام تشغيل عقدة. يمكنك أيضًا تحديد أحجام VM الأساسية للعقد وتشغيل أحمال عمل محددة. على سبيل المثال، يحتوي حل تتبع الطائرات بدون طيار على خدمة معالجة دفعات تقوم بنشرها في تجمع عقدة مع تكوين للأجهزة الظاهرية للأغراض العامة. تتطلب خدمة النمذجة التنبئية الجديدة أجهزة ظاهرية ذات سعة أعلى قائمة على وحدة معالجة الرسومات. تقرر تكوين تجمع عقدة منفصل وتهيئته لاستخدام العقد الممكّنة بوحدة معالجة الرسومات.

عدد العقد في تجمع العقدة

يمكنك تكوين ما يصل إلى 100 عقدة في تجمع عقدة. ومع ذلك، فإن عدد العقد التي تختار تكوينها يعتمد على عدد القرون التي تعمل لكل عقدة.

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

تم تصميم تجمعات عقد المستخدم لتشغيل أحمال عمل مخصصة ولا تحتوي على متطلبات 30 وحدة. تسمح لك تجمعات عقد المستخدم بتعيين عدد العقد لمجموعة على صفر.

إدارة طلب التطبيق في مجموعة AKS

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

كيفية تحجيم تجمع العقدة يدويًا

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

افترض أن خدمة النمذجة التنبؤية تتطلب تجمع عقدة يستند إلى وحدة معالجة الرسومات وتعمل لمدة ساعة كل يوم عند الظهر. يمكنك تكوين تجمع العقدة بعقد محددة قائمة على GPU وقياس تجمع العقدة إلى عقد صفرية عندما لا تستخدم نظام المجموعة.

فيما يلي مثال على الأمر az aks node pool add الذي يمكنك استخدامه لإنشاء تجمع العقدة. لاحظ المعلمة --node-vm-size، والتي تحدد حجم الجهاز الظاهري Standard_NC6 المستند إلى وحدة معالجة الرسومات للعقد في التجمع.

az aks nodepool add \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 1 \
    --node-vm-size Standard_NC6 \
    --no-wait

عندما يكون التجمع جاهزًا، يمكنك استخدام الأمر az aks nodepool scale لتحجيم تجمع العقدة إلى صفر عقد. لاحظ أنه تم تعيين المعلمة --node-count إلى صفر. فيما يلي مثال على الأمر:

az aks nodepool scale \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 0

كيفية تغيير حجم نظام مجموعة تلقائيًا

Diagram that shows how the cluster autoscaler adds nodes and how the horizontal pod autoscaler adds pods.

تستخدم AKS أداة التحجيم التلقائي لمجموعة Kubernetes لتغيير نطاق أحمال العمل تلقائيًا. يمكن لنظام المجموعة تغيير حجمها باستخدام خيارين:

  • أداة التحجيم التلقائي للقرن الأفقي

  • أداة التحجيم التلقائي لنظام المجموعة

لنلقِ نظرة على كل خيار، بدءًا من التحجيم التلقائي للقرن الأفقي.

التحجيم التلقائي للقرن الأفقي

استخدم التحجيم التلقائي للقرن الأفقي في Kubernetes لمراقبة طلب الموارد على نظام مجموعة وتغيير عدد النسخ المتماثلة لحمل العمل تلقائيًا.

يجمع خادم Kubernetes Metrics Server مقاييس الذاكرة والمعالج من وحدات التحكم والعقد والحاويات التي تعمل على مجموعة AKS. تتمثل إحدى طرق الوصول إلى هذه المعلومات في استخدام Metrics API. يتحقق التحجيم التلقائي للجراب الأفقي من واجهة برمجة تطبيقات المقاييس كل 30 ثانية لتحديد ما إذا كان تطبيقك يحتاج إلى المزيد من المثيلات لتلبية الطلب المطلوب.

افترض أن شركتك لديها أيضًا خدمة معالجة مجمعة تحدد مسارات رحلات الطائرات الآلية. لاحظت أن الخدمة تغمرها الطلبات وتراكم عمليات التسليم، ما يسبب تأخيرات وإحباطات للعملاء. يمكن أن تؤدي زيادة عدد النسخ المتماثلة لخدمة معالجة الدفعات إلى تمكين معالجة الطلبات في الوقت المناسب.

لحل المشكلة، يمكنك تكوين التحجيم التلقائي للحجيرة الأفقية لزيادة عدد النسخ المتماثلة للخدمة عند الحاجة. عندما ينخفض عدد طلبات الدفعات، فإنه يقلل من عدد النسخ المتماثلة للخدمة.

ومع ذلك، فإن أداة التحجيم التلقائي للقرن الأفقي يقوم بتغيير القرون على العقد المتاحة في تجمعات العقد المكونة لنظام المجموعة فقط.

أداة التحجيم التلقائي لنظام المجموعة

يتم تشغيل قيد مورد عندما لا يمكن للتحجيم التلقائي للجراب الأفقي جدولة جراب آخر على العقد الموجودة في تجمع عقدة. تحتاج إلى استخدام مقياس المجموعة التلقائي لتوسيع عدد العقد في تجمعات عقد نظام المجموعة في أوقات القيود. يتحقق مقياس نظام المجموعة التلقائي للمقاييس المحددة ويغير عدد العقد لأعلى أو لأسفل بناءً على موارد الحوسبة المطلوبة.

يتم استخدام أداة التحجيم التلقائي لنظام المجموعة إلى جانب أداة التحجيم التلقائي للقرن الأفقي.

يراقب مقياس نظام المجموعة التلقائي أحداث التوسع والتقليص، ويسمح لمجموعة Kubernetes بتغيير عدد العقدة في مجموعة العقدة مع تغير متطلبات الموارد.

يمكنك تكوين كل مجموعة عقدة بقواعد مقياس مختلفة. على سبيل المثال، قد تحتاج إلى تكوين تجمع عقدة واحد فقط للسماح بالتحجيم التلقائي، أو قد تقوم بتكوين تجمع عقدة لتوسيع نطاقه إلى عدد معين من العقد فقط.

هام

تفقد القدرة على تغيير عدد العقدة إلى الصفر عند تمكين مقياس نظام المجموعة التلقائي على مجموعة عقدة. بدلا من ذلك، يمكنك تعيين الحد الأدنى للعد إلى صفر لحفظه على موارد نظام المجموعة.

‏‫اختبر معلوماتك

1.

لنفترض أن حل البرنامج الذي تستخدمه يحتوي على ثلاثة مكونات أساسية. المكون الأول هو تطبيق ويب. والثاني هو خدمة تعالج الطلبات عبر الإنترنت. أما الثالثة فهي خدمة عرض وتحليل الفيديو التي تعمل فقط حسب الحاجة وتتطلب أجهزة ظاهرية قائمة على وحدة معالجة الرسومات. لتحسين التكلفة، كم عدد مجموعات العقد التي ستنشرها في مجموعة Azure Kubernetes Service (AKS) لإدارة الحل؟

2.

أكمل العبارة التالية. يغير التحجيم التلقائي لنظام مجموعة Kubernetes...