PowerShell DSC en Linux (Primeros pasos)
PowerShell DSC en Linux es algo que todos los administradores que usamos PowerShell y que trabajamos sobre ambientes heterogéneos aparece como una luz en la oscuridad. Las posibilidades que aparecen a la hora de generar plantillas de configuración para Linux, permiten seguir optimizando recursos a la hora de realizar las tareas del día a día.
Administrar Linux con PowerShell DSC
Para la demostración que vamos a presentar, usaremos CentOS 7, y vamos a configurar aspectos básicos de la instalación como son el nombre y la IP para demostrar el potencial que ofrece PowerShell DSC no sólo en ambientes Microsoft puros.
Versiones soportadas
Comparto una lista donde se muestran las versiones soportadas de Linux para poder ser administradas desde PowerShell DSC:
- CentOS 5, 6, and 7 (x86/x64)
- Debian GNU/Linux 6, 7 and 8 (x86/x64)
- Oracle Linux 5, 6 and 7 (x86/x64)
- Red Hat Enterprise Linux Server 5, 6 and 7 (x86/x64)
- SUSE Linux Enterprise Server 10, 11 and 12 (x86/x64)
- Ubuntu Server 12.04 LTS, 14.04 LTS, 16.04 LTS (x86/x64)
Instalación de OMI y DSC
Dentro de los requerimientos necesarios para la instalación de DSC se encuentra OMI (Open Management Infraestructure). A su vez existen algunas dependencias requeridas para su correcto funcionamiento:
Ahora sí, para instalar OMI y DSC en CentOS es necesario ejecutar los siguientes comandos:
Se utilizan los enlaces con ssl_100, debido a que la versión de CentOS 7 ya viene con OpenSSL 1.0. En caso >de desconocer que versión de OpenSSL se encuentra instalda en el equipo, es necesario ejecutar:
Generando el archivo de configuración MOF
Ya con todo instalado y listo, es necesario generar los archivos de configuración que permitan modificar nuestro servidor CentOS.
Si vamos a trabajar desde una máquina con Windows, es necesario contar con una versión igual o superior de PowerShell v4.0. En segundo lugar también se requiere disponer del módulo nx, llamado Linux Resource Provider MOF:
Y vamos a permitir esa instalación desde la galería de PowerShell, confirmando el mensaje que aparece.
Para comenzar a trabajar sobre la configuración de nuestro servidor de Linux, vamos a invocar el módulo nx en la configuración de nuestro archivo DSC, de la siguiente manera, siempre trabajando desde nuestro equipo con Windows y sobre la consola de PowerShell:
Ahora bien, vamos a probar con algo sencillo: vamos a generar un archivo con una cadena de texto. Para ello utilizaremos el siguiente fragmento de código, tomando lo detallado anteriormente:
En el bloque anterior detallamos el uso del módulo de DSC para Linux y también en que nodo vamos a estar trabajando (en mi caso solamente ingresé la IP del server con CentOS). Luego se describe un archivo de prueba, con la ruta donde se va a generar y el texto que va a tener “ Hello PoSh World” .
Si bien todo se encuentra controlado, tenemos que habilitar en el Firewall del servidor de Linux el puerto que vamos a utilizar para poder acceder, ejecutando:
Aplicar la configuración al servidor Linux
Continuado a lo anterior debemos ejecutar en el equipo Windows lo siguiente:
Y por último:
Que si todo va OK, debería generar el archivo de ejemplo llamado exampledsc con el texto que definimos. Aquí la captura de pantalla que comprueba que ha funcionado correctamente:
En próximas entregas vamos a ir avanzando en las configuraciones a realizar, así como en la complejidad de los escenarios.
Happy scripting!
Comments