Introduktion till tilläggshanteraren för Azure Desired State Configuration

Azure VM-tillägget för virtuella Azure-datorer (VM) och tillhörande tillägg är en del av Microsoft Azures infrastrukturtjänster. Azure VM-tillägg är programvarukomponenter som utökar funktionerna för virtuella datorer och förenklar olika hanteringsåtgärder för virtuella datorer.

Den primära användningen för DSC-tillägget (Azure Desired State Configuration) för Windows PowerShell är att starta en virtuell dator till tjänsten Azure Automation State Configuration (DSC). Den här tjänsten ger fördelar som omfattar löpande hantering av vm-konfigurationen och integrering med andra operativa verktyg, till exempel Azure Monitor. Du kan använda tillägget för att registrera dina virtuella datorer i tjänsten och få en flexibel lösning som fungerar i azure-prenumerationer.

Du kan köra DSC-tillägget oberoende av Automation DSC-tjänsten, men den här metoden skickar bara en konfiguration till den virtuella datorn. Ingen löpande rapportering är tillgänglig, förutom lokalt på den virtuella datorn. Innan du aktiverar DSC-tillägget granskar du de tillgängliga DSC-versionerna och väljer den version som stöder dina konfigurationskrav.

Den här artikeln beskriver hur du använder DSC-tillägget för Automation-registrering eller använder det som ett verktyg för att tilldela konfigurationer till virtuella datorer med Azure SDK.

Tillgängliga DSC-versioner

Flera versioner av Desired State Configuration är tillgängliga för implementering. Innan du aktiverar DSC-tillägget väljer du den DSC-version som bäst stöder dina konfigurations- och affärsmål.

Version: Tillgänglighet beskrivning
2.0 Allmän tillgänglighet Önskad tillståndskonfiguration 2.0 stöds för användning med azure automanage Machine Configuration-funktionen . Funktionen för datorkonfiguration kombinerar funktioner i DSC-tilläggshanteraren, Azure Automation State Configuration och de vanligaste funktionerna från kundfeedback. Datorkonfigurationen omfattar även stöd för hybriddatorer via Arc-aktiverade servrar.
1.1 Allmän tillgänglighet Om implementeringen inte använder konfigurationsfunktionen för Azure Automanage-datorer bör du välja Önskad tillståndskonfiguration 1.1. Mer information finns i PSDesiredStateConfiguration v1.1.
3.0 Allmänt tillgänglig förhandsversion Önskad tillståndskonfiguration 3.0 är tillgänglig i offentlig betaversion. Den här versionen ska endast användas med Azure-datorkonfiguration eller för icke-produktionsmiljöer för att testa migrering från Desired State Configuration 1.1.

Förutsättningar

  • Lokal dator: Om du vill interagera med Azure DSC-tillägget måste du använda antingen Azure-portalen eller Azure PowerShell SDK på den lokala datorn.

  • Gästagent: Den virtuella Azure-dator som förbereds av DSC-konfigurationen måste använda ett operativsystem som stöder Windows Management Framework (WMF) 4.0 eller senare. En fullständig lista över operativsystemversioner som stöds finns i versionshistoriken för Azure DSC-tillägget.

Termer och begrepp

Den här artikeln förutsätter att du är bekant med följande begrepp:

  • Konfiguration refererar till ett DSC-konfigurationsdokument.

  • Node identifierar ett mål för en DSC-konfiguration. I den här artikeln refererar noden alltid till en virtuell Azure-dator.

  • Konfigurationsdata lagras i en PowerShell DSC-formatfil (.psd1) som har miljödata för en konfiguration.

Arkitektur

Azure DSC-tillägget använder Azure VM Extension-ramverket för att leverera, anta och rapportera om DSC-konfigurationer som körs på virtuella Azure-datorer. DSC-tillägget accepterar ett konfigurationsdokument och en uppsättning parametrar. Om det inte finns någon fil bäddas ett standardkonfigurationsskript in med tillägget. Standardkonfigurationsskriptet används endast för att ange metadata i Local Configuration Manager.

När tillägget anropas första gången installeras en version av WMF med hjälp av följande logik:

  • Om operativsystemet för den virtuella Azure-datorn är Windows Server 2016 vidtas ingen åtgärd. Windows Server 2016 har redan den senaste versionen av PowerShell installerad.

  • Om egenskapen wmfVersion anges installeras den angivna versionen av WMF, såvida inte den angivna versionen är inkompatibel med operativsystemet på den virtuella datorn.

  • Om ingen wmfVersion egenskap anges installeras den senaste tillämpliga versionen av WMF.

WMF-installationsprocessen kräver en omstart. När du har startat om laddar tillägget ned zip-filen som anges i egenskapen, om det modulesUrl anges. Om den här platsen finns i Azure Blob Storage kan du ange en SAS-token i sasToken egenskapen för att få åtkomst till filen. När .zip har laddats ned och packats upp körs konfigurationsfunktionen som definierats i configurationFunction körningar för att generera en MOF-fil (Managed Object Format). Tillägget kör Start-DscConfiguration -Force sedan kommandot med hjälp av den genererade .mof-filen. Tillägget samlar in utdata och skriver det till Azure-statuskanalen.

Standardkonfigurationsskript

Azure DSC-tillägget innehåller ett standardkonfigurationsskript som är avsett att användas när du registrerar en virtuell dator till Azure Automation State Configuration-tjänsten. Skriptparametrarna är anpassade till de konfigurerbara egenskaperna för Local Configuration Manager. Skriptparametrar finns i Standardkonfigurationsskript i Desired State Configuration-tillägget med ARM-mallar (Azure Resource Manager). Det fullständiga skriptet finns i Azure-snabbstartsmallen i GitHub.

Azure Automation State Configuration-registrering

När du använder Azure DSC-tillägget för att registrera en nod med Azure Automation State Configuration-tjänsten anger du följande värden:

  • RegistrationUrl: Https-adressen för Azure Automation-kontot.
  • RegistrationKey: En delad hemlighet som används för att registrera noder med tjänsten.
  • NodeConfigurationName: Namnet på nodkonfigurationen (MOF) som ska hämtas från tjänsten för att konfigurera serverrollen. Värdet är namnet på nodkonfigurationen och inte namnet på konfigurationen.

Du kan samla in dessa värden från Azure-portalen eller köra följande kommandon i Windows PowerShell:

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

Nodkonfigurationens namn

För parametern NodeConfigurationName måste du ange namnet på nodkonfigurationen och inte konfigurationen.

Konfigurationen definieras i ett skript som används för att kompilera nodkonfigurationen (MOF-filen). Namnet på nodkonfigurationen är alltid namnet på konfigurationen följt av en punkt . och antingen localhost eller ett specifikt datornamn.

Varning

Kontrollera att nodkonfigurationen finns i Azure Automation State Configuration. Om det här värdet inte finns returnerar tilläggsdistributionen ett fel.

DISTRIBUTION av ARM-mall

Den vanligaste metoden för att distribuera DSC-tillägget är att använda Azure Resource Manager-mallar. Mer information och exempel på hur du inkluderar DSC-tillägget i ARM-mallar finns i Desired State Configuration extension with ARM templates (Önskat tillståndskonfigurationstillägg med ARM-mallar).

PowerShell-cmdlet-distribution

PowerShell-cmdletar för att hantera DSC-tillägget är idealiska för interaktiva felsöknings- och informationsinsamlingsscenarier. Du kan använda cmdletarna för att paketera, publicera och övervaka DSC-tilläggsdistributioner. Cmdletar för DSC-tillägget uppdateras för närvarande inte för att fungera med standardkonfigurationsskriptet.

Här är några av de PowerShell-cmdletar som är tillgängliga:

  • Cmdleten Publish-AzVMDscConfiguration tar in en konfigurationsfil, söker igenom den efter beroende DSC-resurser och skapar sedan en .zip-fil. Zip-filen innehåller de konfigurations- och DSC-resurser som behövs för att genomföra konfigurationen. Cmdleten kan också skapa paketet lokalt med hjälp av parametern -OutputArchivePath . Annars publicerar cmdleten .zip-filen till Blob Storage och skyddar den sedan med en SAS-token.

    PowerShell-konfigurationsskriptet (.ps1) som skapats av cmdleten finns i zip-filen i roten i arkivmappen. Modulmappen placeras i arkivmappen i resurser.

  • Cmdleten Set-AzVMDscExtension matar in de inställningar som PowerShell DSC-tillägget kräver i ett vm-konfigurationsobjekt.

  • Cmdleten Get-AzVMDscExtension hämtar DSC-tilläggets status för en specifik virtuell dator.

  • Cmdleten Get-AzVMDscExtensionStatus hämtar statusen för DSC-konfigurationen som har antagits av DSC-tilläggshanteraren. Den här åtgärden kan utföras på en enskild virtuell dator eller en grupp virtuella datorer.

  • Cmdleten Remove-AzVMDscExtension tar bort tilläggshanteraren från en specifik virtuell dator. Tänk på att den här cmdleten inte tar bort konfigurationen, avinstallerar WMF eller ändrar de tillämpade inställningarna på den virtuella datorn. Cmdleten tar bara bort tilläggshanteraren.

Viktigt!

Det finns flera saker att tänka på när du arbetar med Azure Resource Manager-cmdletar.

  • Azure Resource Manager-cmdletar är synkrona.

  • Flera parametrar krävs, inklusive ResourceGroupName, VMName, ArchiveStorageAccountName, Versionoch Location.

  • ArchiveResourceGroupName är en valfri parameter. Ange den här parametern när ditt lagringskonto tillhör en annan resursgrupp än den där den virtuella datorn skapas.

  • Använd växeln AutoUpdate för att automatiskt uppdatera tilläggshanteraren till den senaste versionen när den är tillgänglig. Den här parametern kan orsaka omstarter på den virtuella datorn när en ny version av WMF släpps.

Konfiguration med PowerShell-cmdletar

Azure DSC-tillägget kan använda DSC-konfigurationsdokument för att konfigurera virtuella Azure-datorer direkt under distributionen. Det här steget registrerar inte noden till Automation. Tänk på att noden inte hanteras centralt.

Följande kod visar en enkel exempelkonfiguration. Om du vill arbeta med det här exemplet sparar du den här konfigurationen lokalt som skriptfilen iisInstall.ps1 .

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

Följande PowerShell-kommandon placerar skriptet iisInstall.ps1 på den angivna virtuella datorn. Kommandona kör också konfigurationen och rapporterar sedan status igen.

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

Azure CLI-distribution

Azure CLI kan användas för att distribuera DSC-tillägget till en befintlig virtuell dator. I följande exempel visas hur du distribuerar en virtuell dator i Windows.

Använd följande kommando för en virtuell dator som kör Windows:

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

Distribution av Azure-portalen

Följ dessa steg för att konfigurera DSC-tillägget i Azure-portalen:

  1. Gå till en virtuell dator.

  2. Under Inställningar väljer du Tillägg + program.

  3. Under Tillägg väljer du + Lägg till.

  4. Välj PowerShell Desired State Configuration (Önskad tillståndskonfiguration för PowerShell) och välj sedan Nästa.

  5. Konfigurera följande parametrar för DSC-tillägget.

    Kommentar

    Om du arbetar med ett standardkonfigurationsskript bör du tänka på att de flesta av följande parametrar måste definieras direkt i Azure-portalen i stället för via skriptet.

    • Konfigurationsmoduler eller skript: (Krävs) Ange konfigurationsmoduler eller skriptfil för den virtuella datorn.

      Konfigurationsmoduler och skript kräver en .ps1-fil som har ett konfigurationsskript eller en .zip-fil med ett .ps1-konfigurationsskript i roten. Om du använder en .zip-fil måste alla beroende resurser ingå i modulmapparna i ZIP-filen. Du kan skapa zip-filen med cmdleten Publish-AzureVMDscConfiguration -OutputArchivePath som ingår i Azure PowerShell SDK. Zip-filen laddas upp till användarens Blob Storage och skyddas av en SAS-token.

    • Modulkvalificerat Namn på konfiguration: (Krävs) Ange den här inställningen för att inkludera flera konfigurationsfunktioner i en enda .ps1-skriptfil. För den här inställningen anger du namnet på konfigurationens .ps1-skriptfil följt av ett snedstreck \ och sedan namnet på konfigurationsfunktionen. Om skriptfilen .ps1 till exempel har namnet configuration.ps1 och konfigurationsnamnet är IisInstall anger du värdet configuration.ps1\IisInstall för inställningen.

    • Konfigurationsargument: Om konfigurationsfunktionen tar argument anger du värdena med formatet argumentName1=value1,argumentName2=value2. Observera att det här formatet skiljer sig från det format som används för att ange konfigurationsargument i PowerShell-cmdletar eller ARM-mallar.

      Kommentar

      Konfigurationsargumenten kan definieras i ett standardkonfigurationsskript.

    • PSD1-fil för konfigurationsdata: Om konfigurationen kräver en konfigurationsdatafil i .psd1-format använder du den här inställningen för att välja datafilen och ladda upp den till din användares Blob Storage. Konfigurationsdatafilen skyddas med en SAS-token i Blob Storage.

    • WMF-version: Ange vilken version av Windows Management Framework som ska installeras på den virtuella datorn. Om du väljer senaste, vilket är standardvärdet, installerar systemet den senaste versionen av WMF. Andra möjliga värden är 4.0, 5.0 och 5.1. Möjliga värden kan uppdateras.

    • Datainsamling: Aktivera den här inställningen om du vill att DSC-tillägget ska samla in telemetri om den virtuella datorn. Mer information finns i Datainsamling för Azure DSC-tillägg.

    • Version: (Krävs) Ange vilken version av DSC-tillägget som ska installeras. Information om versioner finns i Versionshistorik för Azure DSC-tillägg.

    • Delversion för automatisk uppgradering: Den här inställningen mappar till växeln AutoUpdate i cmdletarna. Konfigurera den här inställningen så att DSC-tillägget automatiskt uppdateras till den senaste versionen under installationen. Ja instruerar DSC-tilläggshanteraren att använda den senaste tillgängliga versionen. Nej (standard) tvingar installationen av den version som du anger i inställningen Version .

  6. När du har konfigurerat parametrarna väljer du Granska + Skapa och väljer sedan Skapa.

Loggar för DSC-tillägg

Du kan visa loggar för Azure DSC-tillägget på den virtuella datorn under C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.

Nästa steg