Wprowadzenie do Desired State Configuration (DSC) dla systemu Linux

W tym temacie wyjaśniono, jak rozpocząć korzystanie z programu PowerShell Desired State Configuration (DSC) dla systemu Linux. Aby uzyskać ogólne informacje na temat rozszerzenia DSC, zobacz Wprowadzenie do Windows PowerShell Desired State Configuration.

Obsługiwane wersje systemu operacyjnego Linux

Następujące wersje systemu operacyjnego Linux są obsługiwane przez rozszerzenie DSC dla systemu Linux.

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

Instalowanie rozszerzenia DSC dla systemu Linux

Przed zainstalowaniem rozszerzenia DSC dla systemu Linux należy zainstalować infrastrukturę open management infrastructure (OMI ).

Instalowanie usługi OMI

Desired State Configuration dla systemu Linux wymaga serwera CIM Open Management Infrastructure (OMI) w wersji 1.0.8.1 lub nowszej. OMI można pobrać z grupy Open: Open Management Infrastructure (OMI).

Aby zainstalować usługę OMI, zainstaluj pakiet odpowiedni dla systemu Linux (rpm lub .deb) oraz wersję openSSL (ssl_098 lub ssl_100) oraz architekturę (x64/x86). Pakiety RPM są odpowiednie dla systemów CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server i Oracle Linux. Pakiety DEB są odpowiednie dla Debian GNU/Linux i Ubuntu Server. Pakiety ssl_098 są odpowiednie dla komputerów z zainstalowanym programem OpenSSL 0.9.8, podczas gdy pakiety ssl_100 są odpowiednie dla komputerów z zainstalowanym programem OpenSSL 1.0.

Uwaga

Aby określić zainstalowaną wersję openSSL, uruchom polecenie openssl version.

Uruchom następujące polecenie, aby zainstalować usługę OMI w systemie CentOS 7 x64.

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

Instalowanie platformy DSC

Rozszerzenie DSC dla systemu Linux jest dostępne do pobrania z repozytorium PowerShell-DSC-for-Linux w repozytorium .

Aby zainstalować rozszerzenie DSC, zainstaluj pakiet odpowiedni dla systemu Linux (rpm lub .deb), wersję OpenSSL i architekturę (x64/x86). Pakiety RPM są odpowiednie dla systemów CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server i Oracle Linux. Pakiety DEB są odpowiednie dla Debian GNU/Linux i Ubuntu Server.

Uwaga

Obsługa rozszerzenia DSC Linux OpenSSL do wersji 1.1. Aby określić zainstalowaną wersję openSSL, uruchom polecenie openssl version.

Uruchom następujące polecenie, aby zainstalować rozszerzenie DSC w systemie CentOS 7 x64.

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

Korzystanie z rozszerzenia DSC dla systemu Linux

W poniższych sekcjach opisano sposób tworzenia i uruchamiania konfiguracji DSC na komputerach z systemem Linux.

Tworzenie dokumentu MOF konfiguracji

Słowo kluczowe Windows PowerShell Configuration służy do tworzenia konfiguracji dla komputerów z systemem Linux, podobnie jak w przypadku komputerów z systemem Windows. W poniższych krokach opisano tworzenie dokumentu konfiguracji dla komputera z systemem Linux przy użyciu Windows PowerShell.

  1. Zaimportuj moduł nx. Moduł nx Windows PowerShell zawiera schemat Built-In zasobów dla rozszerzenia DSC dla systemu Linux i musi zostać zainstalowany na komputerze lokalnym i zaimportowany w konfiguracji.

    • Aby zainstalować moduł nx, skopiuj katalog modułu nx do katalogu $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ lub $PSHOME\Modules. Moduł nx znajduje się w pakiecie instalacyjnym DSC dla systemu Linux. Aby zaimportować moduł nx w konfiguracji, użyj Import-DSCResource polecenia :
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. Zdefiniuj konfigurację i wygeneruj dokument konfiguracji:

    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"
    

Wypychanie konfiguracji na komputer z systemem Linux

Dokumenty konfiguracji (pliki MOF) można wypchnąć na komputer z systemem Linux przy użyciu polecenia cmdlet Start-DscConfiguration . Aby użyć tego polecenia cmdlet wraz z poleceniami cmdlet Get-DscConfiguration lub Test-DscConfiguration , zdalnie do komputera z systemem Linux, należy użyć polecenia CIMSession. Polecenie cmdlet New-CimSession służy do tworzenia ciMSession na komputerze z systemem Linux.

Poniższy kod przedstawia sposób tworzenia modelu CIMSession dla rozszerzenia DSC dla systemu 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

Uwaga

W przypadku trybu wypychania poświadczenia użytkownika muszą być użytkownikiem głównym na komputerze z systemem Linux. Tylko połączenia SSL/TLS są obsługiwane w przypadku rozszerzenia DSC dla systemu Linux. New-CimSession Należy użyć parametru –UseSSL ustawionego na $true. Certyfikat SSL używany przez usługę OMI (dla DSC) jest określony w pliku: /etc/opt/omi/conf/omiserver.conf z właściwościami: pemfile i keyfile. Jeśli ten certyfikat nie jest zaufany przez komputer z systemem Windows, na którym jest uruchomione polecenie cmdlet New-CimSession , możesz zignorować weryfikację certyfikatu za pomocą opcji CIMSession: -SkipCACheck -SkipCNCheck -SkipRevocationCheck

Uruchom następujące polecenie, aby wypchnąć konfigurację DSC do węzła systemu Linux.

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

Dystrybuowanie konfiguracji za pomocą serwera ściągania

Konfiguracje można rozpowszechniać na komputerze z systemem Linux za pomocą serwera ściągania, podobnie jak w przypadku komputerów z systemem Windows. Aby uzyskać wskazówki dotyczące korzystania z serwera ściągania, zobacz Windows PowerShell Desired State Configuration Serwery ściągania. Aby uzyskać dodatkowe informacje i ograniczenia związane z używaniem komputerów z systemem Linux z serwerem ściągania, zobacz Informacje o wersji dla Desired State Configuration dla systemu Linux.

Praca z konfiguracjami lokalnie

Rozszerzenie DSC dla systemu Linux obejmuje skrypty do pracy z konfiguracją z lokalnego komputera z systemem Linux. Te skrypty znajdują się w /opt/microsoft/dsc/Scripts folderze i obejmują następujące elementy:

  • GetDscConfiguration.py

    Zwraca bieżącą konfigurację zastosowaną do komputera. Podobnie jak polecenie cmdlet Get-DscConfiguration Windows PowerShell.

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.py

    Zwraca bieżącą meta-konfigurację zastosowaną do komputera. Podobnie jak polecenie cmdlet Get-DSCLocalConfigurationManager .

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.py

    Instaluje niestandardowy moduł zasobów DSC. Wymaga ścieżki do pliku .zip zawierającego bibliotekę obiektów udostępnionych modułu i pliki MOF schematu.

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

  • RemoveModule.py

    Usuwa niestandardowy moduł zasobów DSC. Wymaga nazwy modułu do usunięcia.

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.py

    Stosuje plik MOF konfiguracji do komputera. Podobnie jak polecenie cmdlet Start-DscConfiguration . Wymaga ścieżki do konfiguracji MOF do zastosowania.

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

  • SetDscLocalConfigurationManager.py

    Stosuje plik MOF Meta Configuration do komputera. Podobnie jak polecenie cmdlet Set-DSCLocalConfigurationManager . Wymaga ścieżki do meta-konfiguracji MOF do zastosowania.

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

Program PowerShell Desired State Configuration dla plików dziennika systemu Linux

Następujące pliki dziennika są generowane dla rozszerzenia DSC dla komunikatów systemu Linux.

Plik dziennika Directory Opis
omiserver.log /var/opt/omi/log Komunikaty dotyczące działania serwera OMI CIM.
dsc.log /var/opt/omi/log Komunikaty związane z operacją operacji Configuration Manager lokalnych (LCM) i operacji zasobów DSC.