Panoramica di Microsoft Desired State Configuration v3

La Desired State Configuration (DSC) di Microsoft è una piattaforma di configurazione dichiarativa. Con DSC, lo stato di un computer viene descritto usando un formato che deve essere chiaro per comprendere anche se il lettore non è un esperto di materia. A differenza degli strumenti imperativi, con DSC la definizione di un ambiente applicazione è separata dalla logica di script che implementa la modalità di distribuzione.

L'applicazione della riga di comando DSCv3 astrae la gestione dei componenti software dichiarativamente e idempotente. DSCv3 viene eseguito in Linux, macOS e Windows senza dipendenze esterne.

Con DSCv3 è possibile:

  • Creare risorse DSC per gestire i sistemi in qualsiasi lingua.
  • Richiamare singole risorse.
  • Creare documenti di configurazione che definiscono lo stato desiderato di un sistema.

Documenti di configurazione

I documenti di configurazione DSC sono file YAML dichiarativi che definiscono istanze di risorse. In genere, i documenti di configurazione definiscono lo stato da applicare.

Gli scenari di esempio includono requisiti per un ambiente applicazione o standard operativi/di sicurezza.

Risorse DSC

Le risorse DSC definiscono come gestire lo stato per un determinato sistema o componente dell'applicazione. Le risorse descrivono uno schema per le impostazioni gestibili del componente. Ogni risorsa può essere usata con le operazioni Get e Test per recuperare lo stato corrente di un'istanza di una risorsa e convalidare se si trova nello stato desiderato. La maggior parte delle risorse supporta anche l'applicazione dello stato desiderato con l'operazione Set .

Gli scenari di esempio includono come aggiornare il contenuto di un file, come eseguire un'utilità che modifica lo stato di un computer o come configurare le impostazioni di un'applicazione.

Differenze con PowerShell DSC

DSCv3 sfrutta il modulo PSDesiredStateConfiguration per supportare la compatibilità con le risorse basate su PowerShell esistenti.

DSCv3 differisce da PowerShell Desired State Configuration (PSDSC) in alcuni modi importanti:

  • DSCv3 non dipende da PowerShell. È possibile usare DSCv3 senza PowerShell installato e gestire le risorse scritte in bash, python, C#, Go o qualsiasi altro linguaggio.
  • DSCv3 non include un gestore di configurazione locale. DSCv3 viene richiamato come comando. Non viene eseguito come servizio.
  • Le risorse non PowerShell definiscono i relativi schemi con file JSON, non file MOF.
  • I documenti di configurazione vengono definiti nei file JSON o YAML, non nei file di script di PowerShell.

Importantemente, mentre DSCv3 rappresenta una modifica principale alla piattaforma DSC, DSCv3 è in grado di richiamare risorse PSDSC, tra cui risorse DSC basate su script e basate su classi, come esistono oggi. I documenti di configurazione non sono compatibili, ma tutte le risorse PSDSC pubblicate sono. È possibile usare le risorse PSDSC in DSCv3 con Windows PowerShell e PowerShell.

Installazione

Per installare DSCv3:

  1. Scaricare la versione più recente dal repository PowerShell/DSC.
  2. Espandere l'archivio di rilascio.
  3. Aggiungere la cartella contenente il contenuto dell'archivio espanso all'oggetto PATH.

Per installare la PSDesiredStateConfiguration versione 3 beta dal PowerShell Gallery:

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

Integrazione con DSCv3

DSCv3 è uno strumento di piattaforma che astrae le preoccupazioni per definire e richiamare le risorse. Strumenti di ordine superiore, ad esempio Configurazione di Azure Machine, macchina virtuale gestita automaticamente di Azure e WinGet sono partner iniziali per DSCv3 come agenti di orchestrazione.

DSCv3 usa schemi JSON per definire la struttura di risorse, documenti di configurazione e gli output restituiti da DSCv3. Questi schemi semplificano l'integrazione di DSCv3 con altri strumenti, perché standardizzano e documentano come interfacciarsi con DSCv3.

Vedere anche