Erkunden der gewünschten Zustandskonfiguration (DSC)
Desired State Configuration (DSC) ist ein Konfigurationsverwaltungsansatz, den Sie für konfiguration, Bereitstellung und Verwaltung von Systemen verwenden können, um sicherzustellen, dass eine Umgebung in einem Zustand verwaltet wird, den Sie angeben (definierten Zustand) und nicht von diesem Zustand abweichen.
DSC hilft dabei, Konfigurationsabweichungen zu beseitigen und sicherzustellen, dass der Zustand für Compliance, 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, einschließlich Windows und Linux, verwalten, bereitstellen und erzwingen.
Weitere Informationen finden Sie unter Windows PowerShell Desired State Configuration Overview.
DSC-Komponenten
DSC besteht aus drei Hauptteilen:
- Konfigurationen. Dies sind deklarative PowerShell-Skripts, die Instanzen von Ressourcen definieren und konfigurieren. Beim Ausführen der Konfiguration wendet DSC (und die von der Konfiguration aufgerufenen Ressourcen) die Konfiguration an, um sicherzustellen, dass das System in dem zustand vorhanden ist, der von der Konfiguration festgelegt ist. DSC-Konfigurationen werden auch idempotent: Der Local Configuration Manager (LCM) stellt sicher, dass Computer in dem Zustand konfiguriert sind, den die Konfiguration festlegt.
- Ressourcen. Sie enthalten den Code, der das Ziel einer Konfiguration im angegebenen Zustand platziert und behält. Ressourcen befinden sich in PowerShell-Modulen und können in ein Modell geschrieben werden, das so generisch wie eine Datei oder ein Windows-Prozess oder so spezifisch wie ein Microsoft Internet Information Services (IIS)-Server und ein virtueller Computer, der in Azure läuft, ist.
- Lokaler Konfigurations-Manager (LCM). Das LCM wird auf den Knoten oder Computern ausgeführt, die Sie konfigurieren möchten. Es ist das Modul, mit dem DSC die Interaktion zwischen Ressourcen und Konfigurationen erleichtert. Das LCM überprüft regelmäßig das System mithilfe des von Ressourcen implementierten Kontrollflusses, um den durch eine Konfiguration definierten Zustand beizubehalten. Wenn das System nicht im erwarteten Zustand ist, ruft das LCM den Code in den Ressourcen auf, um die Konfiguration gemäß den Vorgaben anzuwenden.
Es gibt zwei Methoden für die Implementierung von DSC:
- Pushmodus – Ein Benutzer wendet aktiv eine Konfiguration auf einen Zielknoten an und überträgt die Konfiguration.
- Im Pullmodus werden Pullclients automatisch so konfiguriert, dass die gewünschten Zustandskonfigurationen von einem Remote-Pulldienst abgerufen werden. Dieser Remote-Pulldienst wird von einem Pullserver bereitgestellt, der als zentrale Steuerung und Vorgesetzter für die Konfigurationen fungiert, stellt sicher, dass Knoten dem gewünschten Zustand entsprechen, und meldet ihren Compliancestatus. Der Pullserver kann als SMB-basierter Pullserver oder HTTPS-basierter Server eingerichtet werden. HTTPS-basierter Pullserver verwendet das Open Data Protocol (OData) mit dem OData-Webdienst, um mit REST-APIs zu kommunizieren. Es ist das Modell, an dem wir am meisten interessiert sind, da es zentral verwaltet und gesteuert werden kann. Das folgende Diagramm enthält eine Gliederung des Workflows des DSC-Pullmodus.