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

Anteckning

Innan du aktiverar DSC-tillägget vill vi att du ska veta att en nyare version av DSC nu är allmänt tillgänglig, som hanteras av en funktion i Azure Automange med namnet machine configuration. Datorkonfigurationsfunktionen kombinerar funktioner i Desired State Configuration-tilläggshanteraren (DSC), Azure 自動化 State Configuration och de vanligaste begärda funktionerna från kundfeedback. Datorkonfigurationen omfattar även stöd för hybriddatorer via Arc-aktiverade servrar.

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

Det primära användningsfallet för Tillägget Azure Desired State Configuration (DSC) är att starta en virtuell dator till tjänsten Azure 自動化 State Configuration (DSC). Tjänsten ger fördelar som omfattar löpande hantering av VM-konfigurationen och integrering med andra operativa verktyg, till exempel Azure Monitoring. Om du använder tillägget för att registrera virtuella datorer i tjänsten får du en flexibel lösning som även fungerar i Azure-prenumerationer.

Du kan använda DSC-tillägget oberoende av Automation DSC-tjänsten. Detta skickar dock bara en konfiguration till den virtuella datorn. Ingen pågående rapportering är tillgänglig, förutom lokalt på den virtuella datorn.

Den här artikeln innehåller information om båda scenarierna: använda DSC-tillägget för Automation-registrering och använda DSC-tillägget som ett verktyg för att tilldela konfigurationer till virtuella datorer med hjälp av Azure SDK.

Krav

  • Lokal dator: Om du vill interagera med Azure VM-tillägget måste du använda antingen Azure-Portal eller Azure PowerShell SDK.
  • Gästagent: Den virtuella Azure-dator som konfigureras av DSC-konfigurationen måste vara 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 DSC-tillägget.

Termer och begrepp

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

  • Konfiguration: Ett DSC-konfigurationsdokument.
  • Nod: Ett mål för en DSC-konfiguration. I det här dokumentet refererar noden alltid till en virtuell Azure-dator.
  • Konfigurationsdata: En .psd1-fil som har miljödata för en konfiguration.

Arkitektur

Azure DSC-tillägget använder Azure VM Agent-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 bara för att ange metadata i Lokala Configuration Manager.

När tillägget anropas för 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 redan har den senaste versionen av PowerShell installerad.
  • Om egenskapen wmfVersion har angetts installeras den versionen av WMF, såvida inte den versionen är inkompatibel med den virtuella datorns operativsystem.
  • Om ingen wmfVersion-egenskap har angetts installeras den senaste tillämpliga versionen av WMF.

Installation av WMF kräver en omstart. När du har startat om laddar tillägget ned .zip-filen som anges i egenskapen modulesUrl , om det tillhandahålls. Om den här platsen finns i Azure Blob Storage kan du ange en SAS-token i egenskapen sasToken för att komma åt filen. När .zip har laddats ned och packats upp körs konfigurationsfunktionen som definierats i configurationFunction för att generera en .mof-fil (hanterat objektformat). Tillägget körs Start-DscConfiguration -Force sedan 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 自動化 DSC-tjänsten. Skriptparametrarna är justerade med de konfigurerbara egenskaperna för Lokala Configuration Manager. Skriptparametrar finns i Standardkonfigurationsskript i Desired State Configuration tillägg med Azure Resource Manager-mallar. Det fullständiga skriptet finns i Azure-snabbstartsmallen i GitHub.

Information om registrering med tjänsten Azure 自動化 State Configuration (DSC)

När du använder DSC-tillägget för att registrera en nod med State Configuration-tjänsten måste tre värden anges.

  • RegistrationUrl – https-adressen för Azure 自動化-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

Den här informationen visas i Azure-Portal eller så kan du använda PowerShell.

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

Kontrollera att nodkonfigurationen finns i Azure State Configuration för nodkonfigurationsnamnet. Om den inte gör det returnerar tilläggsdistributionen ett fel. Kontrollera också att du använder namnet på nodkonfigurationen och inte konfigurationen. En konfiguration definieras i ett skript som används för att kompilera nodkonfigurationen (MOF-filen). Namnet är alltid konfigurationen följt av en punkt . och antingen localhost eller ett specifikt datornamn.

DSC-tillägg i Resource Manager mallar

I de flesta fall är Resource Manager distributionsmallar det förväntade sättet att arbeta med DSC-tillägget. Mer information och exempel på hur du inkluderar DSC-tillägget i Resource Manager distributionsmallar finns i Desired State Configuration tillägg med Azure Resource Manager-mallar.

PowerShell-cmdletar för DSC-tillägg

De PowerShell-cmdletar som används för att hantera DSC-tillägget används bäst i 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 har ännu inte uppdaterats för att fungera med standardkonfigurationsskriptet.

Cmdleten Publish-AzVMDscConfiguration tar in en konfigurationsfil, söker igenom den efter beroende DSC-resurser och skapar sedan en .zip fil. Den .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 parametern -OutputArchivePath . Annars publicerar cmdleten .zip-filen till Blob Storage och skyddar den sedan med en SAS-token.

Det .ps1 konfigurationsskriptet som cmdleten skapar finns i filen .zip 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äggsstatusen 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 på en grupp virtuella datorer.

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

Viktig information om cmdletar för Resource Manager DSC-tillägg:

  • Azure Resource Manager-cmdletar är synkrona.
  • Parametrarna ResourceGroupName, VMName, ArchiveStorageAccountName, Version och Location krävs.
  • ArchiveResourceGroupName är en valfri parameter. Du kan 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.

Kom igång med 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. Noden hanteras inte centralt.

I följande exempel visas ett enkelt exempel på en konfiguration. Spara konfigurationen lokalt som iisInstall.ps1.

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

Följande kommandon placerar iisInstall.ps1 skriptet 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.

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 '{}'

För en virtuell dator som kör Linux:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DSCForLinux \
  --publisher Microsoft.OSTCExtensions \
  --version 2.7 --protected-settings '{}' \
  --settings '{}'

Azure-Portal funktioner

Så här konfigurerar du DSC i portalen:

  1. Gå till en virtuell dator.
  2. Under Inställningar väljer du Tillägg.
  3. På den nya sidan som skapas väljer du + Lägg till och sedan PowerShell Desired State Configuration.
  4. Klicka på Skapa längst ned på sidan med tilläggsinformation.

Portalen samlar in följande indata:

  • Konfigurationsmoduler eller skript: Det här fältet är obligatoriskt (formuläret har inte uppdaterats för standardkonfigurationsskriptet). 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. Du kan skapa .zip-filen med hjälp av cmdleten Publish-AzureVMDscConfiguration -OutputArchivePath som ingår i Azure PowerShell SDK. Den .zip filen laddas upp till din användarbloblagring och skyddas av en SAS-token.

  • Modulkvalificerat namn på konfiguration: Du kan inkludera flera konfigurationsfunktioner i en .ps1 fil. Ange namnet på konfigurationen .ps1 skript följt av \ och namnet på konfigurationsfunktionen. Om ditt .ps1 skript till exempel har namnet configuration.ps1 och konfigurationen är IisInstall anger du configuration.ps1\IisInstall.

  • Konfigurationsargument: Om konfigurationsfunktionen tar argument anger du dem här i formatet argumentName1=value1,argumentName2=value2. Det här formatet är ett annat format där konfigurationsargument accepteras i PowerShell-cmdletar eller Resource Manager mallar.

  • PSD1-fil för konfigurationsdata: Om konfigurationen kräver en konfigurationsdatafil i .psd1använder du det här fältet för att välja datafilen och ladda upp den till din användarbloblagring. Konfigurationsdatafilen skyddas av en SAS-token i Blob Storage.

  • WMF-version: Anger vilken version av Windows Management Framework (WMF) som ska installeras på den virtuella datorn. Om du anger den här egenskapen till den senaste installerar du den senaste versionen av WMF. För närvarande är de enda möjliga värdena för den här egenskapen 4.0, 5.0, 5.1 och senaste. Dessa möjliga värden omfattas av uppdateringar. Standardvärdet är det senaste.

  • Datainsamling: Avgör om tillägget ska samla in telemetri. Mer information finns i Datainsamling för Azure DSC-tillägg.

  • Version: Anger vilken version av DSC-tillägget som ska installeras. Information om versioner finns i Versionshistorik för DSC-tillägg.

  • Automatisk uppgradering av delversion: Det här fältet mappar till växeln AutoUpdate i cmdletarna och gör att tillägget automatiskt kan uppdateras till den senaste versionen under installationen. Ja instruerar tilläggshanteraren att använda den senaste tillgängliga versionen och Nej tvingar den angivna versionen att installeras. Om du varken väljer Ja eller Nej är det samma som att välja Nej.

Loggar

Loggar för tillägget lagras på följande plats: C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>

Nästa steg