Descrição geral do Microsoft Desired State Configuration v3

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

A aplicação de linha de comandos DSCv3 abstrai a gestão de componentes de software de forma declarativa e idempotente. O DSCv3 é executado no Linux, macOS e Windows sem quaisquer dependências externas.

Com o DSCv3, pode:

  • Crie Recursos DSC para gerir os seus sistemas em qualquer idioma.
  • Invocar recursos individuais.
  • Crie documentos de configuração que definam o estado pretendido de um sistema.

Documentos de Configuração

Os Documentos de Configuração do DSC são ficheiros YAML declarativos que definem instâncias de recursos. Normalmente, os documentos de configuração definem o estado a impor.

Os cenários de exemplo incluem requisitos para um ambiente de aplicação ou normas operacionais/de segurança.

Recursos do DSC

Os Recursos do DSC definem como gerir o estado de um determinado componente de sistema ou aplicação. Os recursos descrevem um esquema para as definições geríveis do componente. Todos os recursos podem ser utilizados com as operações Get e Test para obter o estado atual de uma instância de recurso e validar se está no estado pretendido. A maioria dos recursos também suporta a imposição do estado pretendido com a operação Definir .

Os cenários de exemplo incluem como atualizar o conteúdo de um ficheiro, como executar um utilitário que altera o estado de um computador ou como configurar definições de uma aplicação.

Diferenças do DSC do PowerShell

O DSCv3 tira partido do módulo PSDesiredStateConfiguration para suportar a compatibilidade com recursos baseados no PowerShell existentes.

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

  • O DSCv3 não depende do PowerShell. Pode utilizar o DSCv3 sem o PowerShell instalado e gerir recursos escritos em bash, python, C#, Go ou qualquer outro idioma.
  • O DSCv3 não inclui um gestor de configuração local. O DSCv3 é invocado como um comando. Não é executado como um serviço.
  • Os recursos que não sejam do PowerShell definem os respetivos esquemas com ficheiros JSON e não ficheiros MOF.
  • Os documentos de configuração são definidos em ficheiros JSON ou YAML e não em ficheiros de script do PowerShell.

Importante, embora o DSCv3 represente uma alteração importante para a plataforma DSC, o DSCv3 é capaz de invocar Recursos PSDSC, incluindo Recursos DSC baseados em scripts e baseados em classes, tal como existem atualmente. Os documentos de configuração não são compatíveis, mas todos os Recursos PSDSC publicados são. Pode utilizar recursos PSDSC no DSCv3 com o Windows PowerShell e o PowerShell.

Instalação

Para instalar o DSCv3:

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

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

Integrar com o DSCv3

O DSCv3 é uma ferramenta de plataforma que abstrai as preocupações de definir e invocar recursos. As ferramentas de ordem superior, como o Azure Machine Configuration, a VM gerida automaticamente do Azure e o WinGet, são parceiros iniciais do DSCv3 como agentes de orquestração.

O DSCv3 utiliza esquemas JSON para definir a estrutura dos recursos, os documentos de configuração e as saídas devolvidas pelo DSCv3. Estes esquemas facilitam a integração do DSCv3 com outras ferramentas, uma vez que uniformizam e documentam como interagir com o DSCv3.

Consulte também