Linux için Desired State Configuration (DSC) kullanmaya başlama

Bu konuda, Linux için PowerShell Desired State Configuration (DSC) kullanmaya başlama adımları açıklanmaktadır. DSC hakkında genel bilgi için bkz. Windows PowerShell Desired State Configuration kullanmaya başlama.

Desteklenen Linux işlem sistemi sürümleri

Aşağıdaki Linux işletim sistemi sürümleri Linux için DSC tarafından desteklenir.

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

Linux için DSC'yi yükleme

Linux için DSC'yi yüklemeden önce Açık Yönetim Altyapısı'nı (OMI) yüklemeniz gerekir.

OMI'yi yükleme

Linux için Desired State Configuration Için Açık Yönetim Altyapısı (OMI) CIM sunucusu, sürüm 1.0.8.1 veya üzeri gerekir. OMI, Açık Grup: Açık Yönetim Altyapısı 'ndan (OMI) indirilebilir.

OMI'yi yüklemek için Linux sisteminiz (.rpm veya .deb) ve OpenSSL sürümünüz (ssl_098 veya ssl_100) için uygun paketi ve mimariyi (x64/x86) yükleyin. RPM paketleri CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server ve Oracle Linux için uygundur. DEB paketleri Debian GNU/Linux ve Ubuntu Server için uygundur. ssl_098 paketleri OpenSSL 0.9.8 yüklü bilgisayarlar için, ssl_100 paketleri ise OpenSSL 1.0 yüklü bilgisayarlar için uygundur.

Not

Yüklü OpenSSL sürümünü belirlemek için komutunu openssl versionçalıştırın.

Bir CentOS 7 x64 sistemine OMI yüklemek için aşağıdaki komutu çalıştırın.

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

DSC'yi yükleme

Linux için DSC, depodaki PowerShell-DSC-for-Linux deposundan indirilebilir.

DSC'yi yüklemek için Linux sisteminize (.rpm veya .deb), OpenSSL sürümüne ve mimarinize (x64/x86) uygun paketi yükleyin. RPM paketleri CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server ve Oracle Linux için uygundur. DEB paketleri Debian GNU/Linux ve Ubuntu Server için uygundur.

Not

Sürüm 1.1'e kadar DSC Linux OpenSSL desteği. Yüklü OpenSSL sürümünü belirlemek için komutunu openssl versionçalıştırın.

CentOS 7 x64 sistemine DSC yüklemek için aşağıdaki komutu çalıştırın.

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

Linux için DSC kullanma

Aşağıdaki bölümlerde Linux bilgisayarlarda DSC yapılandırmalarının nasıl oluşturulacağı ve çalıştıracağı açıklanmaktadır.

Yapılandırma MOF belgesi oluşturma

Windows PowerShell Configuration anahtar sözcüğü, Windows bilgisayarlar için olduğu gibi Linux bilgisayarlar için bir yapılandırma oluşturmak için kullanılır. Aşağıdaki adımlarda, Windows PowerShell kullanılarak bir Linux bilgisayar için yapılandırma belgesi oluşturma işlemi açıklanmaktadır.

  1. nx modülünü içeri aktarın. nx Windows PowerShell modülü, Linux için DSC için Built-In kaynaklarının şemasını içerir ve yerel bilgisayarınıza yüklenip yapılandırmada içeri aktarılması gerekir.

    • nx modülünü yüklemek için nx modülü dizinini veya $PSHOME\Modulesöğesine $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ kopyalayın. nx modülü Linux için DSC yükleme paketine dahildir. Yapılandırmanızda nx modülünü içeri aktarmak için komutunu Import-DSCResource kullanın:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. Bir yapılandırma tanımlayın ve yapılandırma belgesini oluşturun:

    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"
    

Yapılandırmayı Linux bilgisayara gönderme

Yapılandırma belgeleri (MOF dosyaları) Start-DscConfiguration cmdlet'i kullanılarak Linux bilgisayara gönderilebilir. Bu cmdlet'i Get-DscConfiguration veya Test-DscConfiguration cmdlet'leriyle birlikte linux bilgisayara uzaktan kullanmak için CIMSession kullanmanız gerekir. New-CimSession cmdlet'i Linux bilgisayara cimsession oluşturmak için kullanılır.

Aşağıdaki kod, Linux için DSC için CIMSession oluşturmayı gösterir.

$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

Not

"Gönderme" modu için, kullanıcı kimlik bilgilerinin Linux bilgisayardaki kök kullanıcı olması gerekir. Linux için DSC için yalnızca SSL/TLS bağlantıları desteklenir; New-CimSession –UseSSL parametresi $true olarak ayarlı olarak kullanılmalıdır. OMI (DSC için) tarafından kullanılan SSL sertifikası dosyada belirtilir: /etc/opt/omi/conf/omiserver.conf pemfile ve keyfile özelliklerine sahiptir. Bu sertifikaya New-CimSession cmdlet'ini çalıştırdığınız Windows bilgisayarı güvenmezse CIMSession Seçenekleri ile sertifika doğrulamasını yoksaymayı seçebilirsiniz: -SkipCACheck -SkipCNCheck -SkipRevocationCheck

DSC yapılandırmasını Linux düğümüne göndermek için aşağıdaki komutu çalıştırın.

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

Yapılandırmayı çekme sunucusuyla dağıtma

Yapılandırmalar, Windows bilgisayarlar için olduğu gibi çekme sunucusu olan bir Linux bilgisayara dağıtılabilir. Çekme sunucusu kullanma hakkında yönergeler için bkz. Çekme Sunucularını Windows PowerShell Desired State Configuration. Linux bilgisayarları çekme sunucusuyla kullanmayla ilgili ek bilgi ve sınırlamalar için bkz. Linux için Desired State Configuration Sürüm Notları.

Yapılandırmalarla yerel olarak çalışma

Linux için DSC, yerel Linux bilgisayarından yapılandırmayla çalışacak betikler içerir. Bu betikler içinde /opt/microsoft/dsc/Scripts bulunur ve aşağıdakileri içerir:

  • GetDscConfiguration.py

    Bilgisayara uygulanan geçerli yapılandırmayı döndürür. Windows PowerShell cmdlet cmdlet'ine Get-DscConfiguration benzer.

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.py

    Bilgisayara uygulanan geçerli meta yapılandırmayı döndürür. Get-DSCLocalConfigurationManager cmdlet'ine benzer.

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.py

    Özel bir DSC kaynak modülü yükler. Modülün paylaşılan nesne kitaplığını ve şema MOF dosyalarını içeren bir .zip dosyasının yolunu gerektirir.

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

  • RemoveModule.py

    Özel bir DSC kaynak modülünü kaldırır. Kaldırılacak modülün adını gerektirir.

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.py

    Bilgisayara bir yapılandırma MOF dosyası uygular. Start-DscConfiguration cmdlet'ine benzer. Uygulanacak yapılandırma MOF'sinin yolunu gerektirir.

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

  • SetDscLocalConfigurationManager.py

    Bilgisayara bir Meta Yapılandırma MOF dosyası uygular. Set-DSCLocalConfigurationManager cmdlet'ine benzer. Uygulanacak Meta Yapılandırma MOF yolunu gerektirir.

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

Linux Günlük Dosyaları için PowerShell Desired State Configuration

Linux iletileri için DSC için aşağıdaki günlük dosyaları oluşturulur.

Günlük dosyası Directory Description
omiserver.log /var/opt/omi/log OMI CIM sunucusunun işlemiyle ilgili iletiler.
dsc.log /var/opt/omi/log Yerel Configuration Manager (LCM) ve DSC kaynak işlemlerinin işlemiyle ilgili iletiler.