Erste Schritte mit DSC für Linux
In diesem Thema werden die ersten Schritte mit PowerShell DSC für Linux erläutert. Allgemeine Informationen zu DSC finden Sie unter Erste Schritte mit Windows PowerShell DSC.
Unterstützte Linux-Betriebssystemversionen
Die folgenden Linux-Betriebssystemversionen werden von DSC für Linux unterstützt:
- CentOS 7 und 8 (x64)
- Debian GNU/Linux 8, 9 und 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 und 8 (x64)
- SUSE Linux Enterprise Server 12 und 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS und 20.04 LTS (x64)
Installieren von DSC für Linux
Sie müssen vor der Installation von DSC für Linux die Open Management Infrastructure (OMI) installieren.
Installieren von OMI
DSC für Linux erfordert den Open Management Infrastructure (OMI) CIM-Server, Version 1.0.8.1 oder höher. OMI kann unter The Open Group: Open Management Infrastructure (OMI) heruntergeladen werden.
Zum Installieren von OMI installieren Sie das Ihrem Linux-System entsprechende Paket (RPM oder DEB), die OpenSSL-Version (ssl_098 oder ssl_100) und die Architektur (x64/x86). RPM-Pakete eignen sich für CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Oracle Linux. DEB-Pakete sind für Debian GNU/Linux und Ubuntu Server geeignet. Die ssl_098-Pakete eignen sich für Computer mit installiertem OpenSSL 0.9.8, während die ssl_100 Pakete für Computer mit installiertem OpenSSL 1.0 geeignet sind.
Hinweis
Um die installierte OpenSSL-Version zu bestimmen, führen Sie den Befehl openssl version
aus.
Führen Sie den folgenden Befehl aus, um OMI auf einem CentOS 7 x64-System zu installieren.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
Installieren von DSC
DSC für Linux kann aus dem Repository PowerShell-DSC-for-Linux in das Repository heruntergeladen werden.
Um DSC zu installieren, installieren Sie das Paket, das für Ihr Linux-System (.rpm oder .deb), Die OpenSSL-Version und die Architektur (x64/x86) geeignet ist. RPM-Pakete eignen sich für CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Oracle Linux. DEB-Pakete sind für Debian GNU/Linux und Ubuntu Server geeignet.
Hinweis
Unterstützung für DSC Linux OpenSSL bis Version 1.1. Um die installierte OpenSSL-Version zu bestimmen, führen Sie den Befehl openssl version
aus.
Führen Sie den folgenden Befehl aus, um DSC auf einem CentOS 7 x64-System zu installieren.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
Verwenden von DSC für Linux
In den folgenden Abschnitten wird erläutert, wie DSC-Konfigurationen erstellt und auf Linux-Computern ausgeführt werden.
Erstellen eines MOF-Konfigurationsdokuments
Das Windows PowerShell-Schlüsselwort „Configuration“ wird wie für Windows-Computer verwendet, um eine Konfiguration für Linux-Computer zu erstellen. Es folgen die Schritte zum Erstellen eines Konfigurationsdokuments für einen Linux-Computer mithilfe von Windows PowerShell.
Importieren Sie das Modul „nx“. Das Windows PowerShell-Modul „nx“ enthält das Schema für integrierte Ressourcen für DSC für Linux und muss auf dem lokalen Computer installiert und in die Konfiguration importiert werden.
- Zum Installieren des Moduls „nx“ kopieren Sie das Verzeichnis dieses Moduls entweder in
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
oder in$PSHOME\Modules
. Das Modul „nx“ ist im Installationspaket von DSC für Linux enthalten. Verwenden Sie zum Importieren des Moduls „nx“ in Ihre Konfiguration den BefehlImport-DSCResource
:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Zum Installieren des Moduls „nx“ kopieren Sie das Verzeichnis dieses Moduls entweder in
Definieren Sie eine Konfiguration, und generieren Sie das Konfigurationsdokument:
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"
Übertragen der Konfiguration per Push auf den Linux-Computer
Konfigurationsdokumente (MOF-Dateien) können mit dem Cmdlet Start-DscConfiguration per Push auf den Linux-Computer übertragen werden. Verwenden Sie eine CIMSession, um dieses Cmdlet zusammen mit den Cmdlets Get-DscConfiguration und Test-DscConfiguration remote auf einem Linux-Computer zu verwenden. Das Cmdlet New-CimSession dient zum Starten einer CIMSession mit dem Linux-Computer.
Der folgende Code zeigt, wie Sie eine CIMSession für DSC für Linux starten.
$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
Hinweis
Im Pushmodus müssen die Anmeldeinformationen des Benutzers denen des Root-Benutzers auf dem Linux-Computer entsprechen. Für DSC für Linux werden nur SSL/TLS-Verbindungen unterstützt. Der Befehl New-CimSession
muss mit auf „$true“ festgelegtem „–UseSSL“-Parameter aufgerufen werden. Das von OMI (für DSC) verwendete SSL-Zertifikat wird in der Datei /etc/opt/omi/conf/omiserver.conf
mit den Eigenschaften „pemfile“ und „keyfile“ angegeben. Wenn diesem Zertifikat vom Windows-Computer nicht vertraut wird, auf dem Sie das Cmdlet New-CimSession ausführen, können Sie in den Optionen für „CIMSession“ die Überprüfung des Zertifikats ignorieren: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Führen Sie den folgenden Befehl aus, um die DSC-Konfiguration per Push auf den Linux-Knoten zu übertragen.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
Verteilen der Konfiguration mit einem Pullserver
Konfigurationen können mithilfe eines Pullservers wie bei Windows-Computern auch an Linux-Computer verteilt werden. Eine Anleitung zur Verwendung eines Pullservers finden Sie unter Windows PowerShell DSC – Pullserver. Weitere Informationen und Einschränkungen im Zusammenhang mit der Verwendung von Linux-Computern mit einem Pullserver finden Sie die Versionshinweisen zu DSC für Linux.
Arbeiten mit lokalen Konfigurationen
DSC für Linux bietet Skripts für das Ausführen von Konfigurationsaufgaben auf einem lokalen Linux-Computer. Diese Skripts befinden sich in /opt/microsoft/dsc/Scripts
und umfassen Folgendes:
GetDscConfiguration.py
Gibt die aktuell auf dem Computer installierte Konfiguration zurück. Dies ist vergleichbar mit dem Windows PowerShell-Cmdlet
Get-DscConfiguration
.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Gibt die aktuell auf dem Computer installierte Metakonfiguration zurück. Vergleichbar mit dem Cmdlet Get-DSCLocalConfigurationManager.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Installiert ein benutzerdefiniertes DSC-Ressourcenmodul. Erfordert den Pfad zu einer ZIP-Datei, die die freigegebene Objektbibliothek des Moduls und die MOF-Dateien mit dem Schema enthält.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Entfernt ein benutzerdefiniertes DSC-Ressourcenmodul. Erfordert die Angabe des Namens des Moduls, das entfernt werden soll.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Wendet eine MOF-Konfigurationsdatei auf den Computer an. Vergleichbar mit dem Cmdlet Start-DscConfiguration. Erfordert die Angabe des Pfads zur anzuwendenden MOF-Konfigurationsdatei.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Wendet eine MOF-Metakonfigurationsdatei auf den Computer an. Vergleichbar mit dem Cmdlet Set-DSCLocalConfigurationManager. Erfordert die Angabe des Pfads zur anzuwendenden MOF-Metakonfigurationsdatei.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
PowerShell – DSC für Linux – Protokolldateien
Die folgenden Protokolldateien werden für DSC-für-Linux-Nachrichten generiert.
Protokolldatei | Verzeichnis | BESCHREIBUNG |
---|---|---|
omiserver.log | /var/opt/omi/log |
Meldungen im Zusammenhang mit dem Betrieb des OMI CIM-Servers. |
dsc.log | /var/opt/omi/log |
Meldungen im Zusammenhang mit dem Betrieb des lokalen Konfigurations-Managers (LCM) und DSC-Ressourcenvorgängen. |