بدء استخدام Desired State Configuration (DSC) لنظام التشغيل Linux

يشرح هذا الموضوع كيفية البدء في استخدام PowerShell Desired State Configuration (DSC) لنظام التشغيل Linux. للحصول على معلومات عامة حول DSC، راجع بدء استخدام Windows PowerShell تكوين الحالة المطلوبة.

إصدارات نظام تشغيل Linux المدعومة

يتم دعم إصدارات نظام التشغيل Linux التالية بواسطة DSC لنظام التشغيل Linux.

  • CentOS 7 و8 (x64)
  • Debian GNU/Linux 8 و9 وand 10 (x64)
  • Oracle Linux 7 (x64)
  • Red Hat Enterprise Linux Server 7 و8 (x64)
  • SUSE Linux Enterprise Server 12 و15 (x64)
  • Ubuntu Server 14.04 LTS و16.04 LTS و18.04 LTS و20.04 LTS (x64)

تثبيت DSC لنظام التشغيل Linux

يجب تثبيت البنية الأساسية للإدارة المفتوحة (OMI) قبل تثبيت DSC لنظام التشغيل Linux.

تثبيت OMI

يتطلب تكوين الحالة المطلوب لنظام التشغيل Linux خادم CIM للبنية الأساسية للإدارة المفتوحة (OMI)، الإصدار 1.0.8.1 أو أحدث. يمكن تنزيل OMI من المجموعة المفتوحة: البنية الأساسية للإدارة المفتوحة (OMI).

لتثبيت OMI، قم بتثبيت الحزمة المناسبة لنظام Linux (.rpm أو .deb) وإصدار OpenSSL (ssl_098 أو ssl_100) والبنية (x64/x86). حزم RPM مناسبة ل CentOS وRed Hat Enterprise Linux وSUSE Linux Enterprise Server وOracle Linux. حزم DEB مناسبة ل Debian GNU/Linux وUbuntu Server. حزم ssl_098 مناسبة لأجهزة الكمبيوتر التي تم تثبيت OpenSSL 0.9.8 بينما تكون حزم ssl_100 مناسبة لأجهزة الكمبيوتر المثبت بها OpenSSL 1.0.

ملاحظة

لتحديد إصدار OpenSSL المثبت، قم بتشغيل الأمر openssl version.

قم بتشغيل الأمر التالي لتثبيت OMI على نظام CentOS 7 x64.

# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm

تثبيت DSC

يتوفر DSC لنظام التشغيل Linux للتنزيل من مستودع PowerShell-DSC-for-Linux في المستودع.

لتثبيت DSC، قم بتثبيت الحزمة المناسبة لنظام Linux (.rpm أو .deb) وإصدار OpenSSL والبنية (x64/x86). حزم RPM مناسبة ل CentOS وRed Hat Enterprise Linux وSUSE Linux Enterprise Server وOracle Linux. حزم DEB مناسبة ل Debian GNU/Linux وUbuntu Server.

ملاحظة

دعم DSC Linux OpenSSL حتى الإصدار 1.1. لتحديد إصدار OpenSSL المثبت، قم بتشغيل الأمر openssl version.

قم بتشغيل الأمر التالي لتثبيت DSC على نظام CentOS 7 x64.

# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm

استخدام DSC لنظام التشغيل Linux

تشرح الأقسام التالية كيفية إنشاء تكوينات DSC وتشغيلها على أجهزة كمبيوتر Linux.

إنشاء مستند MOF للتكوين

يتم استخدام الكلمة الأساسية Windows PowerShell Configuration لإنشاء تكوين لأجهزة كمبيوتر Linux، تماما كما هو الحال مع أجهزة كمبيوتر Windows. تصف الخطوات التالية إنشاء مستند تكوين لجهاز كمبيوتر Linux باستخدام Windows PowerShell.

  1. استيراد الوحدة النمطية nx. تحتوي الوحدة النمطية nx Windows PowerShell على مخطط موارد Built-In ل DSC لنظام التشغيل Linux، ويجب تثبيتها على الكمبيوتر المحلي واستيرادها في التكوين.

    • لتثبيت الوحدة النمطية nx، انسخ دليل الوحدة النمطية nx إلى إما $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ أو $PSHOME\Modules. يتم تضمين الوحدة النمطية nx في حزمة تثبيت DSC ل Linux. لاستيراد الوحدة النمطية nx في التكوين الخاص بك، استخدم Import-DSCResource الأمر :
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. تعريف التكوين وإنشاء مستند التكوين:

    Configuration ExampleConfiguration
    {
         Import-DSCResource -ModuleName nx
    
         Node  "linuxhost.contoso.com"
         {
             nxFile ExampleFile
             {
                 DestinationPath = "/tmp/example"
                 Contents = "hello world `n"
                 Ensure = "Present"
                 Type = "File"
             }
         }
    }
    
    ExampleConfiguration -OutputPath:"C:\temp"
    

دفع التكوين إلى كمبيوتر Linux

يمكن دفع مستندات التكوين (ملفات MOF) إلى كمبيوتر Linux باستخدام الأمر Start-DscConfiguration cmdlet. لاستخدام cmdlet هذا، جنبا إلى جنب مع Get-DscConfiguration أو Test-DscConfiguration cmdlets، عن بعد إلى كمبيوتر Linux، يجب عليك استخدام CIMSession. يتم استخدام New-CimSession cmdlet لإنشاء CIMSession إلى كمبيوتر Linux.

توضح التعليمات البرمجية التالية كيفية إنشاء CIMSession ل DSC لنظام التشغيل Linux.

$Node = "ostc-dsc-01"
$Credential = Get-Credential -UserName "root" -Message "Enter Password:"

#Ignore SSL certificate validation
# $opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck

#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl

$sessParams = @{
    Credential = $credential
    ComputerName = $Node
    Port = 5986
    Authentication = 'basic'
    SessionOption = $opt
    OperationTimeoutSec = 90
}

$Sess = New-CimSession @sessParams

ملاحظة

بالنسبة لوضع "Push"، يجب أن تكون بيانات اعتماد المستخدم هي المستخدم الجذر على كمبيوتر Linux. يتم دعم اتصالات SSL/TLS فقط ل DSC لنظام التشغيل Linux، New-CimSession ويجب استخدام مع تعيين المعلمة –UseSSL إلى $true. يتم تحديد شهادة SSL المستخدمة من قبل OMI (ل DSC) في الملف: /etc/opt/omi/conf/omiserver.conf مع الخصائص: pemfile وkeyfile. إذا كانت هذه الشهادة غير موثوق بها من قبل كمبيوتر Windows الذي تقوم بتشغيل cmdlet New-CimSession عليه، يمكنك اختيار تجاهل التحقق من صحة الشهادة باستخدام خيارات CIMSession: -SkipCACheck -SkipCNCheck -SkipRevocationCheck

قم بتشغيل الأمر التالي لدفع تكوين DSC إلى عقدة Linux.

Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose

توزيع التكوين باستخدام خادم سحب

يمكن توزيع التكوينات على كمبيوتر Linux مع خادم سحب، تماما كما هو الحال مع أجهزة الكمبيوتر التي تعمل بنظام Windows. للحصول على إرشادات حول استخدام خادم سحب، راجع Windows PowerShell خوادم سحب تكوين الحالة المطلوبة. للحصول على معلومات وقيود إضافية تتعلق باستخدام أجهزة كمبيوتر Linux مع خادم سحب، راجع ملاحظات الإصدار لتكوين الحالة المطلوبة لنظام التشغيل Linux.

العمل مع التكوينات محليا

يتضمن DSC لنظام التشغيل Linux برامج نصية للعمل مع التكوين من كمبيوتر Linux المحلي. يتم تحديد موقع هذه البرامج النصية وتضمين /opt/microsoft/dsc/Scripts ما يلي:

  • GetDscConfiguration.py

    إرجاع التكوين الحالي المطبق على الكمبيوتر. على غرار cmdlet cmdlet Get-DscConfiguration Windows PowerShell.

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.py

    إرجاع تكوين التعريف الحالي المطبق على الكمبيوتر. على غرار cmdlet Get-DSCLocalConfigurationManager cmdlet.

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.py

    تثبيت وحدة مورد DSC مخصصة. يتطلب المسار إلى ملف .zip يحتوي على مكتبة الكائنات المشتركة للوحدة النمطية وملفات MOF للمخطط.

    # sudo ./InstallModule.py /tmp/cnx_Resource.zip

  • RemoveModule.py

    إزالة وحدة مورد DSC مخصصة. يتطلب اسم الوحدة النمطية لإزالتها.

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.py

    تطبيق ملف MOF للتكوين على الكمبيوتر. مشابه ل Start-DscConfiguration cmdlet. يتطلب المسار إلى التكوين MOF لتطبيقه.

    # sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof

  • SetDscLocalConfigurationManager.py

    تطبيق ملف Meta Configuration MOF على الكمبيوتر. مشابه ل Set-DSCLocalConfigurationManager cmdlet. يتطلب المسار إلى Meta Configuration MOF لتطبيقه.

    # sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof

تكوين الحالة المطلوبة ل PowerShell لملفات سجل Linux

يتم إنشاء ملفات السجل التالية لرسائل DSC ل Linux.

ملف السجل الدليل الوصف
omiserver.log /var/opt/omi/log الرسائل المتعلقة بتشغيل خادم OMI CIM.
dsc.log /var/opt/omi/log الرسائل المتعلقة بتشغيل عمليات موارد Configuration Manager المحلية (LCM) وDSC.