Introducción a la configuración de estado deseado (DSC) para Linux
En este tema se ofrece una introducción al uso de la configuración de estado deseado (DSC) de PowerShell para Linux. Para obtener información general sobre DSC, consulte Introducción a la configuración de estado deseado de Windows PowerShell.
Versiones de sistemas operativos Linux compatibles
Se admiten las siguientes versiones de sistemas operativos Linux en DSC para Linux.
- CentOS 7 y 8 (x64)
- Debian GNU/Linux 8, 9 y10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 y 8 (x64)
- SUSE Linux Enterprise Server 12 y 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS y 20.04 LTS (x64)
Instalación de DSC para Linux
Debe instalar Open Management Infrastructure (OMI) antes de instalar DSC para Linux.
Instalación de la OMI
La configuración de estado deseado para Linux requiere el servidor CIM de infraestructura de administración abierta (OMI), versión 1.0.8.1 o posterior. OMI puede descargarse en The Open Group: Open Management Infrastructure (OMI).
Para instalar OMI, instale el paquete que sea adecuado para su sistema Linux (.rpm o .deb) y versión de OpenSSL (ssl_098 o ssl_100), y la arquitectura (x64/x86). Los paquetes RPM son adecuados para CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server y Oracle Linux. Los paquetes DEB son adecuados para Debian GNU/Linux y Ubuntu Server. Los paquetes ssl_098 son adecuados para equipos con OpenSSL 0.9.8 instalado, mientras que los paquetes ssl_100 son adecuados para equipos con OpenSSL 1.0 instalado.
Nota
Para determinar la versión de OpenSSL instalada, ejecute el comando openssl version
.
Ejecute el siguiente comando para instalar OMI en un sistema con CentOS 7 x64.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
Instalación de DSC
DSC para Linux está disponible para su descarga desde el repositorio PowerShell-DSC-for-Linux en el repositorio.
Para instalar DSC, instale el paquete adecuado para el sistema Linux (.rpm o .deb), la versión de OpenSSL y la arquitectura (x64/x86). Los paquetes RPM son adecuados para CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server y Oracle Linux. Los paquetes DEB son adecuados para Debian GNU/Linux y Ubuntu Server.
Nota
Compatibilidad con DSC Linux OpenSSL hasta la versión 1.1. Para determinar la versión de OpenSSL instalada, ejecute el comando openssl version
.
Ejecute el siguiente comando para instalar DSC en un sistema con CentOS 7 x64.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
Uso de DSC para Linux
En las siguientes secciones se explica cómo crear y ejecutar configuraciones DSC en equipos Linux.
Creación de un documento MOF de configuración
Se utiliza la palabra clave de Windows PowerShell Configuration a fin de crear una configuración para los equipos Linux, de la misma forma que para los equipos Windows. En los pasos siguientes se describe la creación de un documento de configuración para un equipo Linux con Windows PowerShell.
Importe el módulo nx. El módulo de Windows PowerShell nx contiene el esquema para los recursos integrados de DSC para Linux y debe instalarse en el equipo local e importarse en la configuración.
- Para instalar el módulo nx, copie el directorio del módulo nx en
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
o$PSHOME\Modules
. El módulo nx se incluye en la DSC para paquetes de instalación de Linux. Para importar el módulo nx en la configuración, utilice el comandoImport-DSCResource
:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Para instalar el módulo nx, copie el directorio del módulo nx en
Defina una configuración y genere el documento de configuración:
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"
Insertar la configuración en el equipo Linux
Los documentos de configuración (archivos MOF) se pueden insertar en el equipo Linux mediante el cmdlet Start-DscConfiguration. Para usar este cmdlet, junto con los cmdlets Get-DscConfiguration o Test-DscConfiguration, de forma remota en un equipo Linux, debe usar un elemento CIMSession. El cmdlet New-CimSession se usa para crear un elemento CIMSession para el equipo Linux.
En el código siguiente se muestra cómo crear un elemento CIMSession de DSC para 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
Nota
En el modo "Push", la credencial de usuario debe ser un usuario raíz del equipo Linux. Solo se admiten conexiones SSL/TLS de DSC para Linux, el cmdlet New-CimSession
debe utilizarse con el parámetro -UseSSL establecido en $true. El certificado SSL que utiliza OMI (para DSC) se especifica en el archivo /etc/opt/omi/conf/omiserver.conf
con las propiedades pemfile y keyfile. Si este certificado no es de confianza para el equipo de Windows en el que se está ejecutando el cmdlet New-CimSession, puede elegir ignorar la validación de certificados con las opciones de CIMSession -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Ejecute el comando siguiente para insertar la configuración DSC en el nodo de Linux.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
Distribuir la configuración con un servidor de extracción
Las configuraciones se pueden distribuir a un equipo Linux con un servidor de extracción, igual que con equipos Windows. Para obtener instrucciones sobre el uso de un servidor de incorporación de cambios, consulte Servidores de incorporación de cambios de la configuración de estado deseado de Windows PowerShell. Para obtener información adicional y conocer las limitaciones relativas al uso de equipos Linux con un servidor de extracción, consulte las notas de la versión de la configuración de estado deseado para Linux.
Trabajar con configuraciones de forma local
DSC para Linux incluye scripts para trabajar con la configuración del equipo Linux local. Estos scripts se encuentran en /opt/microsoft/dsc/Scripts
e incluyen lo siguiente:
GetDscConfiguration.py
Devuelve la configuración actual que se aplica al equipo. Es similar al cmdlet de Windows PowerShell
Get-DscConfiguration
.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Devuelve la metaconfiguración actual que se aplica al equipo. Es similar al cmdlet Get-DSCLocalConfigurationManager.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Instala un módulo de recursos de DSC personalizado. Requiere la ruta de acceso a un archivo .zip que contenga la biblioteca de objetos compartidos del módulo y los archivos MOF del esquema.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Quita un módulo de recursos de DSC personalizado. Requiere el nombre del módulo que se va a quitar.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Aplica un archivo MOF de configuración en el equipo. Es similar al cmdlet Start-DscConfiguration. Requiere la ruta de acceso al MOF de configuración que se va a aplicar.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Aplica a un archivo MOF de metaconfiguración en el equipo. Es similar al cmdlet Set-DSCLocalConfigurationManager. Requiere la ruta de acceso al MOF de metaconfiguración que se va a aplicar.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
Archivos de registro de la configuración de estado deseado para Linux de PowerShell
Los siguientes archivos de registro son mensajes generados para DSC para Linux.
Archivo de registro | Directorio | Descripción |
---|---|---|
omiserver.log | /var/opt/omi/log |
Mensajes relacionados con la operación del servidor CIM OMI. |
dsc.log | /var/opt/omi/log |
Mensajes relacionados con el funcionamiento del administrador de configuración local (LCM) y las operaciones de recursos de DSC. |