Wprowadzenie do konfiguracji żądanego stanu (DSC) dla systemu LinuxGet started with Desired State Configuration (DSC) for Linux

W tym temacie wyjaśniono, jak rozpocząć pracę z konfiguracją żądanego stanu (DSC) programu PowerShell dla systemu Linux.This topic explains how to get started using PowerShell Desired State Configuration (DSC) for Linux. Aby uzyskać ogólne informacje na temat DSC, zobacz Wprowadzenie do konfiguracji żądanego stanu programu Windows PowerShell.For general information about DSC, see Get Started with Windows PowerShell Desired State Configuration.

Obsługiwane wersje systemu operacyjnego LinuxSupported Linux operation system versions

Następujące wersje systemu operacyjnego Linux są obsługiwane przez DSC w systemie Linux.The following Linux operating system versions are supported by DSC for Linux.

  • CentOS 5, 6 i 7 (x86/x64)CentOS 5, 6, and 7 (x86/x64)
  • Debian GNU/Linux 6, 7 i 8 (x86/x64)Debian GNU/Linux 6, 7 and 8 (x86/x64)
  • Oracle Linux 5, 6 i 7 (x86/x64)Oracle Linux 5, 6 and 7 (x86/x64)
  • Red Hat Enterprise Linux Server 5, 6 i 7 (x86/x64)Red Hat Enterprise Linux Server 5, 6 and 7 (x86/x64)
  • SUSE Linux Enterprise Server 10, 11 i 12 (x86/x64)SUSE Linux Enterprise Server 10, 11 and 12 (x86/x64)
  • Ubuntu Server 12,04 LTS, 14,04 LTS, 16,04 LTS (x86/x64)Ubuntu Server 12.04 LTS, 14.04 LTS, 16.04 LTS (x86/x64)

Instalowanie DSC dla systemu LinuxInstalling DSC for Linux

Przed zainstalowaniem usługi DSC dla systemu Linux należy zainstalować infrastrukturę zarządzania Open (OMI) .You must install the Open Management Infrastructure (OMI) before installing DSC for Linux.

Instalowanie OMIInstalling OMI

Konfiguracja żądanego stanu dla systemu Linux wymaga serwera OMI (Open Management Infrastructure) w wersji 1.0.8.1 lub nowszej.Desired State Configuration for Linux requires the Open Management Infrastructure (OMI) CIM server, version 1.0.8.1 or later. OMI można pobrać z otwartej grupy: Open Management Infrastructure (OMI).OMI can be downloaded from The Open Group: Open Management Infrastructure (OMI).

Aby zainstalować OMI, zainstaluj pakiet odpowiedni dla systemu Linux (. rpm lub. deb) i wersji OpenSSL (ssl_098 lub ssl_100) oraz architektury (x64/x86).To install OMI, install the package that is appropriate for your Linux system (.rpm or .deb) and OpenSSL version (ssl_098 or ssl_100), and architecture (x64/x86). Pakiety RPM są odpowiednie dla CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server i Oracle Linux.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. Pakiety DEB są odpowiednie dla Debian GNU/Linux i Ubuntu Server.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. Pakiety ssl_098 są odpowiednie dla komputerów z zainstalowanym programem OpenSSL 0.9.8, gdy pakiety ssl_100 są odpowiednie dla komputerów z zainstalowanym OpenSSL 1,0.The ssl_098 packages are appropriate for computers with OpenSSL 0.9.8 installed while the ssl_100 packages are appropriate for computers with OpenSSL 1.0 installed.

Uwaga

Aby określić zainstalowaną wersję programu OpenSSL, uruchom polecenie openssl version .To determine the installed OpenSSL version, run the command openssl version.

Uruchom następujące polecenie, aby zainstalować program OMI w systemie CentOS 7 x64.Run the following command to install OMI on a CentOS 7 x64 system.

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

Instalowanie DSCInstalling DSC

Konfiguracja DSC dla systemu Linux jest dostępna do pobrania z repozytorium programu PowerShell-DSC-for-Linux w repozytorium.DSC for Linux is available for download from the PowerShell-DSC-for-Linux repository in the repository.

Aby zainstalować DSC, zainstaluj pakiet odpowiedni dla systemu Linux (. rpm lub. deb) i wersji OpenSSL (ssl_098 lub ssl_100) oraz architektury (x64/x86).To install DSC, install the package that is appropriate for your Linux system (.rpm or .deb) and OpenSSL version (ssl_098 or ssl_100), and architecture (x64/x86). Pakiety RPM są odpowiednie dla CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server i Oracle Linux.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. Pakiety DEB są odpowiednie dla Debian GNU/Linux i Ubuntu Server.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. Pakiety ssl_098 są odpowiednie dla komputerów z zainstalowanym programem OpenSSL 0.9.8, gdy pakiety ssl_100 są odpowiednie dla komputerów z zainstalowanym OpenSSL 1,0.The ssl_098 packages are appropriate for computers with OpenSSL 0.9.8 installed while the ssl_100 packages are appropriate for computers with OpenSSL 1.0 installed.

Uwaga

Aby określić zainstalowaną wersję programu OpenSSL, uruchom polecenie w wersji OpenSSL.To determine the installed OpenSSL version, run the command openssl version.

Uruchom następujące polecenie, aby zainstalować DSC w systemie CentOS 7 x64.Run the following command to install DSC on a CentOS 7 x64 system.

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

Korzystanie z usługi DSC dla systemu LinuxUsing DSC for Linux

W poniższych sekcjach wyjaśniono, jak tworzyć i uruchamiać konfiguracje DSC na komputerach z systemem Linux.The following sections explain how to create and run DSC configurations on Linux computers.

Tworzenie dokumentu MOF konfiguracjiCreating a configuration MOF document

Słowo kluczowe konfiguracji programu Windows PowerShell służy do tworzenia konfiguracji dla komputerów z systemem Linux, podobnie jak w przypadku komputerów z systemem Windows.The Windows PowerShell Configuration keyword is used to create a configuration for Linux computers, just like for Windows computers. Poniższe kroki opisują Tworzenie dokumentu konfiguracji dla komputera z systemem Linux przy użyciu programu Windows PowerShell.The following steps describe the creation of a configuration document for a Linux computer using Windows PowerShell.

  1. Zaimportuj moduł NX.Import the nx module. Moduł NX programu Windows PowerShell zawiera schemat Built-In zasobów dla DSC dla systemu Linux i musi być zainstalowany na komputerze lokalnym i zaimportowany w konfiguracji.The nx Windows PowerShell module contains the schema for Built-In resources for DSC for Linux, and must be installed to your local computer and imported in the configuration.

    • Aby zainstalować moduł NX, Skopiuj katalog modułu NX do jednego $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ lub $PSHOME\Modules .To install the nx module, copy the nx module directory to either $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ or $PSHOME\Modules. Moduł NX jest zawarty w pakiecie instalacyjnym DSC dla systemu Linux.The nx module is included in the DSC for Linux installation package. Aby zaimportować moduł NX w konfiguracji, użyj Import-DSCResource polecenia:To import the nx module in your configuration, use the Import-DSCResource command:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -Module nx
    
    }
    
  2. Zdefiniuj konfigurację i Wygeneruj dokument konfiguracji:Define a configuration and generate the configuration document:

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

Wypchnij konfigurację na komputer z systemem LinuxPush the configuration to the Linux computer

Dokumenty konfiguracyjne (pliki MOF) można wypchnąć do komputera z systemem Linux za pomocą polecenia cmdlet Start-DscConfiguration .Configuration documents (MOF files) can be pushed to the Linux computer using the Start-DscConfiguration cmdlet. Aby można było użyć tego polecenia cmdlet wraz z poleceniami cmdlet Get-DscConfigurationlub test-DscConfiguration zdalnie na komputerze z systemem Linux, należy użyć CIMSession.In order to use this cmdlet, along with the Get-DscConfiguration, or Test-DscConfiguration cmdlets, remotely to a Linux computer, you must use a CIMSession. Polecenie cmdlet New-CimSession służy do tworzenia CimSession na komputerze z systemem Linux.The New-CimSession cmdlet is used to create a CIMSession to the Linux computer.

Poniższy kod pokazuje, jak utworzyć CIMSession dla DSC dla systemu Linux.The following code shows how to create a CIMSession for DSC for Linux.

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

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

#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl $true
$Sess=New-CimSession -Credential $credential -ComputerName $Node -Port 5986 -Authentication basic -SessionOption $opt -OperationTimeoutSec 90

Uwaga

W przypadku trybu "push" poświadczenie użytkownika musi być użytkownikiem głównym na komputerze z systemem Linux.For "Push" mode, the user credential must be the root user on the Linux computer. Dla DSC dla systemu Linux są obsługiwane tylko połączenia SSL/TLS, New-CimSession muszą być używane z parametrem – UseSSL ustawionym na $true.Only SSL/TLS connections are supported for DSC for Linux, the New-CimSession must be used with the –UseSSL parameter set to $true. Certyfikat SSL używany przez OMI (dla DSC) jest określony w pliku: /etc/opt/omi/conf/omiserver.conf z właściwościami: pemfile i KeyFile.The SSL certificate used by OMI (for DSC) is specified in the file: /etc/opt/omi/conf/omiserver.conf with the properties: pemfile and keyfile. Jeśli ten certyfikat nie jest zaufany na komputerze z systemem Windows, na którym jest uruchomione polecenie cmdlet New-CimSession , można zignorować sprawdzanie poprawności certyfikatu z użyciem opcji CimSession: -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $trueIf this certificate is not trusted by the Windows computer that you are running the New-CimSession cmdlet on, you can choose to ignore certificate validation with the CIMSession Options: -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $true

Uruchom następujące polecenie, aby wypchnąć konfigurację DSC do węzła systemu Linux.Run the following command to push the DSC configuration to the Linux node.

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

Rozpowszechnianie konfiguracji z serwerem ściąganiaDistribute the configuration with a pull server

Konfiguracje mogą być dystrybuowane do komputera z systemem Linux z serwerem ściągania, podobnie jak w przypadku komputerów z systemem Windows.Configurations can be distributed to a Linux computer with a pull server, just like for Windows computers. Aby uzyskać wskazówki dotyczące korzystania z serwera ściągania, zobacz serwery ściągnięcia konfiguracji żądanego stanu programu Windows PowerShell.For guidance on using a pull server, see Windows PowerShell Desired State Configuration Pull Servers. Aby uzyskać dodatkowe informacje i ograniczenia związane z korzystaniem z komputerów z systemem Linux z serwerem ściągania, zobacz informacje o wersji dotyczące konfiguracji żądanego stanu dla systemu Linux.For additional information and limitations related to using Linux computers with a pull server, see the Release Notes for Desired State Configuration for Linux.

Praca z konfiguracjami lokalnieWorking with configurations locally

DSC dla systemu Linux zawiera skrypty do pracy z konfiguracją z lokalnego komputera z systemem Linux.DSC for Linux includes scripts to work with configuration from the local Linux computer. Skrypty te znajdują się w następujących tematach /opt/microsoft/dsc/Scripts :These scripts are locate in /opt/microsoft/dsc/Scripts and include the following:

  • GetDscConfiguration.pyGetDscConfiguration.py

    Zwraca bieżącą konfigurację zastosowana do komputera.Returns the current configuration applied to the computer. Podobnie jak w przypadku polecenia cmdlet programu Windows PowerShell Get-DscConfiguration .Similar to the Windows PowerShell cmdlet Get-DscConfiguration cmdlet.

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.pyGetDscLocalConfigurationManager.py

    Zwraca bieżącą meta konfiguracji zastosowanej do komputera.Returns the current meta-configuration applied to the computer. Podobnie jak w przypadku polecenia cmdlet Get-DSCLocalConfigurationManager polecenia cmdlet.Similar to the cmdlet Get-DSCLocalConfigurationManager cmdlet.

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.pyInstallModule.py

    Instaluje niestandardowy moduł zasobów DSC.Installs a custom DSC resource module. Wymaga ścieżki do pliku zip zawierającego bibliotekę obiektów udostępnionych i schemat plików MOF.Requires the path to a .zip file containing the module shared object library and schema MOF files.

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

  • RemoveModule.pyRemoveModule.py

    Usuwa niestandardowy moduł zasobów DSC.Removes a custom DSC resource module. Wymaga nazwy modułu do usunięcia.Requires the name of the module to remove.

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.pyStartDscLocalConfigurationManager.py

    Stosuje plik MOF konfiguracji do komputera.Applies a configuration MOF file to the computer. Podobnie jak polecenie cmdlet Start-DscConfiguration .Similar to the Start-DscConfiguration cmdlet. Wymaga ścieżki do pliku MOF konfiguracji, który ma zostać zastosowany.Requires the path to the configuration MOF to apply.

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

  • SetDscLocalConfigurationManager.pySetDscLocalConfigurationManager.py

    Stosuje plik MOF z konfiguracją na komputerze.Applies a Meta Configuration MOF file to the computer. Podobnie jak polecenie cmdlet Set-DSCLocalConfigurationManager .Similar to the Set-DSCLocalConfigurationManager cmdlet. Wymaga ścieżki do pliku MOF metadanych do zastosowania.Requires the path to the Meta Configuration MOF to apply.

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

Konfiguracja żądanego stanu programu PowerShell dla plików dziennika systemu LinuxPowerShell Desired State Configuration for Linux Log Files

Następujące pliki dziennika są generowane dla DSC dla komunikatów systemu Linux.The following log files are generated for DSC for Linux messages.

Plik dziennikaLog file KatalogDirectory OpisDescription
omiserver. logomiserver.log /var/opt/omi/log Komunikaty odnoszące się do operacji serwera OMI CIM.Messages relating to the operation of the OMI CIM server.
DSC. logdsc.log /var/opt/omi/log Komunikaty odnoszące się do operacji lokalnej Configuration Manager (LCM) i operacji zasobów DSC.Messages relating to the operation of the Local Configuration Manager (LCM) and DSC resource operations.