تكوين الأجهزة إلى الحالة المطلوبة

يسمح لك تكوين حالة أتمتة Azure بتحديد تكوينات خوادمك والتأكد من أن هذه الخوادم في الحالة المطلوبة بمرور الوقت.

  • على متن الجهاز الافتراضي الذي يدار من قبل أتمتة Azure DSC
  • تحميل تكوين ما إلى أتمتة Azure
  • تحويل التكوين برمجيًا إلى تكوين عقدة
  • تعيين تكوين عقدة لعقدة مدارة
  • التحقق من حالة التوافق لعقدة مدارة

بالنسبة إلى هذا البرنامج التعليمي، فنحن نستخدم تكوين DSC بسيطًا لضمان تثبيت IIS على الجهاز الافتراضي.

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

دعم التكوينات الجزئية

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

للحصول على تفاصيل حول كيفية تسجيل التكوين الجزئي من خدمة السحب راجع وثائق التكوينات الجزئية.

لمزيد من المعلومات حول كيفية عمل الفرق معًا لإدارة الخوادم بشكل تعاوني باستخدام التكوين كرمز، راجع فهم دور DSC في خط أنابيب CI/CD.

تسجيل الدخولِ إلى Azure

سجل الدخول إلى اشتراكك في Azure باستخدام الأمر Connect-AzAccount واتبع الإرشادات التي تظهر على الشاشة.

Connect-AzAccount

إنشاء تكوين وتحميله إلى أتمتة Azure

في محرر النص اكتب ما يلي واحفظه محليًا كـ AMPServer.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

إشعار

يجب أن تقتصر أسماء التكوين في Azure Automation على ما لا يزيد عن 100 حرف.

في سيناريوهات أكثر تقدمًا حيث تتطلب عدة وحدات نمطية ليتم استيرادها، والتي توفر موارد DSC، تأكد من أن كل وحدة نمطية لها خط Import-DscResource فريد في تكوينك.

استدعاء الأمرImport-AzAutomationDscConfiguration لتحميل التكوين إلى حساب التنفيذ التلقائي الخاص بك.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

تحويل التكوين برمجيًا إلى تكوين عقدة

يجب أن يتم تحويل تكوين DSC برمجيًا إلى تكوين عقدة قبل أن يمكن تعيينه إلى عقدة. راجع تكوينات DSC.

استدعاء الأمر Start-AzAutomationDscCompilationJob لترجمة التكوين TestConfig في تكوين العقدة المسمى TestConfig.WebServer في حساب الأتمتة خاصتك.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

تسجيل الجهاز الافتراضي ليدار بواسطة "حالة التكوين"

يمكنك استخدام حالة تكوين أتمتة Azure لإدارة أجهزة Azure الافتراضية (كل من الكلاسيكية وإدارة الموارد) والأجهزة الافتراضية المحلية وأجهزة Linux وAWS VMs وأجهزة الفعلية المحلية. في هذا الموضوع، نغطي فقط كيفية تسجيل إدارة موارد Azure VMs. للحصول على معلومات حول تسجيل أنواع أخرى من الأجهزة راجع أجهزة الدخولِ للإدارة بواسطة تكوين حالة أتمتة Azure.

استدعاء الأمر Register-AzAutomationDscNode لتسجيل الجهاز الافتراضي الخاص بك مع تكوين حالة أتمتة Azure كعقدة مدارة.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

تحديد إعدادات وضع التكوين

استخدم الأمر Register-AzAutomationDscNode لتسجيل الجهاز الافتراضي كعقدة مدارة وتحديد خصائص التكوين. على سبيل المثال، يمكنك تحديد أن حالة الجهاز يتم تطبيقها مرة واحدة فقط عن طريق التحديد ApplyOnly كقيمة ملكية ConfigurationMode. لا يحاول تكوين الحالة تطبيق التكوين بعد الفحص الأولي.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

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

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

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

الآن يمكننا تعيين إعدادات العقدة المجمعة إلى الجهاز الافتراضي الذي نود تكوينه

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id

يعين هذا التكوين العقدة المسماة TestConfig.WebServer إلى العقدة DSC المسجلة DscVm. بشكل افتراضي، يتم التحقق من عقدة DSC للامتثال لتكوين العقدة كل 30 دقيقة. للحصول على معلومات حول كيفية تغيير الفاصل الزمني للتحقق من التوافق، راجع تهيئة إدارة التكوين المحلي.

التحقق من حالة التوافق لعقدة مدارة

يمكنك الحصول على تقارير حول حالة توافق عقدة مدارة باستخدام الأمر Get-AzAutomationDscNodeReport.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id

# Display the most recent report
$reports[0]

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