Implementowanie usługi Azure Automation przy użyciu rozszerzenia DSC

Ukończone

Usługa Azure Automation State Configuration umożliwi firmie Contoso zapewnienie, że ich maszyny wirtualne pozostaną w stanie spójnym. Ten stan może obejmować określone aplikacje i konfigurację. Firma Contoso może użyć rozszerzenia DSC programu PowerShell do zaimplementowania deklaratywnego zarządzania konfiguracją za pomocą kombinacji skryptów programu PowerShell i funkcji systemu operacyjnego.

Uwaga

Deklaratywny język programowania oddziela intencję (co chcesz zrobić) od wykonania (jak chcesz to zrobić).

Omówienie usługi Azure Automation z usługą DSC

Rozszerzenie DSC oparte na systemie Windows opiera się na składniku Local Configuration Manager (LCM). Ten składnik służy jako aparat wykonywania skryptów DSC środowiska Windows PowerShell.

Co to jest LCM?

LCM jest odpowiedzialny za koordynowanie implementacji ustawień zdefiniowanych w skryptach DSC i monitorowanie ich bieżącego stanu. Podobnie jak DSC, LCM jest integralną częścią wszystkich obecnie obsługiwanych wersji systemów operacyjnych Windows. Menedżer LCM jest odpowiedzialny za aktualizowanie stanu zarządzanej maszyny (węzła), takiej jak maszyna wirtualna w celu dopasowania do żądanego stanu. Podczas każdego uruchomienia narzędzie LCM wykonuje następujące działania:

  1. Pobierz: pobiera bieżący stan węzła.
  2. Test: porównuje bieżący stan węzła z żądanym stanem przy użyciu skompilowanego skryptu DSC (plik mof).
  3. Ustaw: Aktualizacje węzła tak, aby był zgodny z żądanym stanem opisanym w pliku mof.

Narzędzie LCM można skonfigurować podczas rejestrowania maszyny wirtualnej w usłudze Azure Automation.

Opcje wdrażania dla rozszerzenia DSC

Konfigurację DSC można wdrożyć w trybie wypychania lub w trybie ściągania, zgodnie z opisem w poniższej tabeli.

Tryb opis
Wypychanie W tym trybie ręcznie wysyłasz lub wypychasz żądane konfiguracje w kierunku co najmniej jednego zarządzanego komputera. Składnik LCM zapewnia, że stan na każdym zarządzanym komputerze jest zgodny z konfiguracją.
Pull (Git: ściągnij) W tym trybie serwer ściągania przechowuje informacje o konfiguracji. Składnik LCM na każdym zarządzanym komputerze okresowo sonduje serwer ściągania (wartość domyślna to 15 minut), aby uzyskać najnowsze szczegóły konfiguracji. Następnie serwer ściągania wysyła szczegółowe informacje o wszelkich zmianach konfiguracji z powrotem do każdego zarządzanego komputera.

Napiwek

Usługa Azure Automation obejmuje zarządzany serwer ściągania DSC platformy Azure, który umożliwia przechowywanie konfiguracji DSC oraz dołączanie zarządzanych komputerów, do których te konfiguracje mają być stosowane.

Uwaga

Zarządzane komputery mogą obejmować komputery lokalne i maszyny wirtualne hostowane przez innych dostawców usług w chmurze.

Wymagania dotyczące rozszerzenia DSC z komputerami z systemem Windows

Istnieje wiele wymagań, które środowisko musi spełnić w celu korzystania z rozszerzenia DSC w systemie Windows. Są to:

  • System operacyjny. Zarządzane komputery muszą mieć system Windows 8.1 lub nowszy albo Windows Server 2012 R2 lub nowszy.

  • Zdalne zarządzanie systemem Windows. Zdalne zarządzanie systemem Windows (WinRM) musi być włączone na zarządzanych komputerach.

  • Sieć. Jeśli zarządzane komputery znajdują się w sieci prywatnej, usługa DSC wymaga następującego portu i adresów URL do komunikowania się z usługą Azure Automation:

    • Port: tylko protokół TCP 443 jest wymagany w przypadku wychodzącego dostępu do Internetu.
    • Globalny adres URL: *.azure-automation.net
    • Usługa agenta: https://.agentsvc.azure-automation.net

Rejestrowanie maszyny wirtualnej w usłudze Azure Automation

Aby kontrolować maszynę wirtualną przy użyciu rozszerzenia DSC, musisz najpierw dołączyć maszynę wirtualną lub węzeł za pomocą usługi Azure Automation. Aby to zrobić, skorzystaj z następującej procedury:

  1. Otwórz witrynę Azure Portal, a następnie wybierz pozycję Maszyny wirtualne.

  2. Wybierz odpowiednią maszynę wirtualną, która musi być uruchomiona.

  3. W sekcji Operacje okienka nawigacji wybierz pozycję Zarządzanie konfiguracją.

  4. W bloku Zarządzanie konfiguracją wybierz odpowiedni obszar roboczy usługi Log Analytics (i jego lokalizację), subskrypcję konta usługi Automation i konto usługi Automation.

    Napiwek

    Możesz utworzyć nowy obszar roboczy usługi Log Analytics.

    A screenshot of the Configuration management blade in the Azure portal. The administrator has selected the appropriate Log Analytics workspace and left all other values at default.

    Uwaga

    Jeśli masz tylko jedno konto usługi Automation, subskrypcja konta usługi Automation i konto usługi Automation są dorozumiane po wybraniu skojarzonego obszaru roboczego usługi Log Analytics.

  5. Skonfiguruj następujące wartości, a następnie wybierz pozycję Włącz:

    • Częstotliwość odświeżania. Reprezentuje częstotliwość (w minutach), z jaką program PS DSC LCM kontaktuje się z serwerem ściągania DSC usługi Azure Automation w celu pobrania najnowszej konfiguracji węzła.
    • Częstotliwość trybu konfiguracji. Reprezentuje częstotliwość (w minutach), z jaką aplikacja DSC w tle próbuje zaimplementować bieżącą konfigurację węzła w węźle docelowym.
    • Tryb konfiguracji. Tryb konfiguracji PS DSC. Dostępne tryby to:
      • ApplyOnly. Narzędzie LCM wykonuje skrypt tylko raz.
      • ApplyAndMonitor. Narzędzie LCM wykonuje skrypt tylko raz, ale następnie monitoruje wynikowej konfiguracji i rejestruje wszelkie dryfy konfiguracji w dziennikach.
      • ZastosujAndAutoCorrect. Narzędzie LCM wykonuje skrypt w regularnych odstępach czasu, automatycznie poprawiając dryf konfiguracji.
    • Zezwalaj na przesłonięcia modułu. Określa, czy nowe konfiguracje pobrane z serwera ściągania DSC usługi Azure Automation mogą zastąpić stare moduły już w węźle docelowym.
    • W razie potrzeby uruchom ponownie węzeł. Wybierz opcję ponownego uruchomienia węzła, jeśli jest to konieczne, aby w pełni zastosować konfigurację.
    • Akcja po ponownym uruchomieniu. Akcja do wykonania po ponownym uruchomieniu, które są następujące:
      • ContinueConfiguration
      • StopConfiguration

Uwaga

Dołączanie maszyny wirtualnej trwa około 15 minut.

Jak używać platformy DSC

Po dołączeniu odpowiednich maszyn wirtualnych do kontrolera DSC możesz rozpocząć korzystanie z rozszerzenia DSC w celu zarządzania żądanym stanem maszyn wirtualnych.

A screenshot of the State configuration (DSC) blade in the Azure portal. The administrator has onboarded a single VM: ContosoVM4.

Za pomocą rozszerzenia DSC można zdefiniować żądany stan:

  • System operacyjny
  • Aplikacja

Napiwek

Do wdrażania maszyn wirtualnych przy użyciu standardowej konfiguracji można również użyć rozszerzenia DSC z szablonami usługi Azure Resource Manager. Dowiedz się więcej w temacie Desired State Configuration extension with Azure Resource Manager templates (Rozszerzenie Desired State Configuration za pomocą szablonów usługi Azure Resource Manager).

Możesz użyć skryptu, aby zdefiniować rozszerzenie DSC lub utworzyć rozszerzenie DSC przy użyciu witryny Azure Portal. Po utworzeniu i skompilowaniu konfiguracji można przypisać ją do węzłów, co spowoduje odebranie tej konfiguracji.

Przekazywanie skryptu w celu zaimplementowania rozszerzenia DSC

Implementacja DSC często rozpoczyna się od utworzenia skryptu konfiguracji (ps1), który opisuje żądany stan. Poniższy przykład to prosty przykład konfiguracji. W takim przypadku skrypt sprawdza obecność usługi Internet Information Service (IIS) i instaluje go w razie potrzeby.

configuration IISInstall
{
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

Uwaga

Alternatywnie można utworzyć konfigurację, łącząc wstępnie zdefiniowane bloki konfiguracji nazywane złożonymi, które są uwzględnione na każdym koncie usługi Azure Automation.

Konfigurację można dodać do konta usługi Automation przy użyciu witryny Azure Portal lub programu Azure PowerShell. Aby dodać skrypt przy użyciu portalu, wykonaj następującą procedurę:

  1. W witrynie Azure Portal przejdź do swojego konta usługi Automation.
  2. Wybierz pozycję Konfiguracja stanu (DSC), a następnie na karcie Konfiguracje wybierz pozycję + Dodaj.
  3. W polu Plik konfiguracji przejrzyj i wybierz skrypt.
  4. Wprowadź opis, a następnie wybierz przycisk OK.

Napiwek

Skrypty konfiguracji mogą odwoływać się do zasobów usługi Automation.

A screenshot of the Import blade in the Azure portal. The administrator has uploaded a script called iis.ps1.

Zakres funkcji, którymi można zarządzać za pomocą usługi Azure Automation DSC, zależy od zasobów DSC dostępnych na koncie usługi Automation. Wbudowany zestaw zasobów pasuje do tych w standardowej konfiguracji DSC programu PowerShell, ale możesz również zaimportować dodatkowe zasoby, przekazując moduły integracji programu PowerShell zawierające ich definicje. Funkcja przekazywania jest dostępna w witrynie Azure Portal. Do przekazania modułów można również użyć programu Azure PowerShell.

Kompilowanie konfiguracji

Po utworzeniu skryptu konfiguracji należy go skompilować, co będzie wykonywane w witrynie Azure Portal. Kompilacja generuje co najmniej jeden plik mof zawierający konfiguracje mające zastosowanie do węzłów docelowych. Te pliki są automatycznie przekazywane do serwera ściągania DSC. Aby skompilować konfigurację, użyj następującej procedury:

  1. W witrynie Azure Portal przejdź do swojego konta usługi Automation.
  2. Wybierz pozycję Konfiguracja stanu (DSC), a następnie na karcie Konfiguracje wybierz przekazaną konfigurację.
  3. W bloku Konfiguracja wybierz pozycję Kompiluj.
  4. Po wyświetleniu monitu wybierz pozycję Tak.

A screenshot of the Configuration blade in the Azure portal. The administrator is about to compile a configuration called IISInstall.

Tworzenie konfiguracji w witrynie Azure Portal

Nie musisz używać skryptów. Zamiast tego możesz użyć witryny Azure Portal do utworzenia konfiguracji. Aby utworzyć konfigurację przy użyciu witryny Azure Portal, wykonaj następującą procedurę:

  1. Na stronie głównej wybierz pozycję Konta usługi Automation.
  2. Wybierz odpowiednie konto usługi Automation.
  3. W sekcji Zarządzanie konfiguracją okienka nawigacji wybierz pozycję Konfiguracja stanu (DSC).
  4. W bloku Konfiguracja stanu (DSC) wybierz pozycję Utwórz konfigurację.
  5. Na karcie Podstawy bloku Konfiguracja redagowania wprowadź nazwę konfiguracji. Na przykład wprowadź Install_Components.
  6. Na liście Zasoby złożone wybierz co najmniej jedną wstępnie zdefiniowaną konfigurację. Na przykład wybierz pozycję WindowsFeatureSet, a następnie wybierz pozycję Dalej.
  7. Na karcie Kod źródłowy zmodyfikuj skrypt programu PowerShell zgodnie z wymaganiami, aby wykonać żądaną konfigurację, a następnie wybierz przycisk Dalej. (Na przykład można zmodyfikować kod programu PowerShell, aby zainstalować niezbędne funkcje systemu Windows).
  8. Na karcie Parametry wprowadź wymagane parametry, a następnie wybierz pozycję Zapisz i skompiluj.

Przypisywanie konfiguracji

Aby przypisać skompilowaną konfigurację, niezależnie od sposobu jej utworzenia, użyj następującej procedury:

  1. W portalu w bloku Konfiguracja stanu (DSC) wybierz węzeł, który chcesz skonfigurować.

  2. W bloku VM_name wybierz pozycję Przypisz konfigurację węzła.

  3. Na liście konfiguracji wybierz odpowiednią konfigurację, a następnie wybierz przycisk OK.

    A screenshot of the Assign Node Configuration blade in the Azure portal. The administrator has selected one of the listed configurations.

  4. Zamknij blok VM_name i w bloku Konfiguracja stanu (DSC) monitoruj przypisanie.

    A screenshot of the State configuration (DSC) blade in the Azure portal. The administrator has onboarded a single VM: ContosoVM4. It's status displays as Pending.