Wprowadzenie do procedury obsługi rozszerzenia Azure Desired State Configuration
Uwaga
Przed włączeniem rozszerzenia DSC chcielibyśmy wiedzieć, że nowsza wersja rozszerzenia DSC jest teraz ogólnie dostępna o nazwie Azure Machine Configuration. Usługa Azure Machine Configuration obejmuje funkcje rozszerzenia DSC i często żądane funkcje opinii klientów. Usługa Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.
Rozszerzenie maszyny wirtualnej platformy Azure dla maszyn wirtualnych platformy Azure i skojarzone rozszerzenia są częścią usług infrastruktury platformy Microsoft Azure. Rozszerzenia maszyn wirtualnych platformy Azure to składniki oprogramowania, które rozszerzają funkcjonalność maszyny wirtualnej i upraszczają różne operacje zarządzania maszynami wirtualnymi.
Rozszerzenie DSC wypycha tylko konfigurację do maszyny wirtualnej. Nie jest dostępne żadne bieżące raportowanie, inne niż lokalnie na maszynie wirtualnej.
Dostępne wersje DSC
Rozszerzenie DSC obsługuje konfiguracje z wersji 1.1 platformy DSC. Aby uzyskać więcej informacji, zobacz PSDesiredStateConfiguration v1.1.
Wymagania wstępne
Stacja robocza dla deweloperów: aby wchodzić w interakcje z rozszerzeniem DSC platformy Azure, musisz użyć witryny Azure Portal lub zestawu SDK programu Azure PowerShell/interfejsu wiersza polecenia.
Agent gościa: maszyna wirtualna platformy Azure przygotowana przez konfigurację DSC musi używać systemu operacyjnego obsługującego program Windows Management Framework (WMF) 4.0 lub nowszy. Aby uzyskać pełną listę obsługiwanych wersji systemu operacyjnego, zobacz historię wersji rozszerzenia DSC platformy Azure.
Terminy i pojęcia
W tym artykule przyjęto założenie znajomości następujących pojęć:
Konfiguracja odnosi się do dokumentu konfiguracji DSC.
Węzeł identyfikuje element docelowy konfiguracji DSC. W tym artykule węzeł zawsze odwołuje się do maszyny wirtualnej platformy Azure.
Dane konfiguracji są przechowywane w pliku formatu DSC programu PowerShell (psd1), który zawiera dane środowiskowe dla konfiguracji.
Architektura
Rozszerzenie DSC platformy Azure używa struktury rozszerzenia maszyny wirtualnej platformy Azure do dostarczania, wprowadzania i raportowania konfiguracji DSC działających na maszynach wirtualnych platformy Azure. Rozszerzenie DSC akceptuje dokument konfiguracji i zestaw parametrów.
Gdy rozszerzenie jest wywoływane po raz pierwszy, instaluje wersję programu WMF przy użyciu następującej logiki:
Jeśli system operacyjny maszyny wirtualnej platformy Azure to Windows Server 2016, nie zostanie podjęta żadna akcja. System Windows Server 2016 ma już zainstalowaną najnowszą wersję programu PowerShell.
wmfVersion
Jeśli właściwość jest określona, określona wersja programu WMF jest zainstalowana, chyba że określona wersja jest niezgodna z systemem operacyjnym na maszynie wirtualnej.Jeśli nie
wmfVersion
określono właściwości, zainstalowano najnowszą odpowiednią wersję programu WMF.
Proces instalacji programu WMF wymaga ponownego uruchomienia. Po ponownym uruchomieniu rozszerzenie pobiera plik .zip określony we modulesUrl
właściwości, jeśli zostanie podany. Jeśli ta lokalizacja znajduje się w usłudze Azure Blob Storage, możesz określić token SAS we sasToken
właściwości , aby uzyskać dostęp do pliku. Po pobraniu i rozpakowaniu .zip funkcja konfiguracji zdefiniowana w configurationFunction
ramach przebiegów w celu wygenerowania pliku MOF (Managed Object Format) (MOF). Następnie rozszerzenie uruchamia Start-DscConfiguration -Force
polecenie przy użyciu wygenerowanego pliku mof. Rozszerzenie przechwytuje dane wyjściowe i zapisuje je w kanale stanu platformy Azure.
Nazwa konfiguracji węzła
W przypadku parametru NodeConfigurationName
należy podać nazwę konfiguracji węzła, a nie konfigurację.
Konfiguracja jest definiowana w skrypcie używanym do kompilowania konfiguracji węzła (pliku MOF). Nazwa konfiguracji węzła jest zawsze nazwą konfiguracji, po której następuje kropka .
lub localhost
określona nazwa komputera.
Wdrażanie szablonu usługi ARM
Najczęstszym podejściem do wdrażania rozszerzenia DSC jest użycie szablonów usługi Azure Resource Manager. Aby uzyskać więcej informacji i przykłady dołączania rozszerzenia DSC do szablonów usługi ARM, zobacz Desired State Configuration extension with ARM templates (Rozszerzenie Desired State Configuration z szablonami usługi ARM).
Wdrażanie poleceń cmdlet programu PowerShell
Polecenia cmdlet programu PowerShell do zarządzania rozszerzeniem DSC idealnie nadają się do interaktywnych scenariuszy rozwiązywania problemów i zbierania informacji. Polecenia cmdlet umożliwiają pakowanie, publikowanie i monitorowanie wdrożeń rozszerzeń DSC.
Oto niektóre z dostępnych poleceń cmdlet programu PowerShell:
Polecenie cmdlet Publish-AzVMDscConfiguration pobiera plik konfiguracji, skanuje je pod kątem zależnych zasobów DSC, a następnie tworzy plik .zip. Plik .zip zawiera konfigurację i zasoby DSC potrzebne do wdrożenia konfiguracji. Polecenie cmdlet może również utworzyć pakiet lokalnie przy użyciu parametru
-OutputArchivePath
. W przeciwnym razie polecenie cmdlet publikuje plik .zip w usłudze Blob Storage, a następnie zabezpiecza go za pomocą tokenu SAS.Skrypt konfiguracji programu PowerShell (ps1) utworzony przez polecenie cmdlet znajduje się w pliku .zip w folderze głównym folderu archiwum. Folder modułu znajduje się w folderze archiwum w zasobach.
Polecenie cmdlet Set-AzVMDscExtension wprowadza ustawienia wymagane przez rozszerzenie DSC programu PowerShell do obiektu konfiguracji maszyny wirtualnej.
Polecenie cmdlet Get-AzVMDscExtension pobiera stan rozszerzenia DSC określonej maszyny wirtualnej.
Polecenie cmdlet Get-AzVMDscExtensionStatus pobiera stan konfiguracji DSC wprowadzonej przez program obsługi rozszerzenia DSC. Tę akcję można wykonać na jednej maszynie wirtualnej lub grupie maszyn wirtualnych.
Polecenie cmdlet Remove-AzVMDscExtension usuwa program obsługi rozszerzeń z określonej maszyny wirtualnej. Pamiętaj, że to polecenie cmdlet nie powoduje usunięcia konfiguracji, odinstalowania programu WMF ani zmiany zastosowanych ustawień na maszynie wirtualnej. Polecenie cmdlet usuwa tylko program obsługi rozszerzeń.
Ważne uwagi
Podczas pracy z poleceniami cmdlet usługi Azure Resource Manager należy wziąć pod uwagę kilka zagadnień.
Polecenia cmdlet usługi Azure Resource Manager są synchroniczne.
Wymagane jest kilka parametrów, w tym
ResourceGroupName
,VMName
,ArchiveStorageAccountName
,Version
iLocation
.ArchiveResourceGroupName
jest opcjonalnym parametrem. Określ ten parametr, gdy konto magazynu należy do innej grupy zasobów niż ta, w której jest tworzona maszyna wirtualna.Użyj przełącznika
AutoUpdate
, aby automatycznie zaktualizować program obsługi rozszerzeń do najnowszej wersji, gdy jest dostępny. Ten parametr może spowodować ponowne uruchomienie maszyny wirtualnej po wydaniu nowej wersji programu WMF.
Konfiguracja przy użyciu poleceń cmdlet programu PowerShell
Rozszerzenie DSC platformy Azure może używać dokumentów konfiguracji DSC do bezpośredniego konfigurowania maszyn wirtualnych platformy Azure podczas wdrażania. Ten krok nie powoduje zarejestrowania węzła w usłudze Automation lub konfiguracji maszyny. Należy pamiętać, że węzeł nie jest centralnie zarządzany.
Poniższy kod przedstawia prostą przykładową konfigurację. Aby pracować z tym przykładem, zapisz tę konfigurację lokalnie jako plik skryptu iisInstall.ps1 .
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Następujące polecenia programu PowerShell umieszczają skrypt iisInstall.ps1 na określonej maszynie wirtualnej. Polecenia również wykonują konfigurację, a następnie zgłaszają stan.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Wdrożenie za pomocą interfejsu wiersza polecenia platformy Azure
Interfejs wiersza polecenia platformy Azure może służyć do wdrażania rozszerzenia DSC na istniejącej maszynie wirtualnej. W poniższych przykładach pokazano, jak wdrożyć maszynę wirtualną w systemie Windows.
W przypadku maszyny wirtualnej z systemem Windows użyj następującego polecenia:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
Wdrażanie w witrynie Azure Portal
Aby skonfigurować rozszerzenie DSC w witrynie Azure Portal, wykonaj następujące kroki:
Przejdź do maszyny wirtualnej.
W obszarze Ustawienia wybierz pozycję Rozszerzenia i aplikacje.
W obszarze Rozszerzenia wybierz pozycję + Dodaj.
Wybierz pozycję Konfiguracja żądanego stanu programu PowerShell, a następnie wybierz pozycję Dalej.
Skonfiguruj następujące parametry dla rozszerzenia DSC.
Moduły konfiguracji lub skrypt: (wymagane) Podaj moduły konfiguracji lub plik skryptu dla maszyny wirtualnej.
Moduły konfiguracji i skrypty wymagają pliku ps1, który ma skrypt konfiguracji lub plik .zip ze skryptem konfiguracji ps1 w katalogu głównym. Jeśli używasz pliku .zip, wszystkie zasoby zależne muszą być uwzględnione w folderach modułów w pliku .zip. Plik .zip można utworzyć przy użyciu polecenia cmdlet Publish-AzureVMDscConfiguration -OutputArchivePath dołączonego do zestawu SDK programu Azure PowerShell. Plik .zip jest przekazywany do usługi Blob Storage użytkownika i zabezpieczony przez token SAS.
Kwalifikowana przez moduł nazwa konfiguracji: (Wymagane) Określ to ustawienie, aby uwzględnić wiele funkcji konfiguracji w jednym pliku skryptu ps1. Dla tego ustawienia wprowadź nazwę pliku skryptu konfiguracji ps1, a następnie ukośnik
\
, a następnie nazwę funkcji konfiguracji. Jeśli na przykład plik skryptu ps1 ma nazwę configuration.ps1 , a nazwa konfiguracji to IisInstall, wprowadź wartośćconfiguration.ps1\IisInstall
ustawienia.Argumenty konfiguracji: jeśli funkcja konfiguracji przyjmuje argumenty, wprowadź wartości przy użyciu formatu
argumentName1=value1,argumentName2=value2
. Zwróć uwagę, że ten format różni się od formatu używanego do określania argumentów konfiguracji w poleceniach cmdlet programu PowerShell lub szablonach usługi ARM.Plik PSD1 danych konfiguracji: jeśli konfiguracja wymaga pliku danych konfiguracji w formacie psd1, użyj tego ustawienia, aby wybrać plik danych i przekazać go do usługi Blob Storage użytkownika. Plik danych konfiguracji jest zabezpieczony tokenem SAS w usłudze Blob Storage.
Wersja programu WMF: określ wersję programu Windows Management Framework do zainstalowania na maszynie wirtualnej. Jeśli wybierzesz najnowszą, która jest wartością domyślną, system zainstaluje najnowszą wersję programu WMF. Inne możliwe wartości to 4.0, 5.0 i 5.1. Możliwe wartości podlegają aktualizacjom.
Zbieranie danych: włącz to ustawienie, jeśli chcesz, aby rozszerzenie DSC zbierało dane telemetryczne dotyczące maszyny wirtualnej. Aby uzyskać więcej informacji, zobacz Zbieranie danych rozszerzenia DSC platformy Azure.
Wersja: (Wymagane) Określ wersję rozszerzenia DSC do zainstalowania. Aby uzyskać informacje o wersjach, zobacz Historia wersji rozszerzenia DSC platformy Azure.
Automatycznie uaktualnij wersję pomocniczą
AutoUpdate
: to ustawienie mapuje przełącznik w poleceniach cmdlet. Skonfiguruj to ustawienie, aby umożliwić rozszerzenie DSC automatyczne aktualizowanie do najnowszej wersji podczas instalacji. Wybranie opcji Tak powoduje, że program obsługi rozszerzenia DSC używa najnowszej dostępnej wersji. Ustawienie Nie (domyślne) wymusza instalację wersji określonej w ustawieniu Wersja .
Po skonfigurowaniu parametrów wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.
Dzienniki rozszerzenia DSC
Dzienniki rozszerzenia DSC platformy Azure można wyświetlić na maszynie wirtualnej w obszarze C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>
.
Następne kroki
- Aby uzyskać więcej informacji na temat rozszerzenia DSC programu PowerShell, przejdź do centrum dokumentacji programu PowerShell.
- Zapoznaj się z szablonem usługi ARM dla rozszerzenia Azure DSC.
- Aby uzyskać więcej funkcji, którymi można zarządzać za pomocą rozszerzenia DSC programu PowerShell, i aby uzyskać więcej zasobów DSC, przejdź do galerii programu PowerShell.
- Aby uzyskać szczegółowe informacje na temat przekazywania poufnych parametrów do konfiguracji, zobacz Bezpieczne zarządzanie poświadczeniami za pomocą programu obsługi rozszerzenia DSC platformy Azure.