Aan de slag met Desired State Configuration (DSC) voor Linux
In dit onderwerp wordt uitgelegd hoe u aan de slag gaat met PowerShell Desired State Configuration (DSC) voor Linux. Zie Aan de slag met Windows PowerShell Desired State Configuration voor algemene informatie over DSC.
Ondersteunde versies van Linux-besturingssystemen
De volgende versies van het Linux-besturingssysteem worden ondersteund door DSC voor Linux.
- CentOS 7 en 8 (x64)
- Debian GNU/Linux 8, 9 en 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 en 8 (x64)
- SUSE Linux Enterprise Server 12 en 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS en 20.04 LTS (x64)
DSC voor Linux installeren
U moet de Open Management Infrastructure (OMI) installeren voordat u DSC voor Linux installeert.
OMI installeren
voor Desired State Configuration voor Linux is de CIM-server Open Management Infrastructure (OMI) versie 1.0.8.1 of hoger vereist. OMI kan worden gedownload van The Open Group: Open Management Infrastructure (OMI).
Als u OMI wilt installeren, installeert u het pakket dat geschikt is voor uw Linux-systeem (.rpm of .deb) en OpenSSL-versie (ssl_098 of ssl_100) en architectuur (x64/x86). RPM-pakketten zijn geschikt voor CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server en Oracle Linux. DEB-pakketten zijn geschikt voor Debian GNU/Linux en Ubuntu Server. De ssl_098-pakketten zijn geschikt voor computers waarop OpenSSL 0.9.8 is geïnstalleerd, terwijl de ssl_100-pakketten geschikt zijn voor computers waarop OpenSSL 1.0 is geïnstalleerd.
Notitie
Voer de opdracht openssl version
uit om de geïnstalleerde OpenSSL-versie te bepalen.
Voer de volgende opdracht uit om OMI te installeren op een CentOS 7 x64-systeem.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
DSC installeren
DSC voor Linux kan worden gedownload vanuit de PowerShell-DSC-for-Linux-opslagplaats in de opslagplaats.
Als u DSC wilt installeren, installeert u het pakket dat geschikt is voor uw Linux-systeem (.rpm of .deb), OpenSSL-versie en architectuur (x64/x86). RPM-pakketten zijn geschikt voor CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server en Oracle Linux. DEB-pakketten zijn geschikt voor Debian GNU/Linux en Ubuntu Server.
Notitie
Ondersteuning voor DSC Linux OpenSSL tot versie 1.1. Voer de opdracht openssl version
uit om de geïnstalleerde OpenSSL-versie te bepalen.
Voer de volgende opdracht uit om DSC te installeren op een CentOS 7 x64-systeem.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
DSC voor Linux gebruiken
In de volgende secties wordt uitgelegd hoe u DSC-configuraties maakt en uitvoert op Linux-computers.
Een MOF-document voor configuratie maken
Het trefwoord Windows PowerShell Configuratie wordt gebruikt om een configuratie voor Linux-computers te maken, net als voor Windows-computers. In de volgende stappen wordt beschreven hoe u een configuratiedocument voor een Linux-computer maakt met behulp van Windows PowerShell.
Importeer de nx-module. De module nx Windows PowerShell bevat het schema voor Built-In resources voor DSC voor Linux en moet worden geïnstalleerd op uw lokale computer en in de configuratie worden geïmporteerd.
- Als u de nx-module wilt installeren, kopieert u de map van de nx-module naar
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
of$PSHOME\Modules
. De nx-module is opgenomen in het DSC voor Linux-installatiepakket. Als u de nx-module in uw configuratie wilt importeren, gebruikt u deImport-DSCResource
opdracht:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Als u de nx-module wilt installeren, kopieert u de map van de nx-module naar
Definieer een configuratie en genereer het configuratiedocument:
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"
De configuratie naar de Linux-computer pushen
Configuratiedocumenten (MOF-bestanden) kunnen naar de Linux-computer worden gepusht met behulp van de cmdlet Start-DscConfiguration . Als u deze cmdlet, samen met de cmdlets Get-DscConfiguration of Test-DscConfiguration , extern wilt gebruiken op een Linux-computer, moet u een CIMSession gebruiken. De cmdlet New-CimSession wordt gebruikt om een CIMSession te maken op de Linux-computer.
De volgende code laat zien hoe u een CIMSession voor DSC voor Linux maakt.
$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
Notitie
Voor de pushmodus moet de gebruikersreferentie de hoofdgebruiker op de Linux-computer zijn. Alleen SSL/TLS-verbindingen worden ondersteund voor DSC voor Linux. De New-CimSession
moet worden gebruikt met de parameter –UseSSL ingesteld op $true. Het SSL-certificaat dat door OMI (voor DSC) wordt gebruikt, wordt opgegeven in het bestand: /etc/opt/omi/conf/omiserver.conf
met de eigenschappen pemfile en keyfile. Als dit certificaat niet wordt vertrouwd door de Windows-computer waarop u de cmdlet New-CimSession uitvoert, kunt u ervoor kiezen om certificaatvalidatie te negeren met de CIMSession-opties: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Voer de volgende opdracht uit om de DSC-configuratie naar het Linux-knooppunt te pushen.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
De configuratie distribueren met een pull-server
Configuraties kunnen worden gedistribueerd naar een Linux-computer met een pull-server, net als voor Windows-computers. Zie Windows PowerShell Desired State Configuration Pull-servers voor hulp bij het gebruik van een pull-server. Zie de releaseopmerkingen voor Desired State Configuration voor Linux-computers met een pull-server voor aanvullende informatie en beperkingen met betrekking tot het gebruik van Linux-computers met een pull-server.
Lokaal werken met configuraties
DSC voor Linux bevat scripts om te werken met de configuratie van de lokale Linux-computer. Deze scripts zijn te vinden in /opt/microsoft/dsc/Scripts
en bevatten het volgende:
GetDscConfiguration.py
Retourneert de huidige configuratie die op de computer is toegepast. Vergelijkbaar met de cmdlet Windows PowerShell
Get-DscConfiguration
.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Retourneert de huidige metaconfiguratie die op de computer is toegepast. Vergelijkbaar met de cmdlet Get-DSCLocalConfigurationManager - cmdlet.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Installeert een aangepaste DSC-resourcemodule. Vereist het pad naar een .zip-bestand met de module gedeelde objectbibliotheek en schema-MOF-bestanden.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Hiermee verwijdert u een aangepaste DSC-resourcemodule. Vereist de naam van de module die moet worden verwijderd.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Hiermee past u een MOF-configuratiebestand toe op de computer. Vergelijkbaar met de cmdlet Start-DscConfiguration . Vereist dat het pad naar de configuratie-MOF wordt toegepast.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Past een Meta Configuration MOF-bestand toe op de computer. Vergelijkbaar met de cmdlet Set-DSCLocalConfigurationManager . Vereist dat het pad naar de metaconfiguratie-MOF wordt toegepast.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
PowerShell Desired State Configuration voor Linux-logboekbestanden
De volgende logboekbestanden worden gegenereerd voor DSC voor Linux-berichten.
Logboekbestand | Directory | Description |
---|---|---|
omiserver.log | /var/opt/omi/log |
Berichten met betrekking tot de werking van de OMI CIM-server. |
dsc.log | /var/opt/omi/log |
Berichten met betrekking tot de werking van de resourcebewerkingen Local Configuration Manager (LCM) en DSC. |