Konfigurera datorer till ett önskat tillstånd
Kommentar
Azure Automation State Configuration tas ur bruk den 30 september 2027. Övergå till Azure Machine Configuration senast det datumet. Mer information finns i blogginlägget. Azure Machine Configuration-tjänsten kombinerar funktioner i DSC-tillägget, Azure Automation State Configuration och de vanligaste funktionerna från kundfeedback. Azure Machine Configuration innehåller även stöd för hybriddatorer via Arc-aktiverade servrar.
Varning
Azure Automation DSC för Linux har dragits tillbaka den 30 september 2023. Mer information finns i meddelandet.
Med Azure Automation State Configuration kan du ange konfigurationer för dina servrar och se till att servrarna är i det angivna tillståndet över tid.
- Registrera en virtuell dator som ska hanteras av Azure Automation DSC
- Ladda upp en konfiguration till Azure Automation
- Kompilera en konfiguration till en nodkonfiguration
- Tilldela en nodkonfiguration till en hanterad nod
- Kontrollera efterlevnadsstatusen för en hanterad nod
I den här självstudien använder vi en enkel DSC-konfiguration som säkerställer att IIS är installerat på den virtuella datorn.
Förutsättningar
- Ett Azure Automation-konto. Mer information om ett Automation-konto och dess krav finns i Översikt över Automation-kontoautentisering.
- En virtuell Azure Resource Manager-dator (inte klassisk) som kör Windows Server 2008 R2 eller senare. Anvisningar om hur du skapar en virtuell dator finns i Skapa din första virtuella Windows-dator i Azure Portal.
- Azure PowerShell-modul version 3.6 eller senare. Kör
Get-Module -ListAvailable Az
för att hitta versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). - Kunskaper om DSC (Desired State Configuration). Information om DSC finns i Översikt över önskad tillståndskonfiguration i Windows PowerShell.
Stöd för partiella konfigurationer
Azure Automation State Configuration stöder användning av partiella konfigurationer. I det här scenariot är DSC konfigurerat för att hantera flera konfigurationer oberoende av varandra och varje konfiguration hämtas från Azure Automation. Det går dock bara att tilldela en konfiguration till en nod per automationskonto. Det innebär att om du använder två konfigurationer för en nod behöver du två Automation-konton.
Mer information om hur du registrerar en partiell konfiguration från en pull-tjänst finns i dokumentationen för partiella konfigurationer.
Mer information om hur team kan arbeta tillsammans för att gemensamt hantera servrar med konfiguration som kod finns i Förstå DSC:s roll i en CI/CD-pipeline.
Logga in på Azure
Logga in på din Azure-prenumeration med cmdleten Connect-AzAccount och följ anvisningarna på skärmen.
Connect-AzAccount
Skapa och ladda upp en konfiguration till Azure Automation
I en textredigerare skriver du följande och sparar det lokalt som TestConfig.ps1.
configuration TestConfig {
Node WebServer {
WindowsFeature IIS {
Ensure = 'Present'
Name = 'Web-Server'
IncludeAllSubFeature = $true
}
}
}
Kommentar
Konfigurationsnamn i Azure Automation får begränsas till högst 100 tecken.
I mer avancerade scenarier där du behöver flera moduler som ska importeras som tillhandahåller DSC-resurser kontrollerar du att varje modul har en unik Import-DscResource
rad i konfigurationen.
Anropa cmdleten Import-AzAutomationDscConfiguration för att ladda upp konfigurationen till ditt Automation-konto.
$importAzAutomationDscConfigurationSplat = @{
SourcePath = 'C:\DscConfigs\TestConfig.ps1'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Published = $true
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat
Kompilera en konfiguration till en nodkonfiguration
En DSC-konfiguration måste kompileras till en nodkonfiguration innan den kan tilldelas till en nod. Se DSC-konfigurationer.
Anropa cmdleten Start-AzAutomationDscCompilationJob för att kompilera konfigurationen TestConfig
till en nodkonfiguration med namnet TestConfig.WebServer
i ditt Automation-konto.
$startAzAutomationDscCompilationJobSplat = @{
ConfigurationName = 'TestConfig'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat
Registrera en virtuell dator som ska hanteras av tillståndskonfiguration
Du kan använda Azure Automation State Configuration för att hantera virtuella Azure-datorer (både klassiska datorer och Resource Manager), lokala virtuella datorer, Linux-datorer, virtuella AWS-datorer och lokala fysiska datorer. I den här artikeln går vi igenom hur du endast registrerar virtuella Azure Resource Manager-datorer. Information om hur du registrerar andra typer av datorer finns i Registrera datorer för hantering av Azure Automation State Configuration.
Anropa cmdleten Register-AzAutomationDscNode för att registrera den virtuella datorn med Azure Automation State Configuration som en hanterad nod.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat
Ange inställningar för konfigurationsläge
Använd cmdleten Register-AzAutomationDscNode för att registrera en virtuell dator som en hanterad nod och ange konfigurationsegenskaper. Du kan till exempel ange att datorns tillstånd endast ska tillämpas en gång genom att ApplyOnly
ange som värdet för ConfigurationMode
egenskapen. Tillståndskonfigurationen försöker inte tillämpa konfigurationen efter den första kontrollen.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationMode = 'ApplyOnly'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
You can also specify how often DSC checks the configuration state by using the
`ConfigurationModeFrequencyMins` property. For more information about DSC configuration settings,
see [Configuring the Local Configuration Manager][05].
```powershell
# Run a DSC check every 60 minutes
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationModeFrequencyMins = 60
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
## Assign a node configuration to a managed node
Now we can assign the compiled node configuration to the VM we want to configure.
```powershell
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Assign the node configuration to the DSC node
$setAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeConfigurationName = 'TestConfig.WebServer'
NodeId = $node.Id
}
Set-AzAutomationDscNode @setAzAutomationDscNodeSplat
Detta tilldelar nodkonfigurationen med namnet TestConfig.WebServer
till den registrerade DSC-noden DscVm
.
Som standard kontrolleras DSC-noden efter kompatibilitet med nodkonfigurationen var 30:e minut. Information om hur du ändrar efterlevnadskontrollintervallet finns i Konfigurera den lokala konfigurationshanteraren.
Kontrollera efterlevnadsstatusen för en hanterad nod
Du kan hämta rapporter om efterlevnadsstatus för en hanterad nod med hjälp av cmdleten Get-AzAutomationDscNodeReport .
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Get an array of status reports for the DSC node
$getAzAutomationDscNodeReportSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeId = $node.Id
}
$reports = Get-AzAutomationDscNodeReport @getAzAutomationDscNodeReportSplat
# Display the most recent report
$reports[0]
Nästa steg
- Kom igång genom att läsa Kom igång med Azure Automation State Configuration.
- Information om hur du aktiverar noder finns i Aktivera Azure Automation State Configuration.
- Mer information om hur du kompilerar DSC-konfigurationer så att du kan tilldela dem till målnoder finns i Kompilera DSC-konfigurationer i Azure Automation State Configuration.
- Ett exempel på hur du använder Azure Automation State Configuration i en pipeline för kontinuerlig distribution finns i Konfigurera kontinuerlig distribution med Chocolatey.
- Prisinformation finns i Prissättning för Azure Automation State Configuration.
- En PowerShell-cmdlet-referens finns i Az.Automation.