Erkunden von Desired State Configuration (DSC)

Abgeschlossen

Desired State Configuration (DSC) ist ein Ansatz für die Konfigurationsverwaltung, den Sie für die Konfiguration, Bereitstellung und Verwaltung von Systemen verfolgen können, um sicherzustellen, dass eine Umgebung in einem von Ihnen festgelegten Zustand (definierter Zustand) gehalten wird und nicht von diesem Zustand abweicht.

DSC verhindert Konfigurationsabweichung und stellt sicher, dass der Status hinsichtlich Konformität, Sicherheit und Leistung beibehalten wird.

Windows PowerShell DSC ist eine Verwaltungsplattform in PowerShell, die den gewünschten Zustand bereitstellt.

Mit PowerShell DSC können Sie Konfigurationen für physische oder virtuelle Computer, ob Windows oder Linux, verwalten, bereitstellen und erzwingen.

Weitere Informationen finden Sie in der Übersicht über Windows PowerShell Desired State Configuration.

DSC-Komponenten

DSC besteht aus drei Hauptteilen:

  • Konfigurationen. Deklarativen PowerShell-Skripts, mit denen Instanzen von Ressourcen definiert und konfiguriert werden. Bei Ausführung der Konfiguration wendet DSC (und die Ressourcen, die von der Konfiguration aufgerufen werden) die Konfiguration an und stellt sicher, dass das System im von der Konfiguration festgelegten Zustand vorhanden ist. DSC-Konfigurationen sind auch idempotent, d. h. vom lokalen Konfigurations-Manager (LCM) wird weiter sicherstellt, dass Computer entsprechend der Deklaration in der Konfiguration konfiguriert werden.
  • Ressourcen Sie enthalten den Code, der das Ziel einer Konfiguration in den angegebenen Zustand versetzt und hält. Ressourcen sind in PowerShell-Modulen enthalten und können in ein Modell geschrieben werden, das so allgemein wie eine Datei oder ein Windows-Prozess oder so spezifisch wie ein Server mit Microsoft-Internetinformationsdienstes (IIS) oder eine in Azure ausgeführte VM ist.
  • Lokaler Konfigurationsmanager (LCM). Der LCM wird auf den Knoten oder Computern ausgeführt, die Sie konfigurieren möchten. Er dient als Engine, mit der DSC die Interaktion zwischen Ressourcen und Konfigurationen erleichtert. Der LCM fragt das System regelmäßig mithilfe des von den Ressourcen implementierten Steuerflusses ab, um den von einer Konfiguration definierten Zustand zu erhalten. Wenn das System vom Zustand abweicht, ruft der LCM den Code in den Ressourcen auf, um die Konfiguration gemäß den Vorgaben anzuwenden.

Es gibt zwei Methoden zum Implementieren von DSC:

  • Pushmodus: Ein Benutzer wendet eine Konfiguration aktiv auf einen Zielknoten an und pusht die Konfiguration.
  • Im Pullmodus werden Pullclients so konfiguriert, dass sie ihre Konfigurationen des gewünschten Zustands automatisch von einem Remotepulldienst erhalten. Dieser Remotepulldienst wird von einem Pullserver bereitgestellt, der als zentrale Steuerungs- und Verwaltungsinstanz für die Konfigurationen fungiert, die Konformität der Knoten mit dem gewünschten Zustand sicherstellt und deren Konformitätsstatus meldet. Der Pullserver kann als SMB- oder HTTPS-basierter Pullserver eingerichtet werden. Ein HTTPS-basierter Pullserver verwendet das Open Data Protocol (OData) mit dem OData-Webdienst zur Kommunikation über REST-APIs. Dieses Modell ist für uns am interessantesten, da es zentral verwaltet und gesteuert werden kann. Das folgende Diagramm gibt einen Überblick über den Workflow des DSC-Pullmodus.

Abbildung mit drei Pullclients. Pullclients 1, 2 und 3 befindet sich links. Jeder Pullclient verfügt über ein Feld mit der Bezeichnung „Konfiguration anwenden“ und „LCM“. Pfeile mit der Bezeichnung „Konfiguration abrufen“ zeigen von jedem Pullclient zu einem Pullserver auf der rechten Seite. Der Pullserver verfügt über vier Felder: DSC OData-Endpunkt, IIS-Dienst, Konfigurationen und Ressourcen. Pfeile mit der Bezeichnung „Konfiguration senden“ zeigen vom Pullserver zurück zu den drei Pullclients.