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.
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żyjImport-DSCResource
polecenia :
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Aby zainstalować moduł nx, skopiuj katalog modułu nx do katalogu
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. |