Übersicht über Microsoft Desired State Configuration v3
Microsofts Desired State Configuration (DSC) ist eine deklarative Konfigurationsplattform. Mit DSC wird der Zustand eines Computers in einem Format beschrieben, das verständlich sein sollte, auch wenn der Leser kein Fachmann ist. Im Gegensatz zu imperativen Tools ist die Definition einer Anwendungsumgebung bei DSC von der Skriptlogik getrennt, die implementiert, wie sie bereitgestellt wird.
Die DSCv3-Befehlszeilenanwendung abstrahiert die Verwaltung von Softwarekomponenten deklarativ und idempotent. 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 sind Anforderungen an eine Anwendungsumgebung oder Betriebs-/Sicherheitsstandards.
DSC-Ressourcen
DSC-Ressourcen definieren, wie der Zustand für eine bestimmte System- oder Anwendungskomponente verwaltet wird. Ressourcen beschreiben ein Schema für die verwaltbaren Einstellungen der Komponente. Jede Ressource kann mit den Get- und Testvorgängen verwendet werden, um den aktuellen Zustand einer Ressource instance 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 Set-Vorgang .
Beispielszenarien sind das Aktualisieren des Inhalts einer Datei, die Ausführung eines Hilfsprogramms, das den Zustand eines Computers ändert, oder das Konfigurieren von Einstellungen einer Anwendung.
Unterschiede zu PowerShell DSC
DSCv3 nutzt das PSDesiredStateConfiguration-Modul , um die Kompatibilität mit vorhandenen PowerShell-basierten Ressourcen zu unterstützen.
DSCv3 unterscheidet sich von PowerShell Desired State Configuration (PSDSC) in einigen wichtigen Punkten:
- DSCv3 ist nicht von PowerShell abhängig. Sie können DSCv3 ohne installierte PowerShell verwenden und Ressourcen verwalten, die in Bash, Python, C#, Go oder einer anderen Sprache geschrieben sind.
- DSCv3 enthält keinen lokalen Konfigurations-Manager. DSCv3 wird als Befehl aufgerufen. Sie 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.
Während DSCv3 eine wichtige Ä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. 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-Repository herunter.
- Erweitern Sie das Releasearchiv.
- Fügen Sie den Ordner mit dem erweiterten Archivinhalt hinzu
PATH
.
So installieren Sie die PSDesiredStateConfiguration
Betaversion 3 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 in DSCv3
DSCv3 ist ein Plattformtool, das die Überlegungen zum Definieren und Aufrufen von Ressourcen abstrahiert. Tools höherer Reihenfolge, wie Azure Machine Configuration, Azure Automanaged VM und WinGet, sind frühe Partner für DSCv3 als Orchestrierungs-Agents.
DSCv3 verwendet JSON-Schemas, um die Struktur von Ressourcen, Konfigurationsdokumenten und ausgaben zu definieren, die DSCv3 zurückgibt. Diese Schemas erleichtern die Integration von DSCv3 in andere Tools, da sie die Schnittstellen mit DSCv3 standardisieren und dokumentieren.
Weitere Informationen
- Anatomie einer befehlsbasierten DSC-Ressource , um mehr über das Erstellen einer Ressource in der Sprache Ihrer Wahl zu erfahren.
- Befehlszeilenreferenz für den Befehl "dsc"