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, zarządzana przez funkcję usługi Azure Policy o nazwie Azure Machine Configuration. Usługa Azure Machine Configuration łączy funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i najczęściej żądanych funkcji 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.
Podstawowym zastosowaniem rozszerzenia Azure Desired State Configuration (DSC) dla programu Windows PowerShell jest uruchomienie maszyny wirtualnej w usłudze Azure Automation State Configuration (DSC). Ta usługa zapewnia korzyści , które obejmują bieżące zarządzanie konfiguracją maszyny wirtualnej i integrację z innymi narzędziami operacyjnymi, takimi jak Azure Monitor. Za pomocą rozszerzenia możesz zarejestrować maszyny wirtualne w usłudze i uzyskać elastyczne rozwiązanie, które działa w ramach subskrypcji platformy Azure.
Rozszerzenie DSC można uruchomić niezależnie od usługi Automation DSC, ale ta metoda wypycha konfigurację tylko do maszyny wirtualnej. Nie jest dostępne żadne bieżące raportowanie, inne niż lokalnie na maszynie wirtualnej. Przed włączeniem rozszerzenia DSC przejrzyj dostępne wersje DSC i wybierz wersję, która spełnia wymagania dotyczące konfiguracji.
W tym artykule opisano sposób używania rozszerzenia DSC do dołączania usługi Automation lub używania go jako narzędzia do przypisywania konfiguracji do maszyn wirtualnych za pomocą zestawu Azure SDK.
Dostępne wersje DSC
Do implementacji jest dostępnych kilka wersji konfiguracji żądanego stanu. Przed włączeniem rozszerzenia DSC wybierz wersję DSC, która najlepiej obsługuje konfigurację i cele biznesowe.
Wersja | Dostępność | opis |
---|---|---|
2.0 | Ogólna dostępność | Konfiguracja żądanego stanu 2.0 jest obsługiwana do użycia z funkcją Azure Automanage Machine Configuration . Funkcja konfiguracji maszyny łączy funkcje programu obsługi rozszerzeń DSC, usługi Azure Automation State Configuration i najczęściej żądanych funkcji opinii klientów. Konfiguracja maszyny obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc. |
1.1 | Ogólna dostępność | Jeśli implementacja nie korzysta z funkcji konfiguracji maszyny automatycznej platformy Azure, wybierz pozycję Desired State Configuration 1.1. Aby uzyskać więcej informacji, zobacz PSDesiredStateConfiguration v1.1. |
3.0 | Publiczna wersja zapoznawcza | Konfiguracja żądanego stanu 3.0 jest dostępna w publicznej wersji beta. Ta wersja powinna być używana tylko z konfiguracją maszyny platformy Azure lub w środowiskach nieprodukcyjnych do testowania migracji z dala od konfiguracji żądanego stanu 1.1. |
Wymagania wstępne
Komputer lokalny: aby wchodzić w interakcje z rozszerzeniem DSC platformy Azure, musisz użyć witryny Azure Portal lub zestawu AZURE PowerShell SDK na komputerze lokalnym.
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. Jeśli plik nie zostanie podany, domyślny skrypt konfiguracji zostanie osadzony z rozszerzeniem . Domyślny skrypt konfiguracji służy tylko do ustawiania metadanych w lokalnym programie Configuration Manager.
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.
Domyślny skrypt konfiguracji
Rozszerzenie DSC platformy Azure zawiera domyślny skrypt konfiguracji, który ma być używany podczas dołączania maszyny wirtualnej do usługi Azure Automation State Configuration. Parametry skryptu są dostosowane do konfigurowalnych właściwości programu Local Configuration Manager. Aby uzyskać informacje o parametrach skryptu, zobacz Domyślny skrypt konfiguracji w rozszerzeniu Desired State Configuration z szablonami usługi Azure Resource Manager (ARM). Pełny skrypt można znaleźć w szablonie Szybkiego startu platformy Azure w usłudze GitHub.
Rejestracja usługi Azure Automation State Configuration
Jeśli używasz rozszerzenia Azure DSC do rejestrowania węzła w usłudze Azure Automation State Configuration, podaj następujące wartości:
RegistrationUrl
: adres HTTPS konta usługi Azure Automation.RegistrationKey
: wspólny wpis tajny używany do rejestrowania węzłów w usłudze.NodeConfigurationName
: nazwa konfiguracji węzła (MOF) do ściągnięcia z usługi w celu skonfigurowania roli serwera. Wartość jest nazwą konfiguracji węzła, a nie nazwą konfiguracji.
Te wartości można zebrać w witrynie Azure Portal lub uruchomić następujące polecenia w programie Windows PowerShell:
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey
Nazwa konfiguracji węzła
W przypadku parametru NodeConfigurationName
należy podać nazwę konfiguracji węzła, a nie konfigurację.
Konfiguracja jest definiowana w skryfcie 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.
Ostrzeżenie
Upewnij się, że konfiguracja węzła istnieje w usłudze Azure Automation State Configuration. Jeśli ta wartość nie istnieje, wdrożenie rozszerzenia zwraca błąd.
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. Polecenia cmdlet rozszerzenia DSC nie są obecnie aktualizowane w celu pracy ze skryptem konfiguracji domyślnej.
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. 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.
Uwaga
Jeśli pracujesz z domyślnym skryptem konfiguracji, pamiętaj, że większość następujących parametrów musi być zdefiniowana bezpośrednio w witrynie Azure Portal, a nie za pomocą skryptu.
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.Uwaga
Argumenty konfiguracji można zdefiniować w domyślnym skrycie konfiguracji.
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.