Explorer DSC (Desired State Configuration)

Effectué

DSC (Desired State Configuration) est une approche de gestion de la configuration que vous pouvez utiliser pour la configuration, le déploiement et la gestion de systèmes afin de garantir qu’un environnement est conservé dans un état que vous spécifiez (état défini) et qu’il ne s’écarte pas de cet état.

DSC aide à éliminer la dérive de la configuration et garantit que l’état est conservé à des fins de conformité, de sécurité et de performances.

Windows PowerShell DSC est une plateforme de gestion dans PowerShell qui fournit l’état souhaité.

PowerShell DSC vous permet de gérer, de déployer et d’appliquer des configurations pour des machines physiques ou virtuelles, y compris Windows et Linux.

Pour plus d’informations, consultez Vue d’ensemble de Windows PowerShell Desired State Configuration.

Composants DSC

DSC est constitué de trois parties principales :

  • Configurations. Il s’agit de scripts PowerShell déclaratifs qui définissent et configurent des instances de ressources. Quand une configuration est exécutée, DSC (et toutes les ressources appelées par cette configuration) applique la configuration, en faisant en sorte que le système se trouve dans l’état souhaité défini par la configuration. Les configurations DSC sont également idempotent, c’est-à-dire que le Gestionnaire de configuration local (ou « LCM ») s’assure que les machines restent configurées dans l’état déclaré dans la configuration.
  • Ressources. Elles contiennent le code qui place et conserve la cible d’une configuration dans l’état spécifié. Les ressources se trouvent dans des modules PowerShell et peuvent être écrites dans un modèle générique sous la forme d’un fichier ou d’un processus Windows ou en tant que serveur Microsoft Internet Information Services (IIS) ou machine virtuelle s’exécutant dans Azure.
  • Gestionnaire de configuration local (LCM). Le LCM s’exécute sur les nœuds ou les machines que vous souhaitez configurer. C’est le moteur par lequel DSC facilite l’interaction entre les ressources et les configurations. Le LCM interroge régulièrement le système, via le flux de contrôle implémenté par les ressources, pour conserver l’état défini par une configuration. Si le système est hors de l’état, le LCM appelle le code dans les ressources pour appliquer la configuration en fonction de ce qui est spécifié.

Il existe deux méthodes d’implémentation de DSC :

  • Mode Poussée : un utilisateur applique activement une configuration à un nœud cible et exécute un push de la configuration.
  • Le mode Extraction est le mode dans lequel les clients Pull sont automatiquement configurés de façon à obtenir leur configuration d’état souhaité à partir d’un service Pull distant. Ce service est fourni par un serveur Pull qui joue le rôle de contrôle central et de gestionnaire pour les configurations, s’assure que les nœuds sont conformes à l’état souhaité et signale leur état de conformité. Le serveur Pull peut être configuré en tant que serveur Pull SMB ou que serveur HTTPS. Le serveur Pull HTTPS utilise OData (Open Data Protocol) avec le service web OData pour communiquer en utilisant des API REST. C’est le modèle qui nous intéresse le plus, car il peut être géré et contrôlé de manière centralisée. Le diagramme suivant met en évidence le workflow du mode Tirage DSC.

Diagramme montrant trois clients Pull. Les clients Pull 1, 2 et 3 sont à gauche. Chaque client Pull a une zone intitulée Appliquer la configuration et LCM. Les flèches étiquetées Obtenir la configuration vont de chaque client Pull à un serveur Pull sur la droite. Le serveur Pull comporte quatre zones : Point de terminaison OData DSC, Service IIS, Configurations et Ressources. Les flèches étiquetées Envoyer la configuration partent du serveur Pull vers les trois clients Pull sur la gauche.