مقدمة عن معالج ملحق Azure Desired State Configuration
يعد عامل جهاز Azure الظاهري والملحقات المرتبطة به جزءاً من خدمات البنية الأساسية لـ Microsoft Azure. ملحقات VM هي مكونات برمجية تعمل على توسيع وظائف VM وتبسيط عمليات إدارته المختلفة.
ملاحظة
قبل تمكين ملحق DSC، نود أن تعرف أن هناك إصداراً أحدث من DSC متوفراً الآن في المعاينة، تتم إدارته بواسطة ميزة Azure Policy تسمى تكوين الضيف. تجمع ميزة تكوين الضيف بين ميزات معالج ملحق Desired State Configuration (DSC) وAzure Automation State Configuration، والميزات الأكثر طلباً من ملاحظات العملاء. يتضمن تكوين الضيف أيضاً دعم الجهاز المختلط من خلال الخوادم الممكنة بواسطة Arc.
حالة الاستخدام الأساسية لملحق Azure Desired State Configuration (DSC) هي تمهيد تشغيل جهاز ظاهري إلى خدمة Azure Automation State Configuration (DSC). توفر الخدمة مزايا تتضمن الإدارة المستمرة لتكوين الجهاز الظاهري والتكامل مع الأدوات التشغيلية الأخرى، مثل Azure Monitoring. يوفر استخدام الملحق لتسجيل الأجهزة الظاهرية في الخدمة حلاً مرناً يعمل حتى عبر اشتراكات Azure.
يمكنك استخدام ملحق DSC بشكل مستقل عن خدمة Automation DSC. ومع ذلك، سيؤدي هذا فقط إلى دفع التكوين إلى الجهاز الظاهري. لا تتوفر تقارير مستمرة، بخلاف المتوفر محلياً في VM.
توفر هذه المقالة معلومات حول كلا السيناريوهين: استخدام ملحق DSC لإعداد التنفيذ التلقائي، واستخدام ملحق DSC كأداة لتعيين التكوينات إلى الأجهزة الظاهرية باستخدام Azure SDK.
المتطلبات الأساسية
- الجهاز المحلي: للتفاعل مع ملحق أجهزة Azure الظاهرية، يجب عليك استخدام مدخل Microsoft Azure أو Azure PowerShell SDK.
- عامل الضيف: يجب أن يكون جهاز Azure الظاهري الذي تم تكوينه بواسطة تكوين DSC نظام تشغيل يدعم Windows Management Framework (WMF) 4.0 أو أحدث. للحصول على القائمة الكاملة لإصدارات نظم التشغيل المدعومة، راجع محفوظات إصدارات ملحق DSC.
المصطلحات والمفاهيم
يفترض هذا الدليل الإلمام بالمفاهيم التالية:
- التكوين: مستند تكوين DSC.
- العقدة: هدف لتكوين DSC. في هذا المستند، تشير العقدة دائماً إلى جهاز Azure ظاهري.
- بيانات التكوين: ملف .psd1 يحتوي على بيانات بيئية للتكوين.
التصميم
يستخدم ملحق تكوين الحالة المطلوبة من Azure إطار عمل عامل VM Azure لتسليم تكوينات الحالة المطلوبة التي تعمل على Azure VMs، وسنها، وإعداد تقرير عنها. يقبل ملحق DSC مستند تكوين ومجموعة من المعلمات. في حال عدم توفير ملف، يتم تضمين برنامج نصي للتكوين الافتراضي مع الملحق. يُستخدم البرنامج النصي للتكوين الافتراضي فقط لتعيين بيانات التعريف في Configuration Manager المحلية.
عند استدعاء الملحق لأول مرة، فإنه يقوم بتثبيت إصدار من WMF باستخدام المنطق التالي:
- إذا كان نظام تشغيل جهاز Azure ظاهري هو Windows Server 2016، فلن يتم اتخاذ أي إجراء. تم تثبيت أحدث إصدار من PowerShell على Windows Server 2016 بالفعل.
- إذا تم تحديد الخاصية wmfVersion، يتم تثبيت هذا الإصدار من WMF، ما لم يكن هذا الإصدار غير متوافق مع نظام تشغيل الجهاز الظاهري.
- إذا لم يتم تحديد خاصية wmfVersion، يتم تثبيت أحدث إصدار قابل للتطبيق من WMF.
يتطلب تثبيت WMF إعادة تشغيل. بعد إعادة التشغيل، يقوم الملحق بتنزيل ملف .zip المحدد في خاصية modulesUrl، إذا تم توفيره. إذا كان هذا الموقع في تخزين Azure Blob، فيمكنك تحديد رمز SAS مميز في الخاصية sasToken للوصول إلى الملف. بعد تنزيل ملف .zip وفك ضغطه، تعمل وظيفة التكوين المحددة في configurationFunction لإنشاء ملف .mof (تنسيق العنصر المُدار). ثم يتم تشغيل الملحق Start-DscConfiguration -Force باستخدام ملف .mof الذي تم إنشاؤه. يلتقط الملحق الإخراج ويكتبه إلى قناة حالة Azure.
البرنامج النصي للتكوين الافتراضي
يتضمن ملحق Azure DSC نصاً برمجياً للتكوين الافتراضي مخصصاً للاستخدام عند إعداد جهاز ظاهري لخدمة Azure Automation DSC. تتم محاذاة معلمات البرنامج النصي مع الخصائص القابلة للتكوين لـ Configuration Manager المحلية. للحصول على معلمات البرنامج النصي، راجع البرنامج النصي للتكوين الافتراضي في ملحق Desired State Configuration مع قوالب Azure Resource Manager. للحصول على البرنامج النصي الكامل، راجع قالب التشغيل السريع من Azure في GitHub.
معلومات للتسجيل في خدمة Azure Automation State Configuration (DSC)
عند استخدام ملحق DSC لتسجيل عقدة مع خدمة State Configuration، ستحتاج إلى توفير ثلاث قيم.
- RegistrationUrl - عنوان https لحساب Azure Automation
- RegistrationKey - بيانات سرية مشتركة تُستخدم لتسجيل العقد مع الخدمة
- NodeConfigurationName - اسم تكوين العقدة (MOF) للسحب من الخدمة لتكوين دور الخادم
يمكن رؤية هذه المعلومات في مدخل Microsoft Azure أو يمكنك استخدام PowerShell.
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey
بالنسبة لاسم تكوين العقدة، تأكد من وجود تكوين العقدة في Azure State Configuration. إذا لم يكن موجوداً، فسيرجع توزيع الملحق فشلاً. تأكد أيضاً من أنك تستخدم اسم تكوين العقدة وليس التكوين.
يتم تعريف التكوين في برنامج نصي يُستخدم لتحويل تكوين العقدة (ملف MOF) برمجياً.
سيكون الاسم دائماً هو التكوين متبوعاً بنقطة . وإما localhost أو اسم كمبيوتر محدد.
ملحق DSC في قوالب Resource Manager
في معظم السيناريوهات، تكون قوالب توزيع Resource Manager هي الطريقة المتوقعة للعمل مع ملحق DSC. لمزيد من المعلومات وللحصول على أمثلة حول كيفية تضمين ملحق DSC في قوالب توزيع Resource Manager، راجع ملحق Desired State Configuration مع قوالب Azure Resource Manager.
PowerShell cmdlets لملحق DSC
تُستخدم PowerShell cmdlets المُستخدمة لإدارة ملحق DSC بشكل أفضل في سيناريوهات استكشاف الأخطاء وإصلاحها وجمع المعلومات بشكل تفاعلي. يمكنك استخدام cmdlets لحزم عمليات توزيع ملحقات DSC ونشرها ومراقبتها. لم يتم بعد تحديث Cmdlets لملحق DSC للعمل مع البرنامج النصي للتكوين الافتراضي.
يأخذ Publish-AzVMDscConfiguration cmdlet ملف تكوين ويقوم بفحصه بحثاً عن موارد DSC التابعة ثم يقوم بإنشاء ملف .zip. يحتوي ملف .zip على موارد التكوين وDSC اللازمة لتفعيل التكوين. يمكن لـ cmdlet أيضاً إنشاء الحزمة محلياً باستخدام المعلمة -OutputArchivePath. بخلاف ذلك، ينشر cmdlet ملف .zip إلى تخزين الكائن الثنائي كبير الحجم، ثم يؤمنه برمز SAS المميز.
البرنامج النصي لتكوين .ps1 الذي يقوم cmdlet بإنشائه موجود في ملف .zip في جذر مجلد الأرشيف. يتم وضع مجلد الوحدة النمطية في مجلد الأرشيف في الموارد.
يقوم Set-AzVMDscExtension cmdlet بحقن الإعدادات التي يتطلبها ملحق PowerShell DSC في عنصر تكوين جهاز ظاهري.
يقوم Get-AzVMDscExtension cmdlet باسترداد حالة ملحق DSC لجهاز ظاهري محدد.
يسترد Get-AzVMDscExtensionStatus cmdlet حالة تكوين DSC الذي تم تفعيله بواسطة معالج ملحق DSC. يمكن تنفيذ هذا الإجراء على جهاز ظاهري واحد أو على مجموعة من الأجهزة الظاهرية.
يزيل Remove-AzVMDscExtension cmdlet معالج الملحقات من جهاز ظاهري محدد. لا يقوم cmdlet هذا بإزالة التكوين، أو إزالة تثبيت WMF، أو تغيير الإعدادات المُطبقة على الجهاز الظاهري. يزيل فقط معالج الملحق.
معلومات هامة حول cmdlets الخاصة بملحق Resource Manager DSC:
- Azure Resource Manager cmdlets متزامنة.
- معلمات ResourceGroupName، وVMName، وArchiveStorageAccountName، وVersion، وLocation جميعها مطلوبة.
- المعلمة ArchiveResourceGroupName هي معلمة اختيارية. يمكنك تحديد هذه المعلمة عندما ينتمي حساب التخزين الخاص بك إلى مجموعة موارد مختلفة عن المجموعة التي تم إنشاء الجهاز الظاهري فيها.
- استخدم المفتاح "AutoUpdate" لتحديث معالج الملحقات تلقائياً إلى أحدث إصدار عند توفره. هذه المعلمة لديها القدرة على التسبب في إعادة التشغيل على الجهاز الظاهري عندما يصدر إصدار جديد من WMF.
ابدأ باستخدام cmdlets
يمكن لملحق Azure DSC استخدام مستندات تكوين DSC لتكوين أجهزة Azure الظاهرية مباشرة أثناء التوزيع. لا تقوم هذه الخطوة بتسجيل العقدة في التشغيل التلقائي. لا تتم إدارة العقدة مركزياً.
يوضح المثال التالي مثالاً بسيطاً على تكوين. احفظ التكوين محلياً كـ iisInstall.ps1.
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
تضع الأوامر التالية البرنامج النصي 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:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
بالنسبة للجهاز الظاهري الذي يعمل بنظام التشغيل Linux:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSCForLinux \
--publisher Microsoft.OSTCExtensions \
--version 2.7 --protected-settings '{}' \
--settings '{}'
وظائف مدخل Microsoft Azure
لإعداد DSC في المدخل:
- اذهب إلى جهاز VM.
- ضمن الإعدادات، حدد "Extensions" .
- في الصفحة الجديدة التي تم إنشاؤها، حدد "+ Add"، ثم حدد "PowerShell Desired State Configuration".
- انقر على "Create" في أسفل صفحة معلومات الملحق.
يجمع المدخل المدخلات التالية:
الوحدات النمطية أو البرنامج النصي للتكوين: هذا الحقل إلزامي (لم يتم تحديث النموذج للبرنامج النصي للتكوين الافتراضي). تتطلب الوحدات النمطية للتكوين والبرامج النصية ملف.ps1 يحتوي على برنامج نصي للتكوين أو ملف .zip مع برنامج نصي للتكوين .ps1 في الجذر. إذا كنت تستخدم ملف .zip، فيجب تضمين جميع الموارد التابعة في مجلدات الوحدة النمطية في .zip. يمكنك إنشاء ملف .zip باستخدام Publish-AzureVMDscConfiguration -OutputArchivePath cmdlet المُضمَّن في Azure PowerShell SDK. يتم تحميل ملف .zip إلى تخزين الكائن الثنائي كبير الحجم الخاص بالمستخدم وتأمينه برمز SAS المميز.
اسم التكوين المؤهل للوحدة النمطية: يمكنك تضمين وظائف تكوين متعددة في ملف .ps1. أدخل اسم البرنامج النصي للتكوين .ps1 متبوعاً بـ \ واسم دالة التكوين. على سبيل المثال، إذا كان البرنامج النصي .ps1 يسمى configuration.ps1 وكان التكوين هو IisInstall، فأدخل configuration.ps1\IisInstall.
وسيطات التكوين: إذا كانت دالة التكوين تأخذ وسيطات، فأدخلها هنا بالتنسيق argumentName1=value1,argumentName2=value2. يختلف هذا التنسيق عن تنسيق يتم فيه قبول وسيطات التكوين في PowerShell cmdlets أو قوالب Resource Manager.
ملف PSD1 لبيانات التكوين: إذا كان التكوين يتطلب ملف بيانات تكوين في
.psd1، فاستخدم هذا الحقل لتحديد ملف البيانات وتحميله إلى تخزين الكائن الثنائي كبير الحجم الخاص بالمستخدم. يتم تأمين ملف بيانات التكوين بواسطة رمز SAS المميز في تخزين الكائن الثنائي كبير الحجم.إصدار WMF: يحدد إصدار Windows Management Framework (WMF) الواجب تثبيته على الجهاز الظاهري. يؤدي تعيين هذه الخاصية إلى أحدث تثبيت لأحدث إصدار من WMF. حالياً، القيم الوحيدة الممكنة لهذه الخاصية هي 4.0، و5.0، و5.1 والأحدث. تخضع هذه القيم الممكنة للتحديثات. القيمة الافتراضية هي الأحدث.
جمع البيانات: يحدد ما إذا كان الملحق سيجمع بيانات تتبع الاستخدام. لمزيد من المعلومات، راجع جمع بيانات ملحق Azure DSC.
الإصدار: يحدد إصدار ملحق DSC المراد تثبيته. للحصول على معلومات حول الإصدارات، راجع محفوظات إصدارات ملحق DSC.
إصدار ثانوي للترقية التلقائية: يتم تعيين هذا الحقل على مفتاح "AutoUpdate" في cmdlets ويمكّن الملحق من التحديث تلقائياً إلى أحدث إصدار أثناء التثبيت. "Yes" سوف يوجه معالج الملحقات لاستخدام أحدث إصدار متاح و"No" سيفرض الإصدار المحدد ليتم تثبيته. يؤدي عدم اختيار "Yes" أو "No" إلى نفس نتيجة اختيار "No".
السجلات
يتم تخزين سجلات الملحق في الموقع التالي: C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>
الخطوات التالية
- لمزيد من المعلومات حول PowerShell DSC، انتقل إلى مركز وثائق PowerShell.
- قم بفحص قالب Resource Manager لملحق DSC.
- لمزيد من الوظائف التي يمكنك إدارتها باستخدام PowerShell DSC، ولمزيد من موارد DSC، استعرض معرض PowerShell.
- للحصول على تفاصيل حول تمرير المعلمات الحساسة إلى التكوينات، راجع إدارة بيانات الاعتماد بأمان مع معالج ملحق DSC.