Kom igång med Desired State Configuration (DSC) för Linux
Det här avsnittet beskriver hur du kommer igång med PowerShell Desired State Configuration (DSC) för Linux. Allmän information om DSC finns i Kom igång med Windows PowerShell Desired State Configuration.
Linux-operativsystemversioner som stöds
Följande Linux-operativsystemversioner stöds av DSC för Linux.
- CentOS 7 och 8 (x64)
- Debian GNU/Linux 8, 9 och 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 och 8 (x64)
- SUSE Linux Enterprise Server 12 och 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS och 20.04 LTS (x64)
Installera DSC för Linux
Du måste installera Open Management Infrastructure (OMI) innan du installerar DSC för Linux.
Installera OMI
Desired State Configuration för Linux kräver CIM-servern (Open Management Infrastructure) version 1.0.8.1 eller senare. OMI kan laddas ned från The Open Group: Open Management Infrastructure (OMI).
Installera OMI genom att installera det paket som passar ditt Linux-system (.rpm eller .deb) och OpenSSL-version (ssl_098 eller ssl_100) och arkitektur (x64/x86). RPM-paket är lämpliga för CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server och Oracle Linux. DEB-paket är lämpliga för Debian GNU/Linux och Ubuntu Server. De ssl_098 paketen är lämpliga för datorer med OpenSSL 0.9.8 installerat medan de ssl_100 paketen är lämpliga för datorer med OpenSSL 1.0 installerat.
Anteckning
Kör kommandot openssl version
för att fastställa den installerade OpenSSL-versionen.
Kör följande kommando för att installera OMI på ett CentOS 7 x64-system.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
Installera DSC
DSC för Linux är tillgängligt för nedladdning från PowerShell-DSC-for-Linux-lagringsplatsen på lagringsplatsen.
Installera DSC genom att installera det paket som passar ditt Linux-system (.rpm eller .deb), OpenSSL-version och arkitektur (x64/x86). RPM-paket är lämpliga för CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server och Oracle Linux. DEB-paket är lämpliga för Debian GNU/Linux och Ubuntu Server.
Anteckning
Stöd för DSC Linux OpenSSL upp till version 1.1. Kör kommandot openssl version
för att fastställa den installerade OpenSSL-versionen.
Kör följande kommando för att installera DSC på ett CentOS 7 x64-system.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
Använda DSC för Linux
I följande avsnitt beskrivs hur du skapar och kör DSC-konfigurationer på Linux-datorer.
Skapa ett MOF-konfigurationsdokument
Nyckelordet Windows PowerShell Configuration används för att skapa en konfiguration för Linux-datorer, precis som för Windows-datorer. Följande steg beskriver hur du skapar ett konfigurationsdokument för en Linux-dator med hjälp av Windows PowerShell.
Importera nx-modulen. Modulen nx Windows PowerShell innehåller schemat för Built-In resurser för DSC för Linux och måste installeras på den lokala datorn och importeras i konfigurationen.
- Om du vill installera nx-modulen kopierar du katalogen nx-modulen till antingen
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
eller$PSHOME\Modules
. NX-modulen ingår i installationspaketet för DSC för Linux. Om du vill importera nx-modulen i konfigurationenImport-DSCResource
använder du kommandot :
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Om du vill installera nx-modulen kopierar du katalogen nx-modulen till antingen
Definiera en konfiguration och generera konfigurationsdokumentet:
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"
Push-överför konfigurationen till Linux-datorn
Konfigurationsdokument (MOF-filer) kan push-överföras till Linux-datorn med hjälp av cmdleten Start-DscConfiguration . För att kunna använda denna cmdlet, tillsammans med cmdletarna Get-DscConfiguration eller Test-DscConfiguration , via fjärranslutning till en Linux-dator, måste du använda en CIMSession. Cmdleten New-CimSession används för att skapa en CIMSession till Linux-datorn.
Följande kod visar hur du skapar en CIMSession för DSC för 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
Anteckning
För "Push"-läge måste användarens autentiseringsuppgifter vara rotanvändaren på Linux-datorn. Endast SSL/TLS-anslutningar stöds för DSC för Linux, New-CimSession
måste användas med parametern –UseSSL inställd på $true. SSL-certifikatet som används av OMI (för DSC) anges i filen: /etc/opt/omi/conf/omiserver.conf
med egenskaperna pemfile och keyfile. Om det här certifikatet inte är betrott av Windows-datorn som du kör cmdleten New-CimSession på kan du välja att ignorera certifikatverifiering med CIMSession-alternativen: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Kör följande kommando för att push-överföra DSC-konfigurationen till Linux-noden.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
Distribuera konfigurationen med en hämtningsserver
Konfigurationer kan distribueras till en Linux-dator med en hämtningsserver, precis som för Windows-datorer. Mer information om hur du använder en hämtningsserver finns i Windows PowerShell Desired State Configuration Pull-servrar. Mer information och begränsningar som rör användning av Linux-datorer med en hämtningsserver finns i Viktig information för Desired State Configuration för Linux.
Arbeta med konfigurationer lokalt
DSC för Linux innehåller skript för att arbeta med konfiguration från den lokala Linux-datorn. Dessa skript finns i /opt/microsoft/dsc/Scripts
och innehåller följande:
GetDscConfiguration.py
Returnerar den aktuella konfigurationen som tillämpas på datorn. Liknar cmdleten Windows PowerShell cmdlet
Get-DscConfiguration
.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Returnerar den aktuella metakonfigurationen som tillämpas på datorn. Liknar cmdleten Get-DSCLocalConfigurationManager cmdlet.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Installerar en anpassad DSC-resursmodul. Kräver sökvägen till en .zip fil som innehåller modulens delade objektbibliotek och schema-MOF-filer.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Tar bort en anpassad DSC-resursmodul. Kräver namnet på modulen för att ta bort.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Tillämpar en MOF-konfigurationsfil på datorn. Liknar cmdleten Start-DscConfiguration . Kräver att sökvägen till MOF-konfigurationen ska tillämpas.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Använder en MOF-fil för metakonfiguration på datorn. Liknar cmdleten Set-DSCLocalConfigurationManager . Kräver att sökvägen till MOF för metakonfiguration tillämpas.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
PowerShell-Desired State Configuration för Linux-loggfiler
Följande loggfiler genereras för DSC för Linux-meddelanden.
Loggfil | Katalog | Description |
---|---|---|
omiserver.log | /var/opt/omi/log |
Meddelanden som rör driften av OMI CIM-servern. |
dsc.log | /var/opt/omi/log |
Meddelanden som rör driften av resursåtgärderna Local Configuration Manager (LCM) och DSC. |