Introducción a Microsoft Desired State Configuration v3

El Desired State Configuration de Microsoft (DSC) es una plataforma de configuración declarativa. Con DSC, el estado de una máquina se describe mediante un formato que debe ser claro para entender incluso si el lector no es un experto en la materia. A diferencia de las herramientas imperativas, con DSC, la definición de un entorno de aplicación es independiente de la lógica de script que implementa cómo se entrega.

La aplicación de línea de comandos DSCv3 abstrae la administración de componentes de software de forma declarativa e idempotente. DSCv3 se ejecuta en Linux, macOS y Windows sin dependencias externas.

Con DSCv3, puede:

  • Cree recursos de DSC para administrar los sistemas en cualquier idioma.
  • Invoque recursos individuales.
  • Cree documentos de configuración que definan el estado deseado de un sistema.

Documentos de configuración

Los documentos de configuración de DSC son archivos YAML declarativos que definen instancias de recursos. Normalmente, los documentos de configuración definen qué estado se aplicará.

Entre los escenarios de ejemplo se incluyen requisitos para un entorno de aplicación o estándares operativos o de seguridad.

Recursos de DSC

Los recursos de DSC definen cómo administrar el estado de un sistema o componente de aplicación determinado. Los recursos describen un esquema para la configuración administrable del componente. Cada recurso se puede usar con las operaciones Get y Test para recuperar el estado actual de una instancia de recurso y validar si está en el estado deseado. La mayoría de los recursos también admiten la aplicación del estado deseado con la operación Set .

Entre los escenarios de ejemplo se incluye cómo actualizar el contenido de un archivo, cómo ejecutar una utilidad que cambia el estado de una máquina o cómo configurar las opciones de una aplicación.

Diferencias de DSC de PowerShell

DSCv3 aprovecha el módulo PSDesiredStateConfiguration para admitir la compatibilidad con los recursos basados en PowerShell existentes.

DSCv3 difiere de PowerShell Desired State Configuration (PSDSC) de algunas maneras importantes:

  • DSCv3 no depende de PowerShell. Puede usar DSCv3 sin powerShell instalado y administrar recursos escritos en Bash, Python, C#, Go o cualquier otro lenguaje.
  • DSCv3 no incluye un administrador de configuración local. DSCv3 se invoca como un comando. No se ejecuta como servicio.
  • Los recursos que no son de PowerShell definen sus esquemas con archivos JSON, no archivos MOF.
  • Los documentos de configuración se definen en archivos JSON o YAML, no en archivos de script de PowerShell.

Lo importante es que, aunque DSCv3 representa un cambio importante en la plataforma DSC, DSCv3 puede invocar recursos de PSDSC, incluidos los recursos de DSC basados en scripts y basados en clases, tal como existen actualmente. Los documentos de configuración no son compatibles, pero todos los recursos de PSDSC publicados son. Puede usar recursos de PSDSC en DSCv3 con Windows PowerShell y PowerShell.

Instalación

Para instalar DSCv3:

  1. Descargue la versión más reciente del repositorio de PowerShell/DSC.
  2. Expanda el archivo de versión.
  3. Agregue la carpeta que contiene el contenido del archivo expandido a PATH.

Para instalar la versión beta de la PSDesiredStateConfiguration versión 3 desde el Galería de PowerShell:

# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease

Integración con DSCv3

DSCv3 es una herramienta de plataforma que abstrae los problemas para definir e invocar recursos. Las herramientas de orden superior, como Azure Machine Configuration, azure Automanaged VM y WinGet son asociados iniciales para DSCv3 como agentes de orquestación.

DSCv3 usa esquemas JSON para definir la estructura de recursos, documentos de configuración y las salidas que devuelve DSCv3. Estos esquemas facilitan la integración de DSCv3 con otras herramientas, ya que estandarizan y documentan cómo interactuar con DSCv3.

Consulte también