Prendre en main la fonctionnalité DSC (Desired State Configuration) pour Linux
Cette rubrique explique comment prendre en main la fonctionnalité DSC (Desired State Configuration) PowerShell pour Linux. Pour obtenir des informations générales sur DSC, consultez Prendre en main la fonctionnalité DSC (Desired State Configuration) Windows PowerShell.
Versions du système d’exploitation Linux prises en charge
Les versions suivantes du système d’exploitation Linux sont prises en charge par DSC pour Linux.
- CentOS 7 et 8 (x64)
- Debian GNU/Linux 8, 9 et 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 et 8 (x64)
- SUSE Linux Enterprise Server 12 et 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS et 20.04 LTS (x64)
Installation de DSC pour Linux
Vous devez installer Open Management Infrastructure (OMI) avant d’installer DSC pour Linux.
Installation d’OMI
DSC pour Linux nécessite le serveur CIM d’Open Management Infrastructure (OMI), version 1.0.8.1 ou ultérieure. Vous pouvez télécharger OMI à partir de The Open Group : Open Management Infrastructure (OMI).
Pour installer OMI, installez le package approprié pour le système Linux (.rpm ou .deb), la version d’OpenSSL (ssl_098 ou ssl_100) et l’architecture (x64/x86) que vous utilisez. Les packages RPM sont conçus pour les systèmes CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server et Oracle Linux. Les packages DEB sont conçus pour les systèmes Debian GNU/Linux et Ubuntu Server. Les packages ssl_098 et les packages ssl_100 sont conçus pour les ordinateurs avec OpenSSL 0.9.8 et les ordinateurs avec OpenSSL 1.0, respectivement.
Notes
Pour connaître la version d’OpenSSL installée, exécutez la commande openssl version
.
Exécutez la commande suivante pour installer OMI sur un système CentOS 7 x64.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
Installation de DSC
DSC pour Linux est disponible en téléchargement à partir du référentiel PowerShell-DSC-for-Linux dans le référentiel.
Pour installer DSC, installez le package approprié pour votre système Linux (.rpm ou .deb), la version OpenSSL et l’architecture (x64/x86). Les packages RPM sont conçus pour les systèmes CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server et Oracle Linux. Les packages DEB sont conçus pour les systèmes Debian GNU/Linux et Ubuntu Server.
Notes
Prise en charge de DSC Linux OpenSSL jusqu’à la version 1.1. Pour connaître la version d’OpenSSL installée, exécutez la commande openssl version
.
Exécutez la commande suivante pour installer DSC sur un système CentOS 7 x64.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
Utilisation de DSC pour Linux
Les sections suivantes expliquent comment créer et exécuter des configurations DSC sur les ordinateurs Linux.
Création d’un document MOF de configuration
Le mot clé Windows PowerShell « Configuration » permet de créer une configuration pour les ordinateurs Linux, tout comme pour les ordinateurs Windows. Suivez les étapes décrites ci-dessous pour créer un document de configuration pour un ordinateur Linux à l’aide de Windows PowerShell.
Importez le module nx. Le module nx de Windows PowerShell contient le schéma des ressources intégrées pour DSC pour Linux. Il doit être installé sur votre ordinateur local et importé dans la configuration.
- Pour installer le module nx, copiez le répertoire du module nx vers
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
ou$PSHOME\Modules
. Le module nx est inclus dans le package d’installation de DSC pour Linux. Pour importer le module nx dans votre configuration, utilisez la commandeImport-DSCResource
:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Pour installer le module nx, copiez le répertoire du module nx vers
Définissez une configuration et créez le document de configuration :
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"
Transmission de la configuration en mode Push à l’ordinateur Linux.
Vous pouvez envoyer des documents de configuration (fichiers MOF) à l’ordinateur Linux à l’aide de l’applet de commande Start-DscConfiguration. Pour utiliser cette applet de commande avec les applets de commande Get-DscConfiguration ou Test-DscConfiguration à distance sur un ordinateur Linux, vous devez utiliser une session CIMSession. L’applet de commande New-CimSession permet de créer une session CIMSession sur l’ordinateur Linux.
Le code suivant crée une session CIMSession pour DSC pour 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
Notes
En mode « Push », les informations d’identification de l’utilisateur doivent correspondre à l’utilisateur racine sur l’ordinateur Linux. Seules les connexions SSL/TLS sont prises en charge pour DSC pour Linux. L’applet de commande New-CimSession
doit être utilisée avec le paramètre –UseSSL défini sur $true. Le certificat SSL utilisé par OMI (pour DSC) est spécifié dans le fichier /etc/opt/omi/conf/omiserver.conf
avec les propriétés pemfile et keyfile. Si ce certificat n’est pas approuvé par l’ordinateur Windows sur lequel vous exécutez l’applet de commande New-CimSession, vous pouvez choisir d’ignorer la validation des certificats en spécifiant les options CIMSession suivantes : -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Exécutez la commande suivante pour transmettre en mode Push la configuration DSC vers le nœud Linux.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
Distribution de la configuration à l’aide d’un serveur collecteur
Vous pouvez utiliser un serveur collecteur pour distribuer des configurations sur un ordinateur Linux, de la même manière que sur un ordinateur Windows. Pour obtenir des conseils sur l’utilisation d’un serveur collecteur, consultez Serveurs collecteurs dans DSC Windows PowerShell. Pour obtenir plus d’informations et connaître les limitations relatives à l’utilisation d’ordinateurs Linux avec un serveur collecteur, consultez les notes de publication concernant DSC pour Linux.
Utilisation de configurations locales
DSC pour Linux fournit des scripts qui peuvent être utilisés avec une configuration de l’ordinateur Linux local. Ces scripts se trouvent dans le répertoire /opt/microsoft/dsc/Scripts
et contiennent les éléments suivants :
GetDscConfiguration.py
Retourne la configuration actuellement appliquée à l’ordinateur. Semblable à l’applet de commande
Get-DscConfiguration
Windows PowerShell.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Retourne la métaconfiguration actuellement appliquée à l’ordinateur. Similaire à l’applet de commande Get-DSCLocalConfigurationManager.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Installe un module de ressources DSC personnalisé. Doit spécifier le chemin d’un fichier .zip contenant la bibliothèque d’objets partagés et les fichiers MOF de schéma du module.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Supprime un module de ressources DSC personnalisé. Doit spécifier le nom du module à supprimer.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Applique un fichier MOF de configuration sur l’ordinateur. Similaire à l’applet de commande Start-DscConfiguration. Doit spécifier le chemin du fichier MOF de configuration à appliquer.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Applique un fichier MOF de métaconfiguration sur l’ordinateur. Similaire à l’applet de commande Set-DSCLocalConfigurationManager. Doit spécifier le chemin du fichier MOF de métaconfiguration à appliquer.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
Fichiers journaux de DSC PowerShell pour Linux
Les messages concernant DSC pour Linux sont écrits dans les fichiers journaux suivants.
Fichier journal | Répertoire | Description |
---|---|---|
omiserver.log | /var/opt/omi/log |
Messages relatifs au fonctionnement du serveur CIM d’OMI. |
dsc.log | /var/opt/omi/log |
Messages relatifs au fonctionnement de LCM (Local Configuration Manager) et à l’utilisation des ressources DSC. |