تثبيت التطبيقات وتحديثها في مجموعات توسيع الجهاز الظاهري
عند نشر تطبيق عبر مجموعة التوسيع، تحتاج إلى آلية تقوم بتحديث التطبيق بشكل متسق، عبر كافة المثيلات في مجموعة التوسيع. يمكنك تحقيق هذه النتيجة باستخدام ملحق برنامج نصي مخصص.
في تصور شركة الشحن، تحتاج إلى طريقة سريعة لطرح التحديثات على التطبيق مع تقليل تعطيل المستخدمين النهائيين. ملحق البرنامج النصي المخصص هو الحل المثالي.
في هذه الوحدة، ستتعلم كيفية استخدام ملحق برنامج نصي مخصص لتحديث تطبيق يتم تشغيله على مجموعة التوسيع.
ما هو ملحق البرنامج النصي المخصص Azure؟
يقوم ملحق برنامج نصي مخصص Azure بتحميل وتشغيل البرنامج نصي على الجهاز الظاهري لـ Azure. يمكن أتمتة نفس المهام على كافة الأجهزة الظاهرية في مجموعة التوسيع.
قم بتخزين البرامج النصية المخصصة في تخزين Azure أو في GitHub. لإضافة أحدهم إلى الجهاز الظاهري، يمكنك استخدام مدخل Azure. لتشغيل البرامج النصية المخصصة كجزء من النشر المقولب، ضم ملحق برنامج نصي مخصص مع قوالب مدير إدارة Azure.
تثبيت تطبيق عبر مجموعة التوسيع باستخدام ملحق برنامج نصي مخصص
لاستخدام ملحق برنامج نصي مخصص مع CLI Azure، يمكنك إنشاء ملف تكوين الذي يحدد الملفات للحصول عليها والأوامر التي يتم تشغيلها. هذا الملف بتنسيق JSON.
يظهر المثال التالي تكوين البرنامج النصي المخصص الذي يقوم بتحميل تطبيق من المستودع في GitHub وتثبيته على مثيل مضيف عن طريق تشغيل برنامج نصي يسمى custom_application_v1.sh :
# yourConfigV1.json
{
"fileUris": ["https://raw.githubusercontent.com/yourrepo/master/custom_application_v1.sh"],
"commandToExecute": "./custom_application_v1.sh"
}
لنشر هذا التكوين على مجموعة التوسيع، يمكنك استخدام ملحق برنامج نصي مخصص. يوضح الرمز التالي كيفية إنشاء ملحق برنامج نصي مخصص لمجموعة توسيع جهاز ظاهري باستخدام CLI Azure. يقوم هذا الأمر بتثبيت التطبيق الجديد على الأجهزة الظاهرية عبر مجموعة التوسيع:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name yourScaleSet \
--settings @yourConfigV1.json
تحديث تطبيق عبر مجموعة توسيع باستخدام ملحق برنامج نصي مخصص
يمكنك استخدام ملحق برنامج نصي مخصص لتحديث تطبيق موجود عبر مجموعة توسيع الجهاز الظاهري. يمكنك الرجوع إلى برنامج نصي مستحدث للنشر ثم قم بإعادة تطبيق الملحق إلى مجموعة التوسيع الخاصة بك. على سبيل المثال، يظهر رمز JSON التالي تكوينًا يجلب إصدارًا جديدًا للتطبيق ويعمل على تثبيته:
# yourConfigV2.json
{
"fileUris": ["https://raw.githubusercontent.com/yourrepo/master/custom_application_v2.sh"],
"commandToExecute": "./custom_application_v2.sh"
}
استخدم الأمر نفسه az vmss extension set الموضح سابقًا لنشر التطبيق المستحدث. ولكن هذه المرة، بالرجوع إلى ملف التكوين الجديد:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group yourResourceGroup \
--vmss-name yourScaleSet \
--settings @yourConfigV2.json
يتم تحديث الأجهزة الظاهرية وفقًا لسياسة الترقية لمجموعة التوسيع. يمكنك تحديد هذا المنهج عند إنشاء مجموعة التوسيع لأول مرة. قد يتمتع منهج الترقية بأحد الأوضاع الثلاثة التالية:
- تلقائي:لا تحدد مجموعة التوسيع موعد ترقية الأجهزة الظاهرية. يمكن أن يتم تحديثها جميعًا في نفس الوقت، ما يتسبب في انقطاع الخدمة.
- المتداول: تطرح مجموعة التوسعة التحديث على دفعات عبر الأجهزة الظاهرية في مجموعة التوسيع. يمكن أن يقلل أو يُزيل الإيقاف المؤقت الاختياري انقطاع الخدمة. في هذا الوضع، قد تعمل الأجهزة في مجموعة التوسيع على تشغيل إصدارات مختلفة من التطبيق لفترة قصيرة. يتطلب هذا الوضع إما إضافة مسبار صحة إلى مجموعة التوسيع أو تطبيق ملحق صحة التطبيق على مجموعة التوسيع.
- الدليل:لا يتم تحديث الأجهزة الظاهرية الموجودة في مجموعة التوسيع. يجب إجراء كافة التغييرات يدويًا. هذا الوضع هو الوضع الافتراضي.
لتحديد وضع نهج الترقية عند توفير مجموعة توسيع جهاز ظاهري، استخدم upgrade-policy-mode«الخيار». يستخدم مثال الرمز التالي CLI Azure:
az vmss create \
--resource-group MyResourceGroup \
--name MyScaleSet \
--image UbuntuLTS \
--upgrade-policy-mode automatic \
--admin-username azureuser \
--generate-ssh-keys
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.