Omówienie usługi Microsoft Desired State Configuration w wersji 3
Microsoft Desired State Configuration (DSC) to deklaratywna platforma konfiguracji. W przypadku rozszerzenia DSC stan maszyny jest opisywany przy użyciu formatu, który powinien być jasny, aby zrozumieć, nawet jeśli czytelnik nie jest ekspertem w tej dziedzinie. W przeciwieństwie do narzędzi imperatywnych, w przypadku rozszerzenia DSC definicja środowiska aplikacji jest oddzielona od logiki skryptu, która implementuje sposób dostarczania.
Aplikacja wiersza polecenia DSCv3 abstrahuje zarządzanie składnikami oprogramowania deklaratywnie i idempotentnie. Środowisko DSCv3 działa w systemach Linux, macOS i Windows bez żadnych zależności zewnętrznych.
Za pomocą rozszerzenia DSCv3 można wykonywać następujące czynności:
- Tworzenie zasobów DSC w celu zarządzania systemami w dowolnym języku.
- Wywoływanie poszczególnych zasobów.
- Utwórz dokumenty konfiguracji, które definiują żądany stan systemu.
Dokumenty konfiguracji
Dokumenty konfiguracji DSC to deklaratywne pliki YAML definiujące wystąpienia zasobów. Zazwyczaj dokumenty konfiguracyjne definiują stan, który ma być wymuszany.
Przykładowe scenariusze obejmują wymagania dotyczące środowiska aplikacji lub standardów operacyjnych/zabezpieczeń.
Zasoby DSC
Zasoby DSC definiują sposób zarządzania stanem dla określonego systemu lub składnika aplikacji. Zasoby opisują schemat dla zarządzanych ustawień składnika. Każdy zasób może być używany z operacjami Get i Test w celu pobrania bieżącego stanu wystąpienia zasobu i sprawdzenia, czy znajduje się on w żądanym stanie. Większość zasobów obsługuje również wymuszanie żądanego stanu przy użyciu operacji Ustaw.
Przykładowe scenariusze obejmują sposób aktualizowania zawartości pliku, uruchamiania narzędzia, które zmienia stan maszyny lub sposobu konfigurowania ustawień aplikacji.
Różnice między rozszerzeniami DSC programu PowerShell
DSCv3 korzysta z modułu PSDesiredStateConfiguration w celu zapewnienia zgodności z istniejącymi zasobami opartymi na programie PowerShell.
Rozszerzenie DSCv3 różni się od konfiguracji żądanego stanu programu PowerShell (PSDSC) na kilka ważnych sposobów:
- Rozszerzenie DSCv3 nie zależy od programu PowerShell. Możesz użyć rozszerzenia DSCv3 bez zainstalowanego programu PowerShell i zarządzać zasobami napisanymi w powłoce bash, python, C#, Go lub innym języku.
- DSCv3 nie zawiera lokalnego menedżera konfiguracji. Rozszerzenie DSCv3 jest wywoływane jako polecenie. Nie jest ona uruchamiana jako usługa.
- Zasoby spoza programu PowerShell definiują schematy z plikami JSON, a nie plikami MOF.
- Dokumenty konfiguracji są definiowane w plikach JSON lub YAML, a nie w plikach skryptów programu PowerShell.
Co ważne, podczas gdy DSCv3 reprezentuje główną zmianę platformy DSC, dsCv3 może wywoływać zasoby PSDSC, w tym zasoby DSC oparte na skryptach i oparte na klasach, ponieważ istnieją dzisiaj. Dokumenty konfiguracji nie są zgodne, ale wszystkie opublikowane zasoby PSDSC są. Zasoby PSDSC można używać w środowisku DSCv3 zarówno w programie Windows PowerShell, jak i programie PowerShell.
Instalacja
Aby zainstalować rozszerzenie DSCv3:
- Pobierz najnowszą wersję z repozytorium programu PowerShell/DSC.
- Rozwiń archiwum wersji.
- Dodaj folder zawierający rozszerzoną zawartość archiwum do
PATH
.
Aby zainstalować PSDesiredStateConfiguration
w wersji 3 beta z galerii programu PowerShell:
# Using PSResourceGet
Install-PSResource -Name PSDesiredStateConfiguration -Version 3.0.0-beta1 -Prerelease
# Using PowerShellGet
Install-Module -Name PSDesiredStateConfiguration -RequiredVersion 3.0.0-beta1 -AllowPrerelease
Integracja z platformą DSCv3
DSCv3 to narzędzie platformy, które abstrahuje od zagadnień związanych z definiowaniem i wywoływaniem zasobów. Narzędzia wyższego zamówienia, takie jak Azure Dev Box, Windows Dev Home i WinGet, są wczesnymi partnerami dsCv3 jako agenci orkiestracji.
DSCv3 używa schematów JSON do definiowania struktury zasobów, dokumentów konfiguracji i danych wyjściowych zwracanych przez DSCv3. Te schematy ułatwiają integrowanie rozszerzenia DSCv3 z innymi narzędziami, ponieważ standandaryzują i dokumentują sposób interfejsu z dsCv3.
Zobacz też
- Anatomia zasobu DSC opartego na poleceniach, aby dowiedzieć się więcej o tworzeniu zasobu w wybranym języku.
- dokumentacja wiersza polecenia dla polecenia "dsc"