Delen via


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 versionuit 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 versionuit 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.

  1. 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 de Import-DSCResource opdracht:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. 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 PowerShellGet-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.