Omówienie usługi Microsoft Desired State Configuration v3
Desired State Configuration (DSC) firmy Microsoft to platforma konfiguracji deklaratywnej. 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 danej 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 jego dostarczania.
Aplikacja wiersza polecenia DSCv3 wyodrębnia deklaratywnie i idempotentnie zarządzanie składnikami oprogramowania. Rozszerzenie 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 do zarządzania systemami w dowolnym języku.
- Wywoływanie poszczególnych zasobów.
- Utwórz dokumenty konfiguracji, które definiują żądany stan systemu.
Dokumenty konfiguracyjne
Dokumenty konfiguracji DSC to deklaratywne pliki YAML definiujące wystąpienia zasobów. Zazwyczaj dokumenty konfiguracyjne definiują stan do wymuszenia.
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 ustawień, którymi można zarządzać składnika. Każdy zasób może być używany z operacjami Pobierania i testowania , aby pobrać bieżący stan wystąpienia zasobu i sprawdzić, czy jest w żądanym stanie. Większość zasobów obsługuje również wymuszanie żądanego stanu za pomocą operacji Ustaw .
Przykładowe scenariusze obejmują sposób aktualizowania zawartości pliku, uruchamiania narzędzia, które zmienia stan maszyny lub konfigurowania ustawień aplikacji.
Różnice między rozszerzeniami DSC programu PowerShell
DsCv3 wykorzystuje moduł PSDesiredStateConfiguration do obsługi zgodności z istniejącymi zasobami opartymi na programie PowerShell.
Rozszerzenie DSCv3 różni się od Desired State Configuration 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ądzania 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 ważną 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 z Windows PowerShell, jak i programu PowerShell.
Instalacja
Aby zainstalować rozszerzenie DSCv3:
- Pobierz najnowszą wersję z repozytorium programu PowerShell/DSC.
- Rozwiń archiwum wydania.
- Dodaj folder zawierający rozszerzoną zawartość archiwum do folderu
PATH
.
Aby zainstalować PSDesiredStateConfiguration
wersję 3 beta z Galeria 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 zagadnienia dotyczące definiowania i wywoływania zasobów. Narzędzia wyższego zamówienia, takie jak Azure Machine Configuration, Azure Automanaged VM 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 udokumentują sposób interfejsu z dsCv3.
Zobacz też
- Anatomia opartego na poleceniach zasobu DSC , aby dowiedzieć się więcej o tworzeniu zasobu w wybranym języku.
- Dokumentacja wiersza polecenia dla polecenia "dsc"