Übersicht über die Microsoft Desired State Configuration v3
Die Desired State Configuration (DSC) von Microsoft ist eine deklarative Konfigurationsplattform. Bei DSC wird der Zustand eines Computers mithilfe eines Formats beschrieben, das verständlich sein sollte, auch wenn der Leser kein Fachexperte ist. Im Gegensatz zu imperativen Tools ist DSC die Definition einer Anwendungsumgebung von der Skriptlogik getrennt, die implementiert, wie sie bereitgestellt wird.
Die Befehlszeilenanwendung DSCv3 abstrahiert die Verwaltung von Softwarekomponenten deklarativ und idempotently. DSCv3 wird unter Linux, macOS und Windows ohne externe Abhängigkeiten ausgeführt.
Mit DSCv3 können Sie:
- Erstellen Sie DSC-Ressourcen, um Ihre Systeme in einer beliebigen Sprache zu verwalten.
- Rufen Sie einzelne Ressourcen auf.
- Erstellen Sie Konfigurationsdokumente, die den gewünschten Zustand eines Systems definieren.
Konfigurationsdokumente
DSC-Konfigurationsdokumente sind deklarative YAML-Dateien, die Instanzen von Ressourcen definieren. In der Regel definieren Konfigurationsdokumente, welcher Zustand erzwungen werden soll.
Beispielszenarien umfassen Anforderungen für eine Anwendungsumgebung oder Betriebliche/Sicherheitsstandards.
DSC-Ressourcen
DSC-Ressourcen definieren, wie der Zustand für ein bestimmtes System oder eine bestimmte Anwendungskomponente verwaltet wird. Ressourcen beschreiben ein Schema für die verwaltbaren Einstellungen der Komponente. Jede Ressource kann mit den Vorgängen Get und Test verwendet werden, um den aktuellen Status einer Ressourceninstanz abzurufen und zu überprüfen, ob sie sich im gewünschten Zustand befindet. Die meisten Ressourcen unterstützen auch das Erzwingen des gewünschten Zustands mit dem vorgang Festlegen.
Beispielszenarien sind das Aktualisieren des Inhalts einer Datei, das Ausführen eines Hilfsprogramms, das den Zustand eines Computers ändert, oder das Konfigurieren von Einstellungen einer Anwendung.
Unterschiede von PowerShell DSC
DSCv3 nutzt das PSDesiredStateConfiguration-Modul, um die Kompatibilität mit vorhandenen PowerShell-basierten Ressourcen zu unterstützen.
DSCv3 unterscheidet sich von der PowerShell Desired State Configuration (PSDSC) auf verschiedene Arten:
- DSCv3 hängt nicht von PowerShell ab. Sie können DSCv3 verwenden, ohne Dass PowerShell installiert ist, und Ressourcen zu verwalten, die in Bash, Python, C#, Go oder einer anderen Sprache geschrieben wurden.
- DSCv3 enthält keinen lokalen Konfigurations-Manager. DSCv3 wird als Befehl aufgerufen. Er wird nicht als Dienst ausgeführt.
- Nicht-PowerShell-Ressourcen definieren ihre Schemas mit JSON-Dateien, nicht mit MOF-Dateien.
- Konfigurationsdokumente werden in JSON- oder YAML-Dateien definiert, nicht in PowerShell-Skriptdateien.
Wichtig ist, dass DSCv3 eine wesentliche Änderung an der DSC-Plattform darstellt, kann DSCv3 PSDSC-Ressourcen aufrufen, einschließlich skriptbasierter und klassenbasierter DSC-Ressourcen, wie sie heute vorhanden sind. Die Konfigurationsdokumente sind nicht kompatibel, aber alle veröffentlichten PSDSC-Ressourcen sind. Sie können PSDSC-Ressourcen in DSCv3 sowohl mit Windows PowerShell als auch mit PowerShell verwenden.
Installation
So installieren Sie DSCv3:
- Laden Sie die neueste Version aus dem PowerShell/DSC-Repositoryherunter.
- Erweitern Sie das Releasearchiv.
- Fügen Sie den Ordner mit den erweiterten Archivinhalten zum
PATH
hinzu.
So installieren Sie die PSDesiredStateConfiguration
Version 3 beta aus dem PowerShell-Katalog:
# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease
Integration mit DSCv3
DSCv3 ist ein Plattformtool, das die Bedenken zum Definieren und Aufrufen von Ressourcen abstrahiert. Höhere Bestelltools wie Azure Dev Box, Windows Dev Home und WinGet sind frühe Partner für DSCv3 als Orchestrierungs-Agents.
DSCv3 verwendet JSON-Schemas, um die Struktur von Ressourcen, Konfigurationsdokumenten und die Ausgaben zu definieren, die DSCv3 zurückgibt. Diese Schemas erleichtern die Integration von DSCv3 in andere Tools, da sie die Schnittstelle mit DSCv3 standardisieren und dokumentieren.
Siehe auch
- Anatomie einer befehlsbasierten DSC-Ressource, um mehr über die Erstellung einer Ressource in Ihrer gewünschten Sprache zu erfahren.
- Befehlszeilenreferenz für den Befehl "dsc"