Cloud-Init

يدعم CycleCloud السحابة كطريقة لتكوين آلة افتراضية (VM) عند أول إقلاع قبل حدوث أي تكوين خاص آخر ب CycleCloud على الجهاز الافتراضي. استخدام cloud-init هو طريقة فعالة لتكوين جوانب من الجهاز الافتراضي (مثل الشبكات، مرايا الطعم والمناسبات الصغيرة، وغيرها) قبل تثبيت أي برنامج تديره CycleCloud (جدولة HPC).

المثال التالي يوضح كيفية تحديد سكريبت bash ليتم تشغيله عند الإقلاع باستخدام CloudInit السمة في قالب عنقود:

[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''

ملحوظة

استخدم سلاسل ثلاثية اقتباس في قالب عنقودي لتحديد سلسلة نصية متعددة الأسطر، مثل bash أو سكريبت YAML.

التحذير

ليست كل صور نظام التشغيل في Azure support cloud-init. لمزيد من المعلومات حول الصور التي تدعم السحابة والدعم الأوسع، راجع دعم cloud-init للآلات الافتراضية في Azure.

ضبط السحابة باستخدام واجهة المستخدم

واجهة CycleCloud تدعم التحرير عبر السحابة. عند إنشاء أو تحرير أي مجموعة، يمكنك استخدام تبويب Cloud-Init لتحرير سكريبت cloud-init لكل عقدة في مجموعتك. المحرر في واجهة CycleCloud يقبل أي إدخال نصي. يوفر تمييزا لصياغة الجملة للغة Python أو سكريبتات الشل أو YAML.

تحرير السحابة في واجهة CycleCloud

ترتيب السحابة والتعامل مع الأخطاء

بالنسبة لعقد CycleCloud المحددة CloudInit ، يوفر CycleCloud الجهاز الافتراضي وينتظر حتى يعمل Cloud init حتى يكتمل قبل أن يبدأ أي تكوين آخر. إذا حددت CloudInit على العقدة لكن CycleCloud لم يكتشف دعم السحابة لنظام التشغيل، تدخل العقدة في حالة خطأ وتنقل السبب إلى CycleCloud. إذا فشل السكريبت CloudInit في التنفيذ (على سبيل المثال، بسبب خطأ في البرمجة النصية أو خطأ في النحو)، تدخل العقدة في حالة خطأ وتنقل الخطأ الذي أبلغ عنه cloud-init إلى CycleCloud.

بمجرد أن يعمل Cloud Init حتى الانتهاء بدون أخطاء، يواصل CycleCloud تكوين الجهاز الافتراضي كالمعتاد.

مهم

CycleCloud لا يدمج تلقائيا سكريبتات Cloud Init. إذا حددت سكريبت cloud-init في ولديك [node defaults] عقدة ترث من تلك الإعدادات الافتراضية، يتم استبدال سكريبت cloud-init in [node defaults] . لمشاركة الكود، نقترح دمج السكربتات يدويا. بدلا من ذلك، يمكنك استخدام تنسيق تضمين ملف بيانات المستخدم لتضمين قائمة بعناوين URL ليقوم cloud-init بمعالجتها.