Visão geral do Microsoft Desired State Configuration v3

O DSC (Desired State Configuration) da Microsoft é uma plataforma de configuração declarativa. Com a DSC, o estado de uma máquina é descrito usando um formato que deve ser claro para entender mesmo que o leitor não seja um especialista no assunto. Ao contrário das ferramentas imperativas, com a DSC, a definição de um ambiente de aplicativo é separada da lógica de script que implementa como ela é entregue.

O aplicativo de linha de comando DSCv3 abstrai o gerenciamento de componentes de software de forma declarativa e idempotente. O DSCv3 é executado no Linux, no macOS e no Windows sem dependências externas.

Com o DSCv3, você pode:

  • Crie recursos de DSC para gerenciar seus sistemas em qualquer linguagem.
  • Invocar recursos individuais.
  • Crie documentos de configuração que definem o estado desejado de um sistema.

Documentos de Configuração

Os Documentos de Configuração de DSC são arquivos YAML declarativos que definem instâncias de recursos. Normalmente, os documentos de configuração definem qual estado aplicar.

Cenários de exemplo incluem requisitos para um ambiente de aplicativo ou padrões operacionais/de segurança.

Recursos de DSC

Os recursos de DSC definem como gerenciar o estado de um determinado componente de sistema ou aplicativo. Os recursos descrevem um esquema para as configurações gerenciáveis do componente. Cada recurso pode ser usado com as operações Get e Test para recuperar o estado atual de uma instância de recurso e validar se ele está no estado desejado. A maioria dos recursos também dá suporte à imposição do estado desejado com a operação Set .

Os cenários de exemplo incluem como atualizar o conteúdo de um arquivo, como executar um utilitário que altera o estado de um computador ou como definir as configurações de um aplicativo.

Diferenças da DSC do PowerShell

O DSCv3 aproveita o módulo PSDesiredStateConfiguration para dar suporte à compatibilidade com recursos existentes baseados no PowerShell.

O DSCv3 difere do PowerShell Desired State Configuration (PSDSC) de algumas maneiras importantes:

  • O DSCv3 não depende do PowerShell. Você pode usar o DSCv3 sem o PowerShell instalado e gerenciar recursos escritos em bash, python, C#, Go ou qualquer outra linguagem.
  • O DSCv3 não inclui um gerenciador de configurações local. DSCv3 é invocado como um comando. Ele não é executado como um serviço.
  • Recursos que não são do PowerShell definem seus esquemas com arquivos JSON, não arquivos MOF.
  • Os documentos de configuração são definidos em arquivos JSON ou YAML, não em arquivos de script do PowerShell.

É importante ressaltar que, embora o DSCv3 represente uma grande alteração na plataforma DSC, o DSCv3 é capaz de invocar recursos PSDSC, incluindo recursos DSC baseados em script e baseados em classe, como existem hoje. Os documentos de configuração não são compatíveis, mas todos os recursos PSDSC publicados são. Você pode usar recursos do PSDSC no DSCv3 com o Windows PowerShell e o PowerShell.

Instalação

Para instalar o DSCv3:

  1. Baixe a versão mais recente do repositório do PowerShell/DSC.
  2. Expanda o arquivo morto de versão.
  3. Adicione a pasta que contém o conteúdo de arquivo morto expandido ao PATH.

Para instalar a PSDesiredStateConfiguration versão 3 beta do Galeria do 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

Integração com DSCv3

O DSCv3 é uma ferramenta de plataforma que abstrai as preocupações para definir e invocar recursos. Ferramentas de ordem superior, como a Configuração do Azure Machine, a VM gerenciada automatizada do Azure e o WinGet, são parceiros iniciais do DSCv3 como agentes de orquestração.

O DSCv3 usa esquemas JSON para definir a estrutura de recursos, documentos de configuração e as saídas retornadas pelo DSCv3. Esses esquemas facilitam a integração do DSCv3 a outras ferramentas, pois padronizam e documentam como fazer a interface com o DSCv3.

Consulte Também