استخدام أدوات أتمتة البنية الأساسية مع الأجهزة الظاهرية في Azure
ينطبق على: ✔️ أجهزة ظاهرية بنظام التشغيل Linux ✔️ أجهزة ظاهرية بنظام التشغيل Windows ✔️ مجموعات التوسعة المرنة ✔️ مجموعات التوسعة الموحدة
لإنشاء وإدارة الأجهزة الظاهرية Azure (VMs) بطريقة متناسقة على نطاق، يتم عادة المطلوب شكل من أشكال التنفيذ التلقائي. هناك العديد من الأدوات والحلول التي تسمح لك بأتمتة نشر البنية الأساسية الكاملة لـ Azure ودورة حياة الإدارة. تقدم هذه المقالة بعض أدوات أتمتة البنية الأساسية التي يمكنك استخدامها في Azure. عادة ما تتناسب هذه الأدوات مع أحد الأساليب التالية:
أتمتة تكوين VMs
- تتضمن الأدوات قالب Ansible وChef وPuppet وBicep وAzure Resource Manager.
- تتضمن الأدوات الخاصة بتخصيص VM cloud-init لـ Linux VMs و PowerShell Desired State Configuration (DSC) و Azure Custom Script Extension لجميع VMs Azure.
إدارة التشغيل التلقائي للبنية الأساسية
- تتضمن الأدوات Packer لأتمتة عمليات إنشاء صور VM المخصصة، و Terraform لأتمتة عملية إنشاء البنية الأساسية.
- يمكن لـAzure Automation تنفيذ إجراءات عبر البنية الأساسية لـ Azure والمحلية.
أتمتة نشر التطبيقات وتسليمها
- تتضمن الأمثلة Azure DevOps Services و Jenkins.
Terraform
Terraform هي أداة أتمتة تسمح لك بتحديد وإنشاء بنية أساسية لـ Azure كاملة بلغة تنسيق قالب واحد - HashiCorp Configuration Language (HCL). باستخدام Terraform، يمكنك تحديد القوالب التي تعمل على أتمتة العملية لإنشاء موارد الشبكة والتخزين والأجهزة الظاهرية لحل تطبيق معين. يمكنك استخدام قوالب الـTerraform الحالية الخاصة بك لأنظمة أساسية أخرى مع Azure لضمان الاتساق وتبسيط نشر البنية الأساسية دون الحاجة إلى التحويل إلى قالب Azure Resource Manager.
تعلم كيف:
التنفيذ التلقائي في Azure
تستخدم Azure Automation دفاتر التشغيل لمعالجة مجموعة من المهام على الأجهزة الظاهرية التي تستهدفها. يتم استخدام Azure Automation لإدارة الأجهزة الظاهرية الموجودة بدلًا من إنشاء بنية أساسية. يمكن تشغيل Azure Automation عبر كل من Linux وWindows VMs، والأجهزة الظاهرية أو الفعلية المحلية مع عامل دفتر تشغيل مختلط. يمكن تخزين Runbooks في مستودع تحكم مصدر، مثل GitHub. يمكن بعد ذلك تشغيل دفاتر التشغيل هذه يدويًا أو وفقًا لجدول زمني محدد.
يوفر Azure Automation أيضًا خدمة Desired State Configuration (DSC) التي تمكنك من إنشاء تعريفات لكيفية تكوين مجموعة محددة من الأجهزة الظاهرية. ثم يضمن DSC تطبيق التكوين المطلوب و VM يبقى متناسقًا. يشغّل Azure Automation DSC كل من أجهزة Windows وLinux.
تعلم كيف:
- إنشاء دفتر تشغيل PowerShell.
- استخدم Hybrid Runbook Worker لإدارة الموارد المحلية.
- استخدم Azure Automation DSC.
خدمات Azure DevOps
خدمات Azure DevOps عبارة عن مجموعة من الأدوات التي تساعدك على مشاركة التعليمات البرمجية وتعقبها، واستخدام عمليات الإنشاء التلقائية، وإنشاء مسارات تكامل وتطوير مستمر كامل (CI/CD). تتكامل خدمات Azure DevOps مع Visual Studio والمحررين الآخرين لتبسيط الاستخدام. يمكن لخدمات Azure DevOps أيضًا إنشاء أجهزة Azure الظاهرية وتكوينها ثم نشر التعليمات البرمجية عليها.
تعلم المزيد عن:
قالب Azure Resource Manager
Azure Resource Manager هي خدمة التوزيع والإدارة لـAzure. فهي توفر طبقة إدارة تتيح لك إنشاء الموارد وتحديثها وحذفها في اشتراك Azure. تستخدم ميزات الإدارة مثل التحكم في الوصول، والأقفال، والعلامات لتأمين مواردك وتنظيمها بعد النشر.
تعلم كيف:
- نشر الأجهزة الظاهرية Spot باستخدام قالب Resource Manager.
- إنشاء جهاز ظاهري لـ Windows من قالب Resource Manager.
- قم بتنزيل القالب الخاص بجهاز ظاهري.
- إنشاء قالب Azure Image Builder.
Bicep
Bicep هي لغة المجال المخصصة (DSL) التي تستخدم بناء الجملة التعريفي لتوزيع موارد Azure. في ملف Bicep، يمكنك تعريف البنية الأساسية التي تريد نشرها في Azure، ثم استخدام هذا الملف على مدار دورة حياة التطوير لنشر بنيتك الأساسية بشكل متكرر. تُنشر مواردك بطريقة متسقة.
ابدأ باستخدام التشغيل السريع.
Cloud-init
تُعَد Cloud-init طريقة مستخدمة على نطاق واسع لتخصيص جهاز Linux ظاهري في أثناء تشغيله لأول مرة. يمكنك استخدام cloud-init لتثبيت الحزم وكتابة الملفات، أو لتكوين المستخدمين والأمان. نظرا لاستدعاء cloud-init أثناء عملية التمهيد الأولية، لا توجد خطوات إضافية أو عوامل مطلوبة لتطبيق التكوين الخاص بك. لمزيد من المعلومات حول كيفية تنسيق #cloud-config
ملفاتك بشكل صحيح، راجع موقع توثيق cloud-init. #cloud-config
الملفات هي ملفات نصية مشفرة في base64.
تعمل Cloud-init أيضًا عبر التوزيعات. على سبيل المثال، لا تستخدم تثبيت apt-get أو تثبيت تثبيت yum لتثبيتحزمة. بدلًا من ذلك يمكنك تحديد قائمة الحزم لتثبيتها. يستخدم Cloud-init تلقائيًّا أداة إدارة الحزمة الأصلية للتوزيعة التي تحددها.
نحن نعمل بنشاط مع شركائنا المعتمدين في توزيعة Linux من أجل إتاحة صور تمكين cloud-init في Azure Marketplace. تجعل هذه الصور عمليات النشر والتكوينات الخاصة بك في السحابة تعمل بسلاسة مع الأجهزة الظاهرية ومجموعات مقياس الجهاز الظاهري. تعرف على مزيد من التفاصيل حول cloud-init على Azure:
- دعم Cloud-init لأجهزة Linux الافتراضية في Azure
- جرب برنامجًا تعليميًا حول تكوين VM التلقائي باستخدام cloud-init.
PowerShell DSC
PowerShell Desired State Configuration (DSC) هو نظام أساسي للإدارة لتحديد تكوين الأجهزة الهدف. يمكن أيضًا استخدام DSC على Linux من خلال خادم Open Management Infrastructure (OMI).
تحدد تكوينات DSC ما يجب تثبيته على جهاز وكيفية تكوين المضيف. يعمل محرك Local Configuration Manager (LCM) على كل عقدة هدف تعالج الإجراءات المطلوبة استناداً إلى التكوينات المدفوعة. خادم السحب هو خدمة ويب تعمل على مضيف مركزي لتخزين تكوينات DSC والموارد المرتبطة بها. يتصل خادم السحب مع مشغل LCM على كل عقدة هدف لتوفير التكوينات المطلوبة وتقرير عن التوافق.
تعلم كيف:
ملحق البرنامج النصي المخصص ل Azure
يقوم Azure Custom Script Extension for Linux أو Windows بتحميل وتنفيذ البرامج النصية على VMs Azure. يمكنك استخدام الملحق عند إنشاء جهاز ظاهري، أو في أي وقت بعد استخدام الجهاز الظاهري.
يمكن تنزيل البرامج النصية من تخزين Azure أو أي موقع عام مثل مستودع GitHub. مع Custom Script Extension، يمكنك كتابة البرامج النصية في أي لغة التي تعمل على VM المصدر. يمكن استخدام هذه البرامج النصية لتثبيت التطبيقات أو تكوين الجهاز الظاهري حسب الرغبة. لتأمين بيانات الاعتماد، يمكن تخزين المعلومات الحساسة مثل كلمات المرور في تكوين محمي. يتم فك تشفير بيانات الاعتماد هذه داخل الجهاز الظاهري فقط.
تعلم كيف:
- قم بإنشاء جهاز ظاهري Linux باستخدام Azure CLI واستخدم Custom Script Extension.
- قم بإنشاء جهاز ظاهري Windows باستخدام Azure PowerShell واستخدم Custom Script Extension.
Ansible
Ansible هو محرك أتمتة لإدارة التكوين أو إنشاء الأجهزة الظاهرية أو نشر التطبيقات. يستخدم Ansible نموذجًا بدون وكيل، عادة مع مفاتيح SSH، لمصادقة الأجهزة المستهدفة وإدارتها. يتم تعريف مهام التكوين في أدلة المبادئ، مع العديد من الوحدات النمطية Ansible المتاحة لتنفيذ مهام محددة. لمزيد من المعلومات، راجع كيفية عمل Ansible.
تعلم كيف:
- قم بتثبيت Ansible وتكوينه على Linux للاستخدام مع Azure.
- إنشاء جهاز لينكس الظاهري.
- إدارة جهاز لينكس الظاهري.
Chef
Chef هو نظام أساسي للتنفيذ التلقائي يساعد في تحديد كيفية تكوين البنية الأساسية وتوزيعها وإدارتها. تتضمن بعض المكونات Chef Habitat لأتمتة دورة حياة التطبيق بدلا من البنية الأساسية، وChef InSpec الذي يساعد على أتمتة التوافق مع متطلبات الأمان والسياسة. يتم تثبيت Chef Clients على الأجهزة المستهدفة، مع خادم Chef مركزي واحد أو أكثر يقوم بتخزين التكوينات وإدارتها. لمزيد من المعلومات، راجع نظرة عامة على Chef.
تعلم كيف:
Puppet
Puppet هو نظام أساسي لتنفيذ تلقائي جاهز للمؤسسة الذي يعالج عملية تسليم التطبيقات وتوزيعها. يتم تثبيت العوامل على الأجهزة الهدف للسماح لـ Puppet Master بتشغيل البيانات التي تحدد التكوين المطلوب لبنية Azure الأساسية والأجهزة الظاهرية. يمكن أن يتكامل Puppet مع حلول أخرى مثل Jenkins و GitHub لسير عمل devops محسن. لمزيد من المعلومات، راجع كيفية عمل Puppet.
تعلم كيف:
Packer
يقوم Packer بأتمتة عملية الإنشاء عند إنشاء صورة VM مخصصة في Azure. يمكنك استخدام Packer لتحديد نظام التشغيل وتشغيل البرامج النصية بعد التكوين التي تقوم بتخصيص الجهاز الظاهري لاحتياجاتك الخاصة. بمجرد تكوينه، يتم التقاط الجهاز الظاهري كصورة Managed Disk. يقوم Packer بأتمتة العملية لإنشاء مصدر VM و الشبكة وموارد التخزين وتشغيل البرامج النصية التكوين ثم قم بإنشاء صورة VM.
تعلم كيف:
Jenkins
Jenkins هو خادم تكامل مستمر يساعد على نشر التطبيقات واختبارها، وإنشاء مسارات تلقائية لتسليم التعليمات البرمجية. هناك المئات من المكونات الإضافية لتوسيع منصة Jenkins الأساسية، ويمكنك أيضًا التكامل مع العديد من المنتجات والحلول الأخرى من خلال webhooks. يمكنك تثبيت Jenkins يدويًا على جهاز ظاهري Azure أو تشغيل Jenkins من داخل حاوية Docker أو استخدام صورة Azure Marketplace تم إنشاؤها مسبقًا.
تعلم كيف:
الخطوات التالية
هناك العديد من الخيارات المختلفة لاستخدام أدوات أتمتة البنية التحتية في Azure. لديك الحرية في استخدام الحل الذي يناسب احتياجاتك وبيئتك. للبدء وتجربة بعض الأدوات المضمنة في Azure، راجع كيفية أتمتة تخصيص جهاز ظاهري Linux أو Windows.