تكوين الأجهزة إلى الحالة المطلوبة
يسمح لك تكوين حالة أتمتة Azure بتحديد تكوينات خوادمك والتأكد من أن هذه الخوادم في الحالة المطلوبة بمرور الوقت.
- على متن الجهاز الافتراضي الذي يدار من قبل أتمتة Azure DSC
- تحميل تكوين ما إلى أتمتة Azure
- تحويل التكوين برمجيًا إلى تكوين عقدة
- تعيين تكوين عقدة لعقدة مدارة
- التحقق من حالة التوافق لعقدة مدارة
بالنسبة إلى هذا البرنامج التعليمي، فنحن نستخدم تكوين DSC بسيطًا لضمان تثبيت IIS على الجهاز الافتراضي.
المتطلبات الأساسية
- حساب التنفيذ التلقائي في Azure. لمعرفة المزيد حول حساب التنفيذ التلقائي ومتطلباته، راجع نظرة عامة حول مصادقة حساب التنفيذ التلقائي.
- تشغيل إدارة موارد Azure للأجهزة الافتراضية (غير كلاسيكي) Windows Server 2008 R2 أو الإصدارات الأحدث. للحصول على إرشادات حول إنشاء جهاز افتراضي، راجع إنشاء أول جهاز افتراضي لـ Windows في مدخل Azure.
- نموذج Azure PowerShell الإصدار 3.6 أو الأحدث. قم بتشغيل
Get-Module -ListAvailable Az
للعثور على الإصدار. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. - الإلمام بتكوين الحالة المطلوب (DSC). للحصول على معلومات حول DSC، راجع نظرة عامة على تكوين الحالة المطلوبة Windows PowerShell.
دعم التكوينات الجزئية
يدعم تكوين حالة أتمتة 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]
الخطوات التالية
- للبدء، راجع بدء استخدام Azure Automation State Configuration.
- لمعرفة كيفية تمكين العقد، راجع تمكين Azure Automation State Configuration.
- للتعرف على تجميع تكوينات DSC بحيث يمكنك تعيينها للعقد الهدف، راجع تجميع تكوينات DSC في Azure Automation State Configuration.
- لمشاهدة مثال على استخدام Azure Automation State Configuration في البنية الأساسية لبرنامج ربط العمليات التجارية للتوزيع المستمر، راجع إعداد التوزيع المستمر باستخدام Chocolatey.
- للحصول على معلومات التسعير، راجع تسعير تكوين حالة Azure Automation
- للحصول على مرجع Cmdlet PowerShell، راجع Az.Automation.