تمكين Azure Automation State Configuration
إشعار
سيتم إيقاف Azure Automation State Configuration في 30 سبتمبر 2027، يرجى الانتقال إلى Azure Machine Configuration بحلول ذلك التاريخ. لمزيد من المعلومات، راجع إعلان نشر المدونة. تجمع خدمة Azure Machine Configuration بين ميزات ملحق DSC، وتكوين حالة أتمتة Azure، والميزات الأكثر شيوعا المطلوبة من ملاحظات العملاء. يتضمن تكوين جهاز Azure أيضا دعم الجهاز المختلط من خلال الخوادم الممكنة بواسطة Arc.
تنبيه
تم إيقاف Azure Automation DSC ل Linux في 30 سبتمبر 2023. لمزيد من المعلومات، راجع الإعلان.
توضح هذه المقالة كيف يمكنك إعداد أجهزتك للإدارة باستخدام Azure Automation State Configuration. للحصول على تفاصيل بشأن هذه الخدمة، راجع نظرة عامة حول Azure Automation State Configuration.
تمكين Azure VMs
باستخدام Azure Automation State Configuration، تستطيع تمكين Azure VMs بسهولة لإدارة التكوين عن طريق مدخل Azure أو قوالب Azure Resource Manager أو PowerShell. يسجل ملحق Azure VM Desired State Configuration الجهاز الظاهري مع Azure Automation State Configuration تلقائيا. بما أنه يتم تشغيل ملحق Azure بشكل غير متزامن، يمكنك تعقب مدى تقدمه عن طريق التحقق من حالة إعداد الجهاز الظاهري.
إشعار
يستخدم توزيع DSC على عقدة Linux مجلد /tmp. يتم تنزيل الوحدات مثل nxautomation
مؤقتا للتحقق من صحتها قبل تثبيتها في المواقع المناسبة. للتأكد من تثبيت الوحدات بشكل صحيح، يحتاج عامل Log Analytics لـ Linux أذونات القراءة/الكتابة على المجلد /tmp. يتم تشغيل عامل Log Analytics لـ Linux باعتباره مستخدم omsagent
.
لمنح >إذن omsagent
الكتابة للمستخدم، قم بتشغيل الأمر setfacl -m u:omsagent:rwx /tmp
.
تمكين جهاز ظاهري باستخدام مدخل Azure
لتمكين Azure VM لـ State Configuration من خلال مدخل Azure:
- انتقل إلى حساب Azure Automation حيث سيكون باستطاعتك تمكين الأجهزة الظاهرية.
- في صفحة State Configuration، حدد علامة التبويب Nodes ، ثم حدد Add.
- اختر جهاز ظاهري لتمكينه.
- إذا لم يكن الجهاز يحتوي على ملحق الحالة المطلوبة PowerShell مثبتا وحالة الطاقة قيد التشغيل، فحدد اتصال.
- ضمن تسجيل، أدخل قيم PowerShell DSC Local Configuration Manager المطلوبة لحالة الاستخدام. بشكل اختياري، يمكنك إدخال تكوين عقدة لتعيينها إلى جهاز ظاهري.
تمكين جهاز ظاهري باستخدام قوالب Azure Resource Manager
يمكنك تثبيت جهاز ظاهري وتمكينه لـ State Configuration باستخدام قوالب Azure Resource Manager. راجع الخادم المُدار بواسطة خدمة Desired State Configuration للحصول على نموذج قالب يمكّن جهاز ظاهري موجود لـ State Configuration. إذا كنت تدير مجموعة مقياس جهاز ظاهري، فشاهد نموذج القالب في تكوين مجموعة مقياس الجهاز الظاهري المدار بواسطة Azure Automation.
تمكين الأجهزة باستخدام PowerShell
يمكنك استخدام Register-AzAutomationDscNode cmdlet في PowerShell لتمكين الأجهزة الظاهرية لـ State Configuration.
إشعار
يتم Register-AzAutomationDscNode
تنفيذ cmdlet حالياً فقط للأجهزة التي تعمل بنظام التشغيل Windows، وذلك أنه يشغّل فقط ملحق Windows.
تسجيل الأجهزة الظاهرية عبر اشتراكات Azure
أفضل طريقة لتسجيل الأجهزة الظاهرية من اشتراكات Azure الأخرى هي استخدام ملحق DSC في قالب توزيع Azure Resource Manager. يتم توفير الأمثلة في ملحق Desired State Configuration مع قوالب Azure Resource Manager.
استخدام تكوين تعريف DSC لتسجيل الأجهزة المختلطة
يمكنك تمكين الأجهزة بشكل آمن لحساب Azure Automation من خلال تكوين تعريف DSC. تستخدم البروتوكولات المنفذة في DSC معلومات من تكوين التعريف للمصادقة على تكوين حالة أتمتة Azure. تسجل العقدة مع الخدمة في عنوان URL للتسجيل وتصادق باستخدام مفتاح التسجيل. أثناء التسجيل، تتفاوض عقدة DSC وخدمة DSC على شهادة فريدة للعقدة لاستخدامها للمصادقة على الخادم بعد التسجيل. تمنع هذه العملية العقد الممكّنة من انتحال بعضها صفة الآخر، على سبيل المثال، إذا تم اختراق عقدة وصارت ضارة. بعد التسجيل، لا يتم استخدام مفتاح التسجيل للمصادقة مرة أخرى، ويتم حذفه من العقدة.
يمكنك الحصول على المعلومات المطلوبة لبروتوكول تسجيل State Configuration من Keys ضمن Account Settings في مدخل Azure.
- عنوان URL للتسجيل هو حقل URL في صفحة Keys.
- مفتاح التسجيل هو قيمة الحقل مفتاح الوصول الأساسي أو الحقل مفتاح الوصول الثانوي في صفحة Keys. يمكن; استخدام أي من المفتاحين.
لمزيد من الأمان، يمكنك إعادة إنشاء مفاتيح الوصول الأساسية والثانوية لحساب Automation في أي وقت على الصفحة Keys. تمنع إعادة إنشاء المفاتيح تسجيلات العقد المستقبلية من استخدام المفاتيح السابقة.
إنشاء تكوينات تعريف DSC
لتمكين أي جهاز لـ State Configuration، يمكنك إنشاء تكوين تعريف DSC. يطلب هذا التكوين من عامل DSC سحب من و/أو الإبلاغ إلى Azure Automation State Configuration. يمكنك إنشاء تكوين تعريف DSC لـ Azure Automation State Configuration باستخدام تكوين PowerShell DSC أو Azure Automation PowerShell cmdlets.
إشعار
تحتوي تكوينات تعريف DSC على البيانات السرية اللازمة لتمكين جهاز في حساب Automation لإدارته. تأكد من توفير الحماية الملائمة لأي تكوينات تعريف تنشئها لـ DSC أو احذفها بعد الاستخدام.
يتحكم Local Configuration Manager (LCM) في دعم الوكيل لتكوينات التعريف. يعمل LCM على جميع العُقد المستهدفة وهو مسؤول عن استدعاء موارد التكوين المضمّنة في البرنامج النصي لتكوين تعريف DSC. يمكنك تضمين دعم الوكيل في تكوين تعريف عن طريق تضمين تعريفات ProxyURL
وخصائص ProxyCredential
حسب الحاجة في كتل ConfigurationRepositoryWeb
وResourceRepositoryWeb
وReportServerWeb
. مثال على إعداد URL هو ProxyURL = "http://172.16.3.6:3128";
. تُعين خاصية ProxyCredential
على عنصر PSCredential
، كما هو موضح في إدارة بيانات الاعتماد في Azure Automation.
إنشاء تكوينات تعريف DSC باستخدام تكوين DSC
افتح محرر نص، مثل Visual Studio Code (VS Code)، كمسؤول على جهاز في بيئتك المحلية. يجب أن يكون الإصدار الأخير من WMF 5 مثبتاً على الجهاز.
انسخ البرنامج النصي التالي محلياً. هذا البرنامج النصي يحتوي على تكوين PowerShell DSC لإنشاء تكوينات التعريف، وأمر لبدء إنشاء تكوين التعريف.
إشعار
أسماء State Configuration Node Configuration حساسة لحالة الأحرف في مدخل Azure. إذا كانت الحالة غير متطابقة، tلن تظهر العقدة تحت علامة التبويب العُقد.
# The DSC configuration that will generate metaconfigurations [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory=$True)] [String]$RegistrationUrl, [Parameter(Mandatory=$True)] [String]$RegistrationKey, [Parameter(Mandatory=$True)] [String[]]$ComputerName, [Int]$RefreshFrequencyMins = 30, [Int]$ConfigurationModeFrequencyMins = 15, [String]$ConfigurationMode = 'ApplyAndMonitor', [String]$NodeConfigurationName, [Boolean]$RebootNodeIfNeeded= $False, [String]$ActionAfterReboot = 'ContinueConfiguration', [Boolean]$AllowModuleOverwrite = $False, [Boolean]$ReportOnly ) if(!$NodeConfigurationName -or $NodeConfigurationName -eq '') { $ConfigurationNames = $null } else { $ConfigurationNames = @($NodeConfigurationName) } if($ReportOnly) { $RefreshMode = 'PUSH' } else { $RefreshMode = 'PULL' } Node $ComputerName { Settings { RefreshFrequencyMins = $RefreshFrequencyMins RefreshMode = $RefreshMode ConfigurationMode = $ConfigurationMode AllowModuleOverwrite = $AllowModuleOverwrite RebootNodeIfNeeded = $RebootNodeIfNeeded ActionAfterReboot = $ActionAfterReboot ConfigurationModeFrequencyMins = $ConfigurationModeFrequencyMins } if(!$ReportOnly) { ConfigurationRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey ConfigurationNames = $ConfigurationNames } ResourceRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } ReportServerWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } } # Create the metaconfigurations # NOTE: DSC Node Configuration names are case sensitive in the portal. # TODO: edit the below as needed for your use case $Params = @{ RegistrationUrl = '<fill me in>'; RegistrationKey = '<fill me in>'; ComputerName = @('<some VM to onboard>', '<some other VM to onboard>'); NodeConfigurationName = 'SimpleConfig.webserver'; RefreshFrequencyMins = 30; ConfigurationModeFrequencyMins = 15; RebootNodeIfNeeded = $False; AllowModuleOverwrite = $False; ConfigurationMode = 'ApplyAndMonitor'; ActionAfterReboot = 'ContinueConfiguration'; ReportOnly = $False; # Set to $True to have machines only report to AA DSC but not pull from it } # Use PowerShell splatting to pass parameters to the DSC configuration being invoked # For more info about splatting, run: Get-Help -Name about_Splatting DscMetaConfigs @Params
املأ مفتاح التسجيل وعنوان URL لحساب التنفيذ التلقائي وأسماء الأجهزة التي يجب تمكينها. المعلّمات الأخرى اختيارية. للعثور على مفتاح التسجيل وعنوان URL للتسجيل لحساب التنفيذ التلقائي الخاص بك، راجع استخدام تكوين تعريف DSC لتسجيل الأجهزة المختلطة.
إذا كنت تريد أن تقوم الأجهزة بالإبلاغ عن معلومات حالة DSC إلى Azure Automation State Configuration لكن دون سحب التكوين أو وحدات PowerShell، فعيّن المعلّمة
ReportOnly
على true.إذا
ReportOnly
لم يتم تعيين، تقوم الأجهزة بالإبلاغ عن معلومات حالة DSC إلى تكوين حالة أتمتة Azure وتكوين السحب أو وحدات PowerShell النمطية. قم بتعيين المعلّمات وفقا لذلك في كتلConfigurationRepositoryWeb
وResourceRepositoryWeb
وReportServerWeb
.قم بتشغيل البرنامج النصي لا بد أن يكون لديك الآن مجلد الدليل المشغّل المُسمى DscMetaConfigs، والذي يحتوي على تكوينات التعريف من PowerShell DSC للأجهزة المطلوب تمكينها (كمسؤول).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
إنشاء تكوينات تعريف DSC باستخدام Azure Automation cmdlets
يمكنك إنشاء تكوينات تعريف DSC باستخدام أوامر Cmdlets Azure Automation في ظل الشروط التالية:
- تتطابق الإعدادات الافتراضية ل LCM مع حالة الاستخدام الخاصة بك
- تريد تمكين الأجهزة من السحب من تكوين حالة التنفيذ التلقائي في Azure والإبلاغ عنه
استخدم الخطوات التالية لإنشاء تكوينات التعريف:
افتح وحدة تحكم PowerShell أو VS Code كمسؤول على جهاز في بيئتك المحلية.
اتصل بـ Azure Resource Manager باستخدام Connect-AzAccount.
قم بتنزيل تكوينات تعريف PowerShell DSC للأجهزة التي تريد تمكينها من حساب التنفيذ التلقائي الذي تقوم بإعداد العقد فيه.
# Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting $Params = @{ ResourceGroupName = 'ContosoResources' # The Resource Group that contains your Azure Automation account AutomationAccountName = 'ContosoAutomation'; # The Azure Automation account where you want to onboard the node ComputerName = @('web01', 'web02', 'sql01'); # The computers to generate the metaconfigurations for OutputFolder = "$env:UserProfile\Desktop\"; } # Use PowerShell splatting to pass parameters to the Azure Automation cmdlet being invoked # For more info about splatting, run: Get-Help -Name about_Splatting Get-AzAutomationDscOnboardingMetaconfig @Params
لا بد أن يكون لديك الآن مجلد DscMetaConfigs الذي يحتوي على تكوينات التعريف من PowerShell DSC للأجهزة المطلوب تمكينها (كمسؤول).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
تمكين أجهزة Windows الفعلية/الظاهرية
يمكنك تمكين خوادم Windows التي تعمل محلياً أو في بيئات السحابة الأخرى (بما في ذلك مثيلات AWS EC2) لـ Azure Automation State Configuration. لا بد أن يكون للخوادم وصول خارجي إلى Azure.
تأكد من تثبيت الإصدار الأخير من WMF 5 على الأجهزة لتمكينه لـ State Configuration. بالإضافة إلى ذلك، يجب تثبيت WMF 5 على الكمبيوتر الذي تستخدمه لتمكين الأجهزة.
لإنشاء مجلد يحتوي على تكوينات تعريف DSC المطلوبة، اتبع التوجيهات في إنشاء تكوينات تعريف DSC.
استخدم cmdlet التالي لتطبيق تكوينات التعريف لـ PowerShell DSC عن بُعد على الأجهزة المطلوب تمكينها.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
إذا لم تتمكن من تطبيق تكوينات تعريف PowerShell DSC عن بعد، فانسخ مجلد metaconfigurations إلى الأجهزة التي تقوم بتمكينها. بعد ذلك، أضف التعليمة البرمجية لاستدعاء Set-DscLocalConfigurationManager محلياً على الأجهزة.
باستخدام مدخل Azure أو cmdlets، تحقق من ظهور الأجهزة كعُقد State Configuration مسجلة في حساب Azure Automation.
تمكين أجهزة Linux الفعلية/الظاهرية
يمكنك تمكين خوادم Linux التي تعمل محلياً أو في بيئات أخرى على السحابة لـ State Configuration. لا بد أن يكون للخوادم وصول خارجي إلى Azure.
تأكد من تثبيت الإصدار الأخير من PowerShell Desired State Configuration لـ Linux على الأجهزة لتمكينه لـ State Configuration.
إذا كانت الإعدادات الافتراضية لـ PowerShell DSC Local Configuration Manager تتطابق مع حالة استخدامك، وكنت تريد تمكين الأجهزة بحيث تسحب من State Configuration: وتبلغه:
على كل جهاز Linux مطلوب تمكينه، استخدم
Register.py
لتمكين الجهاز بالإعدادات الافتراضية لـ PowerShell DSC Local Configuration Manager./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
للعثور على مفتاح التسجيل وعنوان URL للتسجيل لحساب التنفيذ التلقائي الخاص بك، راجع استخدام تكوين تعريف DSC لتسجيل الأجهزة المختلطة.
إذا كانت الإعدادات الافتراضية لـ PowerShell DSC Local Configuration Manager (LCM) لا تُطابق حالة الاستخدام، أو إذا كنت تريد تمكين الأجهزة التي تقوم بإبلاغ Azure Automation State Configuration، فاتبع الخطوات 4-7. أو بدلاً من ذلك، انتقل مباشرة إلى الخطوة 7.
اتبع التعليمات في المقطع إنشاء تكوينات تعريف DSC لإنشاء مجلد يحتوي على تكوينات تعريف DSC المطلوبة.
تأكد من تثبيت الإصدار الأخير من WMF 5 على الكمبيوتر المُستخدم لتمكين الأجهزة لـ State Configuration.
أضف التعليمة البرمجية كما يلي لتطبيق تكوينات تعريف PowerShell DSC عن بُعد على الأجهزة المطلوب تمكينها.
$SecurePass = ConvertTo-SecureString -String '<root password>' -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential 'root', $SecurePass $Opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck # need a CimSession for each Linux machine to onboard $Session = New-CimSession -Credential $Cred -ComputerName <your Linux machine> -Port 5986 -Authentication basic -SessionOption $Opt Set-DscLocalConfigurationManager -CimSession $Session -Path C:\Users\joe\Desktop\DscMetaConfigs
إذا لم تتمكن من تطبيق تكوينات التعريف لـ PowerShell DSC عن بُعد، فانسخ تكوينات التعريف المناظرة للأجهزة البعيدة من المجلد الموضح في الخطوة 4 إلى أجهزة Linux.
أضف تعليمة برمجية لاستدعاء
Set-DscLocalConfigurationManager.py
محلياً على كل جهاز Linux مطلوب تمكينه لـ State Configuration./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
تأكد من أن الأجهزة تظهر كعقد DSC مسجلة في حساب Azure Automation الخاص بك. يمكنك استخدام مدخل Microsoft Azure أو أوامر cmdlets.
إعادة تسجيل عقدة
بعد تسجيل جهاز كعقدة DSC في Azure Automation State Configuration، هناك عدة أسباب قد تحتاج إلى إعادة تسجيل تلك العقدة في المستقبل.
تجديد الشهادة. بالنسبة إلى الإصدارات Windows Server الأقدم من Windows Server 2019، تطالب كل عقدة تلقائياً بشهادة فريدة للمصادقة التي تنتهي صلاحيتها بعد سنة واحدة. إذا انتهت صلاحية شهادة بدون التجديد، فستكون العقدة غير قادرة على الاتصال بـ Azure Automation وستُوضع عليها العلامة
Unresponsive
. حاليا، لا يمكن لبروتوكول تسجيل PowerShell DSC تجديد الشهادات تلقائيا عند اقتراب انتهاء صلاحيتها، ويجب إعادة تسجيل العقد بعد مرور عام. قبل إعادة التسجيل، تأكد من أن كل عقدة تقوم بتشغيل WMF 5 RTM.يتم إنشاء شهادة جديدة واستخدامها إذا قمت بإعادة تسجيل 90 يوما أو أقل من وقت انتهاء صلاحية الشهادة أو في أي وقت بعد وقت انتهاء صلاحية الشهادة. تم تصحيح هذه المشكلة في Windows Server 2019 والإصدارات الأحدث.
التغييرات التي أجريت على قيم DSC LCM. قد تحتاج إلى تغيير مجموعة قيم PowerShell DSC LCM التي تم تعيينها أثناء التسجيل الأولي للعقدة، على سبيل المثال
ConfigurationMode
. يمكنك في الوقت الحالي تغيير قيم عامل DSC هذه فقط من خلال إعادة التسجيل. الاستثناء الوحيد هو قيمة تكوين العقدة. يمكنك تغيير هذه القيمة في Azure Automation DSC مباشرة.
يمكنك إعادة تسجيل عقدة تماماً كما فعلت لتسجيل العقدة في البداية، باستخدام أي من الأساليب الموضحة في هذا المستند. لا تحتاج إلى إلغاء تسجيل عقدة من Azure Automation State Configuration قبل إعادة تسجيلها.
التحقق من حالة إعداد الجهاز الظاهري
باستخدام State Configuration، يمكنك بسهولة تمكين Azure Windows VMs لإدارة التكوين. يتم استخدام ملحق Azure VM Desired State Configuration بشكل خفي لتسجيل الجهاز الظاهري مع Azure Automation State Configuration. بما أن محلق Azure VM Desired State Configuration يعمل بشكل غير متزامن، قد يكون من المهم تتبع مدى تقدمه واستكشاف أخطاء طرق تنفيذه وإصلاحها.
إشعار
قد يستغرق أي أسلوب لتمكين Azure Windows VMs for State Configuration الذي يستخدم ملحق Azure VM Desired State Configuration ما يصل إلى ساعة حتى يُظهر Azure Automation الأجهزة الظاهرية باعتبارها مسجّلة. هذا التأخير ناتج عن تثبيت WMF 5 على الجهاز الظاهري بواسطة ملحق Azure VM Desired State Configuration، الذي هو مطلوب لتمكين الأجهزة الظاهرية لـ State Configuration.
لعرض حالة ملحق Azure VM Desired State Configuration:
- في مدخل Azure، انتقل إلى الجهاز الظاهري الذي يتم تمكينه.
- حدد "الملحقات" ضمن "الإعدادات".
- والآن، حدد DSC أو DSCForLinux، حسب نظام التشغيل الذي تستخدمه.
- لمزيد من التفاصيل، يمكنك تحديد عرض الحالة التفصيلية.
الخطوات التالية
- للبدء، راجع بدء استخدام Azure Automation State Configuration.
- للتعرف على تجميع تكوينات DSC بحيث يمكنك تعيينها للعقد الهدف، راجع تجميع تكوينات DSC في Azure Automation State Configuration.
- للحصول على مرجع Cmdlet PowerShell، راجع Az.Automation.
- للحصول على معلومات التسعير، راجع تسعير تكوين حالة Azure Automation
- لعرض مثال على استخدام Azure Automation State Configuration في مسار توزيع مستمر، راجع إعداد التوزيع المستمر باستخدام Chocolatey.
- للحصول على معلومات حول استكشاف الأخطاء وإصلاحها، راجع استكشاف الأخطاء وإصلاحها لـ Azure Automation State Configuration.