Wprowadzenie do procedury obsługi rozszerzenia Azure Desired State Configuration

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 pliku 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, Versioni Location.

  • 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:

  1. Przejdź do maszyny wirtualnej.

  2. W obszarze Ustawienia wybierz pozycję Rozszerzenia i aplikacje.

  3. W obszarze Rozszerzenia wybierz pozycję + Dodaj.

  4. Wybierz pozycję Konfiguracja żądanego stanu programu PowerShell, a następnie wybierz pozycję Dalej.

  5. 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 z skryptem konfiguracji lub plikiem 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 AZURE PowerShell SDK. 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 .

  6. 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.