Uso de DSC para configurar Windows Server
Uno de los demás administradores de los servidores de Contoso tiene experiencia con Windows PowerShell y le sugiere que investigue el uso de DSC de PowerShell para configurar los equipos de Windows Server recién implementados. Aprenderá que con DSC, puede implementar la administración de configuración declarativa a través de una combinación de scripts de PowerShell y características del sistema operativo. Decide investigar más.
Nota:
Un lenguaje de programación declarativo separa la intención (lo que se quiere hacer) de la ejecución (cómo se quiere hacer).
¿Qué es DSC?
DSC es una plataforma de administración basada en PowerShell que puede usar para administrar los servidores y la infraestructura de TI relacionada. DSC consta de tres componentes, que se describen en la tabla siguiente.
Componente | Descripción |
---|---|
Configurations | Scripts de PowerShell declarativos que configuran y definen los recursos. Cuando se ejecuta la configuración, DSC aplica la configuración tal y como se define. Esto garantiza que el recurso de destino, en este caso, un servidor, está en el estado definido. Es el Configuration Manager local (LCM) que aplica y mantiene estas configuraciones. |
Recursos | Contienen el código que define y aplica el estado de configuración deseado del recurso. |
LCM | Es el motor que DSC usa para aplicar las configuraciones. Periódicamente, el LCM comprueba el estado del sistema y, en caso necesario, llama al código en los recursos para volver a aplicar el estado deseado. |
Nota:
No es necesario instalar nada para usar DSC. DSC de PowerShell se incluye en Windows.
DSC basado en Windows se basa en gran medida en el componente LCM. Este componente actúa como el motor de ejecución de los scripts de DSC de Windows PowerShell.
Nota:
LCM es una parte integral de todas las versiones admitidas actualmente de los sistemas operativos Windows.
LCM es responsable de:
- Coordinar la implementación de la configuración definida en los scripts de DSC
- Supervisar el estado actual de la configuración
- Actualizar el estado de un equipo para que coincida con un estado deseado
Cada vez que se ejecuta el LCM, completa los pasos siguientes:
- Obtener: recupera el estado actual del equipo.
- Prueba: compara el estado actual del equipo con el estado deseado mediante un script DSC compilado (un archivo .mof).
- Establecer: actualiza la configuración del equipo para que coincida con el estado deseado que se describe en el archivo .mof.
Puede implementar la configuración de DSC en modo de inserción o en modo de extracción, tal como se describe en la tabla siguiente.
Mode | Descripción |
---|---|
Inserción | En este modo, las configuraciones deseadas se envían o se insertan manualmente en uno o varios equipos administrados. El componente LCM se asegura de que el estado de cada equipo administrado coincida con lo que especifica su configuración. |
Extracción | En este modo, un servidor de extracción contiene la información de configuración. El componente LCM de cada equipo administrado sondea el servidor de extracción periódicamente (el valor predeterminado es de intervalos de 15 minutos) para obtener los detalles de la configuración más reciente. A continuación, el servidor de extracción envía los detalles de los cambios de configuración de nuevo a cada equipo administrado. |
Sugerencia
Aunque puede configurar un Windows Server como un servidor de extracción, también puede usar Desired State Configuration de Azure Automation.
Requisitos de DSC con Windows
Hay una serie de requisitos que el entorno debe cumplir para poder usar DSC con Windows. Dichos componentes son:
- Sistema operativo: los equipos administrados deben ejecutar Windows 8.1 o posterior, o bien Windows Server 2012 R2 o posterior.
- Administración remota de Windows. Administración remota de Windows (WinRM) debe estar habilitado en los equipos administrados.
Con DSC, puede definir el estado deseado de:
- Un sistema operativo
- Una aplicación
Trabajar con scripts
Puede usar un script para definir el DSC. Después de crear y compilar la configuración, puede asignarla a los equipos que recibirán esa configuración.
Creación de un script
La implementación de DSC suele comenzar con la creación de un script de configuración (.ps1) que describe ese estado deseado. El siguiente es un ejemplo sencillo de configuración. En este caso, el script comprueba la presencia de Internet Information Services (IIS) y lo instala si es necesario.
configuration IISInstall
{
# Import the required module.
Import-DscResource -ModuleName PsDesiredStateConfiguration
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Después de crear el script, guárdelo. En este caso, guárdelo como IISInstall.ps1.
Compilar la configuración
Después de crear un script de configuración, debe compilarlo. La compilación genera uno o varios archivos .mof que contienen configuraciones aplicables a los nodos de destino. Para compilar un script, en una consola de PowerShell, busque la carpeta en la que guardó la configuración (archivo de script) y ejecute los siguientes comandos para compilar la configuración en un archivo MOF:
.\IISInstall.ps1
IISInstall
Aplicación de la configuración
El siguiente paso consiste en aplicar la configuración. Para ello, ejecute el cmdlet Start-DscConfiguration
.
Importante
Para permitir la ejecución de DSC, debe configurar Windows para la comunicación remota de PowerShell, incluso si está ejecutando una configuración de localhost.
Por ejemplo, en una consola de PowerShell, vaya a la carpeta donde se guardó la configuración y ejecute el siguiente comando de PowerShell:
Start-DscConfiguration .\IISInstall
Sugerencia
Puede comprobar el éxito de la configuración mediante la ejecución del cmdlet Get-DscConfigurationStatus
.