تخصيص تثبيتات البرامج
تسهل قوالب Azure CycleCloud إعداد مجموعات HPC من خلال تجريد تفاصيل التنفيذ للبنية الأساسية، ما يسمح لك بالتركيز على إدارة حمل العمل. ومع ذلك، عادة ما يحتوي حمل العمل هذا على العديد من التبعيات المتعلقة بالبرامج، والتي تتطلب خطوات تخصيص إضافية. لحسن الحظ، يوفر Azure CycleCloud أيضا إطار عمل لتنفيذ هذه الخطوات من خلال دعمه لمهام إدارة التكوين والتزويد المطبقة مباشرة على عقد نظام المجموعة.
تتضمن أهدافك الحاجة إلى نشر صور مخصصة واستخدام البرامج النصية للتكوين المطورة داخليا التي كنت تستخدمها في بيئة HPC المحلية الخاصة بك. تريد تحديد كيفية استخدام قدرات Azure CycleCloud لتحقيق هذه الأهداف.
كيفية تنفيذ إدارة التكوين باستخدام Azure CycleCloud؟
يقدم Azure CycleCloud ثلاث طرق رئيسية يمكنك دمجها بطريقة عشوائية لتخصيص نظام التشغيل والبرامج على عقد نظام المجموعة وفقا لمتطلباتك أو تفضيلاتك الخاصة:
- صور مخصصة
- المشاريع
- Cloud-init
كيفية استخدام الصور المخصصة مع Azure CycleCloud؟
يدعم Azure CycleCloud عقد نظام المجموعة التي تقوم بتشغيل توزيعات Linux الأكثر شيوعا، واعتمادا على المجدول، Windows Server. تم تكوين القوالب المضمنة مسبقا باستخدام الإعدادات الافتراضية الموصى بها، ولكن يمكنك اختيار صور Azure Marketplace أو عقد التوفير استنادا إلى الصور المخصصة. قد يكون الخيار الأخير مفضلا إذا كنت تريد تقليل التأخير المرتبط بإعداد ما بعد التوزيع لنظام التشغيل وأي تبعيات إضافية لأحمال عمل HPC. قد يكون مطلوبا أيضا لتلبية احتياجات العمل أو الأمان أو التوافق.
تسمح لك الصور المخصصة بالتحكم الكامل في البرنامج المثبت مسبقا وتكوين نظام التشغيل الأولي. العيب الأساسي هو الحمل المرتبط بالاحتفاظ بصور متعددة لاستيعاب مجموعات مختلفة من التطبيقات وإصداراتها، خاصة في سيناريوهات التطوير.
كيفية استخدام مشاريع Azure CycleCloud لتثبيت البرامج؟
مشروع Azure CycleCloud هو مجموعة من الملفات التي تشير إليها عند تعريف تكوينات عقد نظام المجموعة من خلال القوالب. تحتوي المشاريع على بنية الدليل التالية:
\project
|- project.ini
|- blobs
|- templates
|- specs
| |
| default
| |- cluster-init
| |- scripts
| |- files
| |- tests
| | - chef
| |- site-cookbooks
| |- data_bag
| |- roles
يحتوي ملف project.ini على بيانات تعريف المشروع، بما في ذلك اسمه وتسمية المشروع وإصداره ونوعه. تتضمن الأنواع المدعومة المجدول والتطبيق. يتم استخدام الأول لتثبيت وتهيئة البرامج الخفية للمجدول على العقد الرئيسية وعقد الحوسبة، بينما يعرف الأخير أحمال عمل نظام المجموعة.
يحتوي دليل blobs على كائنات ثنائية كبيرة الحجم للمشروع، مثل الملفات الثنائية لمشروع مفتوح المصدر يمكن إعادة توزيعه بحرية، والكائنات الثنائية كبيرة الحجم للمستخدم، والتي يجب استبعادها من إعادة توزيع المشروع بسبب قيود الترخيص.
يحتوي دليل القوالب على قوالب، بينما يستضيف دليل المواصفات مواصفات تحدد التكوينات التي سيتم تطبيقها على عقد نظام المجموعة المستهدفة.
ملاحظه
على سبيل المثال، يحتوي مشروع Slurm، على حد أدنى، على مواصفات اثنين: واحدة لعقد رأس المجدول والأخرى لعقد الحساب.
داخل دليل المواصفات، هناك دليلان فرعيان باسم cluster-initChef المخصص. يحتوي Cluster-init على برامج نصية تعمل تلقائيا على العقدة الهدف. ملفات البيانات الأولية التي يتم نسخها إلى العقدة الهدف، والاختبارات التي سيتم تشغيلها عند بدء تشغيل نظام مجموعة في وضع الاختبار. يحتوي الدليل الفرعي المخصص Chef على ملفات خاصة ب Chef، بما في ذلك ملفات كتاب التعليمات، وحقيبة البيانات، وتعريف الأدوار. يمكنك استخدام كتب التعليمات والوصفات الخاصة ب Chef لتكوين العقد. تعين مواصفات Cluster-init أدوار Chef وكتب التعليمات.
ملاحظه
يستخدم Azure CycleCloud Chef كأداة إدارة التكوين لإعداد كل عقدة وتكوينها. يستخدم CycleCloud Chef في وضع مستقل لا يعتمد على خادم Chef مركزي. بدلا من ذلك، يتم تنزيل جميع كتب التعليمات الموجهة لعقد نظام المجموعة المدارة من المخزن أثناء مرحلة تمهيد نظام التشغيل. عند هذه النقطة، يعالج Chef قائمة الوصفات المحددة في مواصفات cluster-init للعقدة، وتحويل الجهاز الظاهري الأساسي بشكل فعال إلى عقدة HPC عاملة.
لتوفير نظام مجموعة استنادا إلى مشروع، تحتاج إلى تحميل محتوى المشروع إلى خزانة Azure CycleCloud. ثم، كلما بدأت العقدة الهدف، فإنها تقوم تلقائيا بتنزيل ملفات المشروع المطلوبة من المخزن وتعالج المواصفات المطلوبة.
كيفية استخدام cloud-init مع Azure CycleCloud؟
يدعم Azure CycleCloud تهيئة السحابة كوسيلة لتكوين عقد نظام المجموعة أثناء مرحلة التمهيد، قبل تطبيق المواصفات المتعلقة بالمشروع. يوفر هذا أسلوبا مناسبا لمعالجة أي تبعيات متعلقة بالبنية الأساسية أو البرامج، مثل تكوين إعدادات الشبكة أو تطبيق تحديثات حزمة نظام التشغيل.
بينما يمكنك تحديد تكوين cloud-init باستخدام قالب، يمكنك أيضا إنجاز ذلك مباشرة من واجهة Azure CycleCloud الرسومية. عند إنشاء مجموعة أو تحريرها، ستجد الإعدادات ذات الصلة في علامة التبويب المسماة Cloud-Init، حيث يمكنك إدخال البرامج النصية لكل نوع عقدة.
ملاحظه
نظرا لأن cloud-init يعمل قبل أي مواصفات مشروع CycleCloud، فقد يقوم المجدول والتكوين الذي ينطبق عليه Azure CycleCloud على عقدة بالكتابة فوق التغييرات التي تم إجراؤها عبر cloud-init. إذا كنت بحاجة إلى التأكد من تشغيل الأوامر الخاصة بك بعد تثبيت المجدول، يجب عليك استخدام مواصفات مشروع Azure CycleCloud بدلا من ذلك.