Dela via


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 versionfö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 versionfö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.

  1. 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 konfigurationen Import-DSCResource använder du kommandot :
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. 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 cmdletGet-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.