Úvod k obslužné rutině rozšíření Azure Desired State Configuration

Rozšíření virtuálního počítače Azure pro virtuální počítače Azure a související rozšíření jsou součástí služeb infrastruktury Microsoft Azure. Rozšíření virtuálních počítačů Azure jsou softwarové komponenty, které rozšiřují funkce virtuálních počítačů a zjednodušují různé operace správy virtuálních počítačů.

Primárním použitím rozšíření Azure Desired State Configuration (DSC) pro Windows PowerShell je spuštění virtuálního počítače do služby Azure Automation State Configuration (DSC). Tato služba poskytuje výhody , které zahrnují průběžnou správu konfigurace virtuálního počítače a integraci s dalšími provozními nástroji, jako je Azure Monitor. Toto rozšíření můžete použít k registraci virtuálních počítačů do služby a získání flexibilního řešení, které funguje napříč předplatnými Azure.

Rozšíření DSC můžete spustit nezávisle na službě Automation DSC, ale tato metoda do virtuálního počítače odešle pouze konfiguraci. Žádné průběžné generování sestav není k dispozici, kromě místního virtuálního počítače. Než povolíte rozšíření DSC, zkontrolujte dostupné verze DSC a zvolte verzi, která podporuje vaše požadavky na konfiguraci.

Tento článek popisuje, jak použít rozšíření DSC pro onboarding služby Automation nebo ho použít jako nástroj k přiřazování konfigurací virtuálním počítačům pomocí sady Azure SDK.

Dostupné verze DSC

Pro implementaci je k dispozici několik verzí konfigurace požadovaného stavu. Než rozšíření DSC povolíte, zvolte verzi DSC, která nejlépe podporuje vaši konfiguraci a obchodní cíle.

Verze Dostupnost Popis
2.0 Obecná dostupnost Desired State Configuration 2.0 se podporuje pro použití s funkcí konfigurace počítače Azure Automanage. Funkce konfigurace počítače kombinuje funkce obslužné rutiny rozšíření DSC, Azure Automation State Configuration a nejčastěji požadované funkce od zpětné vazby zákazníků. Konfigurace počítače také zahrnuje podporu hybridních počítačů prostřednictvím serverů s podporou Arc.
1.1 Obecná dostupnost Pokud vaše implementace nepoužívá funkci konfigurace počítače Azure Automanage, měli byste zvolit Desired State Configuration 1.1. Další informace naleznete v tématu PSDesiredStateConfiguration v1.1.
3.0 Public Preview Desired State Configuration 3.0 je k dispozici ve veřejné beta verzi. Tato verze by se měla používat jenom s konfigurací počítače Azure nebo pro neprodukční prostředí k otestování migrace mimo konfiguraci požadovaného stavu 1.1.

Požadavky

  • Místní počítač: Pokud chcete pracovat s rozšířením Azure DSC, musíte použít azure portal nebo sadu Azure PowerShell SDK na místním počítači.

  • Agent hosta: Virtuální počítač Azure, který je připravený konfigurací DSC, musí používat operační systém, který podporuje rozhraní WMF (Windows Management Framework) 4.0 nebo novější. Úplný seznam podporovaných verzí operačního systému najdete v historii verzí rozšíření Azure DSC.

Pojmy a koncepty

Tento článek předpokládá znalost následujících konceptů:

  • Konfigurace odkazuje na dokument konfigurace DSC.

  • Uzel identifikuje cíl konfigurace DSC. V tomto článku uzel vždy odkazuje na virtuální počítač Azure.

  • Konfigurační data se ukládají do souboru formátu PowerShell DSC (.psd1), který obsahuje data prostředí pro konfiguraci.

Architektura

Rozšíření Azure DSC využívá architekturu rozšíření virtuálního počítače Azure k poskytování, přijetí a hlášení konfigurací DSC spuštěných na virtuálních počítačích Azure. Rozšíření DSC přijímá konfigurační dokument a sadu parametrů. Pokud není k dispozici žádný soubor, vloží se s příponou výchozí konfigurační skript . Výchozí konfigurační skript slouží pouze k nastavení metadat v nástroji Local Configuration Manager.

Když se rozšíření volá poprvé, nainstaluje verzi WMF pomocí následující logiky:

  • Pokud je operační systém virtuálního počítače Azure Windows Server 2016, neprochází žádná akce. Windows Server 2016 už má nainstalovanou nejnovější verzi PowerShellu.

  • Pokud je zadána wmfVersion vlastnost, zadaná verze WMF je nainstalována, pokud zadaná verze není kompatibilní s operačním systémem na virtuálním počítači.

  • Pokud není zadána žádná wmfVersion vlastnost, nainstaluje se nejnovější použitelná verze WMF.

Proces instalace WMF vyžaduje restartování. Po restartování rozšíření stáhne soubor .zip, který je zadaný ve modulesUrl vlastnosti, pokud je zadán. Pokud je toto umístění ve službě Azure Blob Storage, můžete ve sasToken vlastnosti zadat token SAS pro přístup k souboru. Po stažení souboru .zip a rozbalení se spustí konfigurační funkce definovaná ve configurationFunction spuštění pro vygenerování souboru MOF (Managed Object Format) (.mof). Rozšíření pak spustí Start-DscConfiguration -Force příkaz pomocí vygenerovaného souboru .mof. Rozšíření zachytává výstup a zapisuje ho do kanálu stavu Azure.

Výchozí konfigurační skript

Rozšíření Azure DSC zahrnuje výchozí konfigurační skript, který se má použít při nasazení virtuálního počítače do služby Azure Automation State Configuration. Parametry skriptu jsou v souladu s konfigurovatelnými vlastnostmi nástroje Local Configuration Manager. Parametry skriptu najdete v tématu Výchozí konfigurační skript v rozšíření Desired State Configuration pomocí šablon Azure Resource Manageru (ARM). Úplný skript najdete v šabloně Rychlého startu Azure na GitHubu.

Registrace služby Azure Automation State Configuration

Pokud k registraci uzlu ve službě Azure Automation State Configuration použijete rozšíření Azure DSC, zadáte následující hodnoty:

  • RegistrationUrl: Adresa HTTPS účtu Azure Automation.
  • RegistrationKey: Sdílený tajný klíč, který se používá k registraci uzlů ve službě.
  • NodeConfigurationName: Název konfigurace uzlu (MOF) pro vyžádání ze služby za účelem konfigurace role serveru. Hodnota je název konfigurace uzlu, nikoli název konfigurace.

Tyto hodnoty můžete shromáždit z webu Azure Portal nebo spustit následující příkazy ve Windows PowerShellu:

(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey

Název konfigurace uzlu

NodeConfigurationName Pro parametr nezapomeňte zadat název konfigurace uzlu, a ne Konfiguraci.

Konfigurace je definována ve skriptu, který se používá ke kompilaci konfigurace uzlu (soubor MOF). Název konfigurace uzlu je vždy název Konfigurace následovaný tečkou . a konkrétním localhost názvem počítače.

Upozorňující

Ujistěte se, že konfigurace uzlu existuje ve službě Azure Automation State Configuration. Pokud tato hodnota neexistuje, nasazení rozšíření vrátí chybu.

Nasazení šablony ARM

Nejběžnějším přístupem k nasazení rozšíření DSC je použití šablon Azure Resource Manageru. Další informace a příklady zahrnutí rozšíření DSC do šablon ARM najdete v tématu Rozšíření Desired State Configuration pomocí šablon ARM.

Nasazení rutin PowerShellu

Rutiny PowerShellu pro správu rozšíření DSC jsou ideální pro interaktivní scénáře řešení potíží a shromažďování informací. Pomocí rutin můžete zabalit, publikovat a monitorovat nasazení rozšíření DSC. Rutiny rozšíření DSC se v současné době neaktualizují, aby fungovaly s výchozím konfiguračním skriptem.

Tady jsou některé rutiny PowerShellu, které jsou k dispozici:

  • Rutina Publish-AzVMDscConfiguration převezme konfigurační soubor, vyhledá závislé prostředky DSC a pak vytvoří soubor .zip. Soubor .zip obsahuje prostředky konfigurace a DSC potřebné k provedení konfigurace. Rutina také může balíček vytvořit místně pomocí parametru -OutputArchivePath . V opačném případě rutina publikuje soubor .zip do služby Blob Storage a pak ho zabezpečí pomocí tokenu SAS.

    Konfigurační skript PowerShellu (.ps1) vytvořený rutinou je v souboru .zip v kořenové složce archivu. Složka modulu se umístí do složky archivu v prostředcích.

  • Rutina Set-AzVMDscExtension vloží nastavení, která rozšíření PowerShell DSC vyžaduje, do objektu konfigurace virtuálního počítače.

  • Rutina Get-AzVMDscExtension načte stav rozšíření DSC konkrétního virtuálního počítače.

  • Rutina Get-AzVMDscExtensionStatus načte stav konfigurace DSC přijaté obslužnou rutinou rozšíření DSC. Tuto akci lze provést na jednom virtuálním počítači nebo skupině virtuálních počítačů.

  • Rutina Remove-AzVMDscExtension odebere obslužnou rutinu rozšíření z konkrétního virtuálního počítače. Mějte na paměti, že tato rutina neodebere konfiguraci, odinstaluje WMF ani nezmění použité nastavení na virtuálním počítači. Rutina odebere pouze obslužnou rutinu rozšíření.

Důležitá poznámka

Při práci s rutinami Azure Resource Manageru je potřeba vzít v úvahu několik aspektů.

  • Rutiny Azure Resource Manageru jsou synchronní.

  • Vyžaduje se několik parametrů, včetně ResourceGroupName, VMNameArchiveStorageAccountName, , Versiona Location.

  • ArchiveResourceGroupName je volitelný parametr. Tento parametr zadejte, pokud váš účet úložiště patří do jiné skupiny prostředků než ten, ve kterém je virtuální počítač vytvořen.

  • AutoUpdate Pomocí přepínače můžete automaticky aktualizovat obslužnou rutinu rozšíření na nejnovější verzi, pokud je k dispozici. Tento parametr může způsobit restartování virtuálního počítače při vydání nové verze WMF.

Konfigurace pomocí rutin PowerShellu

Rozšíření Azure DSC může pomocí konfiguračních dokumentů DSC přímo nakonfigurovat virtuální počítače Azure během nasazování. Tento krok neregistruje uzel do služby Automation. Mějte na paměti, že uzel není centrálně spravovaný.

Následující kód ukazuje jednoduchou ukázkovou konfiguraci. Chcete-li s tímto příkladem pracovat, uložte tuto konfiguraci místně jako soubor skriptu iisInstall.ps1 .

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

Následující příkazy PowerShellu umístí skript iisInstall.ps1 na zadaný virtuální počítač. Příkazy také spustí konfiguraci a pak se vrátí zpět ke stavu.

$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'

Nasazení v Azure CLI

Azure CLI se dá použít k nasazení rozšíření DSC do existujícího virtuálního počítače. Následující příklady ukazují, jak nasadit virtuální počítač ve Windows.

Pro virtuální počítač s Windows použijte následující příkaz:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DSC \
  --publisher Microsoft.Powershell \
  --version 2.77 --protected-settings '{}' \
  --settings '{}'

Nasazení webu Azure Portal

Pokud chcete nastavit rozšíření DSC na webu Azure Portal, postupujte takto:

  1. Přejděte na virtuální počítač.

  2. V části Nastavení vyberte Rozšíření a aplikace.

  3. V části Rozšíření vyberte + Přidat.

  4. Vyberte PowerShell Desired State Configuration a pak vyberte Další.

  5. Nakonfigurujte následující parametry pro rozšíření DSC.

    Poznámka:

    Pokud pracujete s výchozím konfiguračním skriptem, mějte na paměti, že většina následujících parametrů musí být definována přímo na webu Azure Portal, nikoli prostřednictvím skriptu.

    • Konfigurační moduly nebo skript: (Povinné) Zadejte konfigurační moduly nebo soubor skriptu pro váš virtuální počítač.

      Konfigurační moduly a skripty vyžadují soubor .ps1, který má konfigurační skript nebo soubor ZIP s konfiguračním skriptem .ps1 v kořenovém adresáři. Pokud používáte soubor .zip, všechny závislé prostředky musí být zahrnuty do složek modulů v souboru .zip. Soubor .zip můžete vytvořit pomocí rutiny Publish-AzureVMDscConfiguration -OutputArchivePath , která je součástí sady AZURE PowerShell SDK. Soubor .zip se nahraje do služby Blob Storage uživatele a zabezpečí ho tokenEM SAS.

    • Název konfigurace kvalifikovaný pro modul: (Povinné) Toto nastavení zadejte, pokud chcete do jednoho souboru skriptu .ps1 zahrnout více konfiguračních funkcí. Pro toto nastavení zadejte název konfiguračního souboru skriptu .ps1 následovaný lomítkem \ a názvem konfigurační funkce. Pokud má například soubor skriptu .ps1 název configuration.ps1 a název konfigurace je IisInstall, zadejte hodnotu configuration.ps1\IisInstall nastavení.

    • Argumenty konfigurace: Pokud funkce konfigurace přebírá argumenty, zadejte hodnoty pomocí formátu argumentName1=value1,argumentName2=value2. Všimněte si, že tento formát se liší od formátu, který se používá k zadání argumentů konfigurace v rutinách PowerShellu nebo šablonách ARM.

      Poznámka:

      Argumenty konfigurace lze definovat ve výchozím konfiguračním skriptu.

    • Soubor PSD1 konfiguračních dat: Pokud konfigurace vyžaduje soubor konfiguračních dat ve formátu .psd1, použijte toto nastavení k výběru datového souboru a jeho nahrání do služby Blob Storage uživatele. Konfigurační datový soubor je zabezpečený pomocí tokenu SAS ve službě Blob Storage.

    • Verze WMF: Zadejte verzi rozhraní Windows Management Framework, která se má nainstalovat na virtuální počítač. Pokud zvolíte nejnovější, což je výchozí hodnota, systém nainstaluje nejnovější verzi WMF. Mezi další možné hodnoty patří 4,0, 5,0 a 5.1. Možné hodnoty podléhají aktualizacím.

    • Shromažďování dat: Toto nastavení povolte, pokud chcete, aby rozšíření DSC shromažďuje telemetrická data o vašem virtuálním počítači. Další informace najdete v tématu Shromažďování dat rozšíření Azure DSC.

    • Verze: (Povinné) Zadejte verzi rozšíření DSC, která se má nainstalovat. Informace o verzích najdete v historii verzí rozšíření Azure DSC.

    • Podverze automatického upgradu: Toto nastavení se mapuje na AutoUpdate přepínač v rutinách. Nakonfigurujte toto nastavení tak, aby se rozšíření DSC při instalaci automaticky aktualizovalo na nejnovější verzi. Ano dává obslužné rutině rozšíření DSC pokyn, aby používala nejnovější dostupnou verzi. Ne (výchozí) vynutí instalaci verze, kterou zadáte v nastavení Verze .

  6. Po nakonfigurování parametrů vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.

Protokoly rozšíření DSC

Protokoly pro rozšíření Azure DSC můžete zobrazit na virtuálním počítači v části C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.

Další kroky