Vue d’ensemble de Microsoft Desired State Configuration v3

Microsoft Desired State Configuration (DSC) est une plateforme de configuration déclarative. Avec DSC, l’état d’une machine est décrit à l’aide d’un format qui doit être clair à comprendre même si le lecteur n’est pas un expert en la matière. Contrairement aux outils impératifs, avec DSC, la définition d’un environnement d’application est distincte de la logique de script qui implémente la façon dont il est fourni.

L’application en ligne de commande DSCv3 extrait la gestion des composants logiciels de manière déclarative et idempotente. DSCv3 s’exécute sur Linux, macOS et Windows sans dépendances externes.

Avec DSCv3, vous pouvez :

  • Créez des ressources DSC pour gérer vos systèmes dans n’importe quel langage.
  • Appelez des ressources individuelles.
  • Créez des documents de configuration qui définissent l’état souhaité d’un système.

Configuration Documents

Les documents de configuration DSC sont des fichiers YAML déclaratifs qui définissent des instances de ressources. En règle générale, les documents de configuration définissent l’état à appliquer.

Les exemples de scénarios incluent des exigences pour un environnement d’application ou des normes opérationnelles/de sécurité.

Ressources DSC

Les ressources DSC définissent comment gérer l’état d’un système ou d’un composant d’application particulier. Les ressources décrivent un schéma pour les paramètres gérables du composant. Chaque ressource peut être utilisée avec les opérations Get et Test pour récupérer l’état actuel d’une ressource instance et vérifier si elle est dans l’état souhaité. La plupart des ressources prennent également en charge l’application de l’état souhaité avec l’opération Set .

Les exemples de scénarios incluent la mise à jour du contenu d’un fichier, l’exécution d’un utilitaire qui modifie l’état d’une machine ou la configuration des paramètres d’une application.

Différences par rapport à PowerShell DSC

DSCv3 tire parti du module PSDesiredStateConfiguration pour prendre en charge la compatibilité avec les ressources PowerShell existantes.

DSCv3 diffère de PowerShell Desired State Configuration (PSDSC) de quelques manières importantes :

  • DSCv3 ne dépend pas de PowerShell. Vous pouvez utiliser DSCv3 sans PowerShell installé et gérer les ressources écrites en bash, python, C#, Go ou tout autre langage.
  • DSCv3 n’inclut pas de gestionnaire de configuration local. DSCv3 est appelé en tant que commande. Il ne s’exécute pas en tant que service.
  • Les ressources non PowerShell définissent leurs schémas avec des fichiers JSON, et non des fichiers MOF.
  • Les documents de configuration sont définis dans des fichiers JSON ou YAML, et non dans des fichiers de script PowerShell.

Fait important, alors que DSCv3 représente une modification majeure de la plateforme DSC, DSCv3 est en mesure d’appeler des ressources PSDSC, y compris des ressources DSC basées sur des scripts et basées sur des classes, telles qu’elles existent aujourd’hui. Les documents de configuration ne sont pas compatibles, mais toutes les ressources PSDSC publiées le sont. Vous pouvez utiliser des ressources PSDSC dans DSCv3 avec Windows PowerShell et PowerShell.

Installation

Pour installer DSCv3 :

  1. Téléchargez la dernière version à partir du référentiel PowerShell/DSC.
  2. Développez l’archive de mise en production.
  3. Ajoutez le dossier contenant le contenu de l’archive développée au PATH.

Pour installer la PSDesiredStateConfiguration version 3 bêta à partir du 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

Intégration à DSCv3

DSCv3 est un outil de plateforme qui extrait les préoccupations liées à la définition et à l’appel de ressources. Les outils d’ordre supérieur, comme Azure Machine Configuration, Azure Automanaged VM et WinGet, sont les premiers partenaires de DSCv3 en tant qu’agents d’orchestration.

DSCv3 utilise des schémas JSON pour définir la structure des ressources, des documents de configuration et les sorties retournées par DSCv3. Ces schémas facilitent l’intégration de DSCv3 à d’autres outils, car ils normalisent et documentent l’interface avec DSCv3.

Voir aussi