Konfigurera datorer till ett önskat tillstånd

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 kompatibilitetsstatusen 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

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. Endast en konfiguration kan dock tilldelas till en nod per Automation-konto. 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 samarbeta för att 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å Azure-prenumerationen 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
      }
   }
}

Anteckning

I mer avancerade scenarier där du kräver att flera moduler importeras som tillhandahåller DSC-resurser kontrollerar du att varje modul har en Import-DscResource unik linje i konfigurationen.

Anropa cmdleten Import-AzAutomationDscConfiguration för att ladda upp konfigurationen till ditt Automation-konto.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

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 till en nodkonfiguration med TestConfig namnet i ditt TestConfig.WebServer Automation-konto.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

Registrera en virtuell dator som ska hanteras av State Configuration

Du kan använda Azure Automation State Configuration för att hantera virtuella Azure-datorer (både klassiska och Resource Manager), lokala virtuella datorer, Linux-datorer, virtuella AWS-datorer och lokala fysiska datorer. I det här avsnittet tar vi upp hur du bara registrerar Azure Resource Manager virtuella datorer. Information om hur du registrerar andra typer av datorer finns i Onboarding machines for management by Azure Automation State Configuration.

Anropa cmdleten Register-AzAutomationDscNode för att registrera den virtuella datorn Azure Automation State Configuration som en hanterad nod.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

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 egenskapen ConfigurationMode . State Configuration försöker inte tillämpa konfigurationen efter den första kontrollen.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

Du kan också ange hur ofta DSC kontrollerar konfigurationstillståndet med hjälp av ConfigurationModeFrequencyMins egenskapen . Mer information om DSC-konfigurationsinställningar finns i Konfigurera den lokala Konfigurationshanteraren.

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

Tilldela en nodkonfiguration till en hanterad nod

Nu kan vi tilldela den kompilerade nodkonfigurationen till den virtuella dator som vi vill konfigurera.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id

Detta tilldelar nodkonfigurationen med TestConfig.WebServer namnet till den registrerade DSC-noden DscVm . Som standard kontrolleras DSC-noden för kompatibilitet med nodkonfigurationen var 30:e minut. Information om hur du ändrar kompatibilitetskontrollens intervall finns i Konfigurera den lokala Konfigurationshanteraren.

Kontrollera kompatibilitetsstatusen för en hanterad nod

Du kan hämta rapporter om kompatibilitetsstatusen för en hanterad nod med hjälp av cmdleten Get-AzAutomationDscNodeReport.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id

# Display the most recent report
$reports[0]

Nästa steg