⁧⁩مقدمة عن معالج ملحق Azure Desired State Configuration

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

الاستخدام الأساسي لملحق Azure Desired State Configuration (DSC) ل Windows PowerShell هو تمهيد تشغيل جهاز ظاهري إلى خدمة Azure Automation State Configuration (DSC). توفر هذه الخدمة فوائد تتضمن الإدارة المستمرة لتكوين الجهاز الظاهري والتكامل مع الأدوات التشغيلية الأخرى، مثل Azure Monitor. يمكنك استخدام الملحق لتسجيل الأجهزة الظاهرية الخاصة بك في الخدمة والحصول على حل مرن يعمل عبر اشتراكات Azure.

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

توضح هذه المقالة كيفية استخدام ملحق DSC للإلحاق التلقائي، أو استخدامه كأداة لتعيين التكوينات إلى الأجهزة الظاهرية باستخدام Azure SDK.

إصدارات DSC المتوفرة

تتوفر عدة إصدارات من Desired State Configuration للتنفيذ. قبل تمكين ملحق DSC، اختر إصدار DSC الذي يدعم التكوين وأهداف العمل على أفضل نحو.

‏‏الإصدار‬ التوافر ‏‏الوصف
2.0 التوفر العام يتم دعم Desired State Configuration 2.0 للاستخدام مع ميزة Azure Automanage Machine Configuration . تجمع ميزة تكوين الجهاز بين ميزات معالج ملحق DSC وتكوين حالة أتمتة Azure والميزات الأكثر شيوعا المطلوبة من ملاحظات العملاء. يتضمن تكوين الجهاز أيضا دعم الجهاز المختلط من خلال خوادم Arc الممكنة.
1.1 التوفر العام إذا لم يستخدم التنفيذ الخاص بك ميزة تكوين جهاز Azure Automanage، فيجب عليك اختيار Desired State Configuration 1.1. لمزيد من المعلومات، راجع PSDesiredStateConfiguration v1.1.
3.0 إصدار أولي للاستخدام العام يتوفر Desired State Configuration 3.0 في الإصدار التجريبي العام. يجب استخدام هذا الإصدار فقط مع تكوين جهاز Azure، أو للبيئات غير المنتجة لاختبار الترحيل بعيدا عن Desired State Configuration 1.1.

المتطلبات الأساسية

  • الجهاز المحلي: للتفاعل مع ملحق Azure DSC، يجب استخدام إما مدخل Azure أو Azure PowerShell SDK على الجهاز المحلي.

  • عامل الضيف: يجب أن يستخدم جهاز Azure الظاهري الذي تم إعداده بواسطة تكوين DSC نظام تشغيل يدعم إطار عمل إدارة Windows (WMF) 4.0 أو أحدث. للحصول على القائمة الكاملة لإصدارات نظام التشغيل المدعومة، راجع محفوظات إصدارات ملحق Azure DSC.

المصطلحات والمفاهيم

تفترض هذه المقالة الإلمام بالمفاهيم التالية:

  • يشير التكوين إلى مستند تكوين DSC.

  • تحدد العقدة هدفا لتكوين DSC. في هذه المقالة، تشير العقدة دائما إلى Azure VM.

  • يتم تخزين بيانات التكوين في ملف تنسيق PowerShell DSC (psd1.) يحتوي على بيانات بيئية للتكوين.

الهندسة

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

عند استدعاء الملحق في المرة الأولى، فإنه يقوم بتثبيت إصدار من WMF باستخدام المنطق التالي:

  • إذا كان نظام تشغيل Azure VM هو Windows Server 2016، فلن يتم اتخاذ أي إجراء. تم تثبيت أحدث إصدار من PowerShell على Windows Server 2016 بالفعل.

  • إذا تم تحديد الخاصية wmfVersion ، يتم تثبيت الإصدار المحدد من WMF، ما لم يكن الإصدار المحدد غير متوافق مع نظام التشغيل على الجهاز الظاهري.

  • إذا لم يتم تحديد أي wmfVersion خاصية، يتم تثبيت أحدث إصدار قابل للتطبيق من WMF.

تتطلب عملية تثبيت WMF إعادة تشغيل. بعد إعادة التشغيل، يقوم الملحق بتنزيل ملف .zip المحدد في الخاصية modulesUrl ، إذا تم توفيره. إذا كان هذا الموقع في Azure Blob Storage، يمكنك تحديد رمز SAS المميز في الخاصية sasToken للوصول إلى الملف. بعد تنزيل .zip وفك حزمه، يتم تشغيل دالة التكوين المعرفة في configurationFunction لإنشاء ملف Managed Object Format (MOF) (mof.). ثم يقوم الملحق بتشغيل Start-DscConfiguration -Force الأمر باستخدام ملف .mof الذي تم إنشاؤه. يلتقط الملحق الإخراج ويكتبه إلى قناة حالة Azure.

البرنامج النصي للتكوين الافتراضي

يتضمن ملحق Azure DSC برنامج نصي افتراضي للتكوين يهدف إلى استخدامه عند إلحاق جهاز ظاهري بخدمة Azure Automation State Configuration. تتم محاذاة معلمات البرنامج النصي مع الخصائص القابلة للتكوين لـ Configuration Manager المحلية. للحصول على معلمات البرنامج النصي، راجع البرنامج النصي للتكوين الافتراضي في ملحق Desired State Configuration مع قوالب Azure Resource Manager (ARM). للحصول على البرنامج النصي الكامل، راجع قالب Azure Quickstart في GitHub.

تسجيل تكوين حالة أتمتة Azure

عند استخدام ملحق Azure DSC لتسجيل عقدة مع خدمة Azure Automation State Configuration، فإنك توفر القيم التالية:

  • RegistrationUrl: عنوان https لحساب Azure Automation.
  • RegistrationKey: سر مشترك يستخدم لتسجيل العقد مع الخدمة.
  • NodeConfigurationName: اسم تكوين العقدة (MOF) للسحب من الخدمة لتكوين دور الخادم. القيمة هي اسم تكوين العقدة وليس اسم التكوين.

يمكنك جمع هذه القيم من مدخل Microsoft Azure، أو تشغيل الأوامر التالية في Windows PowerShell:

(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey

اسم تكوين العقدة

بالنسبة للمعلمة NodeConfigurationName ، تأكد من توفير اسم تكوين العقدة وليس التكوين.

يتم تعريف التكوين في برنامج نصي يستخدم لتحويل تكوين العقدة برمجيا (ملف MOF). اسم تكوين العقدة هو دائما اسم التكوين متبوعا بنقطة . وإما localhost اسم كمبيوتر معين.

تحذير

تأكد من وجود تكوين العقدة في Azure Automation State Configuration. إذا لم تكن هذه القيمة موجودة، فإن نشر الملحق يرجع فشلا.

توزيع قالب ARM

النهج الأكثر شيوعا لنشر ملحق DSC هو استخدام قوالب Azure Resource Manager. لمزيد من المعلومات وأمثلة حول كيفية تضمين ملحق DSC في قوالب ARM، راجع ملحق Desired State Configuration مع قوالب ARM.

توزيع PowerShell cmdlet

تعد أوامر PowerShell cmdlets لإدارة ملحق DSC مثالية لاستكشاف الأخطاء وإصلاحها التفاعلية وسيناريوهات جمع المعلومات. يمكنك استخدام cmdlets لحزم عمليات توزيع ملحقات DSC ونشرها ومراقبتها. لا يتم تحديث Cmdlets لملحق DSC حاليا للعمل مع البرنامج النصي للتكوين الافتراضي.

فيما يلي بعض أوامر PowerShell cmdlets المتوفرة:

  • يأخذ Publish-AzVMDscConfiguration cmdlet ملف تكوين ويقوم بفحصه بحثاً عن موارد DSC التابعة ثم يقوم بإنشاء ملف .zip. يحتوي ملف .zip على موارد التكوين وDSC اللازمة لتفعيل التكوين. يمكن ل cmdlet أيضا إنشاء الحزمة محليا باستخدام المعلمة -OutputArchivePath . وإلا، ينشر cmdlet ملف .zip إلى Blob Storage، ثم يؤمنه برمز SAS المميز.

    البرنامج النصي لتكوين PowerShell (.ps1) الذي تم إنشاؤه بواسطة cmdlet موجود في ملف .zip في جذر مجلد الأرشيف. يتم وضع مجلد الوحدة النمطية في مجلد الأرشيف في الموارد.

  • يقوم Set-AzVMDscExtension cmdlet بحقن الإعدادات التي يتطلبها ملحق PowerShell DSC في عنصر تكوين جهاز ظاهري.

  • يقوم Get-AzVMDscExtension cmdlet باسترداد حالة ملحق DSC لجهاز ظاهري محدد.

  • يسترد Get-AzVMDscExtensionStatus cmdlet حالة تكوين DSC الذي تم تفعيله بواسطة معالج ملحق DSC. يمكن تنفيذ هذا الإجراء على جهاز ظاهري واحد أو مجموعة من الأجهزة الظاهرية.

  • يزيل Remove-AzVMDscExtension cmdlet معالج الملحقات من جهاز ظاهري محدد. ضع في اعتبارك أن الأمر cmdlet هذا لا يزيل التكوين أو يلغي تثبيت WMF أو يغير الإعدادات المطبقة على الجهاز الظاهري. يقوم الأمر cmdlet بإزالة معالج الامتداد فقط.

اعتبارات هامة

هناك العديد من الاعتبارات التي يجب أخذها في الاعتبار عند العمل مع أوامر cmdlets Azure Resource Manager.

  • Azure Resource Manager cmdlets متزامنة.

  • هناك العديد من المعلمات المطلوبة، بما في ذلك ResourceGroupNameوVMNameArchiveStorageAccountNameVersion.Location

  • ArchiveResourceGroupName هي معلمة اختيارية. حدد هذه المعلمة عندما ينتمي حساب التخزين الخاص بك إلى مجموعة موارد مختلفة عن تلك التي يتم إنشاء الجهاز الظاهري فيها.

  • AutoUpdate استخدم التبديل لتحديث معالج الامتداد تلقائيا إلى أحدث إصدار عند توفره. هذه المعلمة لديها القدرة على التسبب في إعادة التشغيل على الجهاز الظاهري عندما يصدر إصدار جديد من WMF.

التكوين باستخدام PowerShell cmdlets

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

تظهر التعليمات البرمجية التالية مثالا بسيطا للتكوين. للعمل مع هذا المثال، احفظ هذا التكوين محليا كملف البرنامج النصي iisInstall.ps1 .

configuration IISInstall
{
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

تضع أوامر PowerShell التالية البرنامج النصي iisInstall.ps1 على الجهاز الظاهري المحدد. تقوم الأوامر أيضاً بتنفيذ التكوين، ثم الإبلاغ مرة أخرى عن الحالة.

$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'

توزيع Azure CLI

يمكن استخدام Azure CLI لنشر ملحق DSC إلى جهاز ظاهري موجود. توضح الأمثلة التالية كيفية نشر جهاز ظاهري على Windows.

بالنسبة إلى جهاز ظاهري يعمل بنظام Windows، استخدم الأمر التالي:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DSC \
  --publisher Microsoft.Powershell \
  --version 2.77 --protected-settings '{}' \
  --settings '{}'

نشر مدخل Azure

لإعداد ملحق DSC في مدخل Microsoft Azure، اتبع الخطوات التالية:

  1. اذهب إلى جهاز VM.

  2. ضمن الإعدادات، حدد Extensions + Applications.

  3. ضمن Extensions، حدد + Add.

  4. حدد PowerShell Desired State Configuration، ثم حدد Next.

  5. تكوين المعلمات التالية لملحق DSC.

    إشعار

    إذا كنت تعمل مع برنامج نصي افتراضي للتكوين، فضع في اعتبارك أنه يجب تعريف معظم المعلمات التالية مباشرة في مدخل Microsoft Azure بدلا من البرنامج النصي.

    • وحدات التكوين أو البرنامج النصي: (مطلوب) توفير وحدات التكوين أو ملف البرنامج النصي للجهاز الظاهري الخاص بك.

      تتطلب الوحدات النمطية للتكوين والبرامج النصية ملف.ps1 يحتوي على برنامج نصي للتكوين أو ملف .zip مع برنامج نصي للتكوين .ps1 في الجذر. إذا كنت تستخدم ملف .zip، يجب تضمين جميع الموارد التابعة في مجلدات الوحدة النمطية في ملف .zip. يمكنك إنشاء ملف .zip باستخدام Publish-AzureVMDscConfiguration -OutputArchivePath cmdlet المُضمَّن في Azure PowerShell SDK. يتم تحميل ملف .zip إلى Blob Storage للمستخدم وتأمينه بواسطة رمز SAS المميز.

    • اسم التكوين المؤهل للوحدة النمطية: (مطلوب) حدد هذا الإعداد لتضمين وظائف تكوين متعددة في ملف برنامج نصي .ps1 واحد. لهذا الإعداد، أدخل اسم ملف البرنامج النصي .ps1 للتكوين متبوعا بشرطة مائلة \ ثم اسم دالة التكوين. على سبيل المثال، إذا كان ملف البرنامج النصي .ps1 يحتوي على اسم configuration.ps1 واسم التكوين هو IisInstall، أدخل قيمة configuration.ps1\IisInstall الإعداد.

    • وسيطات التكوين: إذا كانت دالة التكوين تأخذ وسيطات، أدخل القيم باستخدام التنسيق argumentName1=value1,argumentName2=value2. لاحظ أن هذا التنسيق يختلف عن التنسيق المستخدم لتحديد وسيطات التكوين في PowerShell cmdlets أو قوالب ARM.

      إشعار

      يمكن تعريف وسيطات التكوين في برنامج نصي افتراضي للتكوين.

    • ملف PSD1 لبيانات التكوين: إذا كان التكوين يتطلب ملف بيانات تكوين بتنسيق .psd1، فاستخدم هذا الإعداد لتحديد ملف البيانات وتحميله إلى Blob Storage للمستخدم. يتم تأمين ملف بيانات التكوين باستخدام رمز SAS المميز في Blob Storage.

    • إصدار WMF: حدد إصدار إطار عمل إدارة Windows لتثبيته على جهازك الظاهري. إذا اخترت الأحدث، وهي القيمة الافتراضية، يقوم النظام بتثبيت أحدث إصدار من WMF. تتضمن القيم المحتملة الأخرى 4.0 و5.0 و5.1. تخضع القيم المحتملة للتحديثات.

    • تجميع البيانات: قم بتمكين هذا الإعداد إذا كنت تريد أن يجمع ملحق DSC بيانات تتبع الاستخدام حول الجهاز الظاهري الخاص بك. لمزيد من المعلومات، راجع جمع بيانات ملحق Azure DSC.

    • الإصدار: (مطلوب) حدد إصدار ملحق DSC لتثبيته. للحصول على معلومات حول الإصدارات، راجع محفوظات إصدارات ملحق Azure DSC.

    • Auto Upgrade Minor Version: يعين هذا الإعداد إلى AutoUpdate مفتاح التبديل في cmdlets. قم بتكوين هذا الإعداد لتمكين ملحق DSC من التحديث تلقائيا إلى أحدث إصدار أثناء التثبيت. نعم يرشد معالج ملحق DSC لاستخدام أحدث إصدار متوفر. لا (افتراضي) يفرض تثبيت الإصدار الذي تحدده في إعداد الإصدار .

  6. بعد تكوين المعلمات، حدد Review + Create، ثم حدد Create.

سجلات ملحق DSC

يمكنك عرض سجلات ملحق Azure DSC على الجهاز الظاهري ضمن C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.

الخطوات التالية