Machines configureren met een gewenste status

Met Azure Automation State Configuration kunt u configuraties voor uw servers opgeven en ervoor zorgen dat deze servers de opgegeven status na verloop van tijd hebben.

  • Onboarding uitvoeren van een VIRTUELE machine die wordt beheerd door Azure Automation DSC
  • Een configuratie uploaden naar Azure Automation
  • Een configuratie compileren in een knooppuntconfiguratie
  • Een knooppuntconfiguratie toewijzen aan een beheerd knooppunt
  • De nalevingsstatus van een beheerd knooppunt controleren

Voor deze zelfstudie gebruiken we een eenvoudige DSC-configuratie die ervoor zorgt dat IIS op de VIRTUELE machine is geïnstalleerd.

Vereisten

Ondersteuning voor gedeeltelijke configuraties

Azure Automation State Configuration ondersteunt het gebruik van gedeeltelijke configuraties. In dit scenario is DSC geconfigureerd voor het onafhankelijk beheren van meerdere configuraties en wordt elke configuratie opgehaald uit Azure Automation. Er kan echter slechts één configuratie worden toegewezen aan een knooppunt per automation-account. Dit betekent dat als u twee configuraties voor een knooppunt gebruikt, u twee Automation-accounts nodig hebt.

Zie de documentatie voor gedeeltelijke configuraties voor meer informatie over het registreren van een gedeeltelijke configuratie van een pull-service.

Zie De rol van DSC in een CI/CD-pijplijn voor meer informatie over hoe teams kunnen samenwerken om servers gezamenlijk te beheren met behulp van configuratie als code.

Meld u aan bij Azure

Meld u aan bij uw Azure-abonnement met de cmdlet Verbinding maken-AzAccount en volg de instructies op het scherm.

Connect-AzAccount

Een configuratie maken en uploaden naar Azure Automation

Typ het volgende in een teksteditor en sla deze lokaal op als TestConfig.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Notitie

Configuratienamen in Azure Automation mogen maximaal 100 tekens bevatten.

In meer geavanceerde scenario's waarin u wilt dat meerdere modules worden geïmporteerd die DSC-resources bieden, moet u ervoor zorgen dat elke module een unieke Import-DscResource regel in uw configuratie heeft.

Roep de cmdlet Import-AzAutomationDscConfiguration aan om de configuratie te uploaden naar uw Automation-account.

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

Een configuratie compileren in een knooppuntconfiguratie

Een DSC-configuratie moet worden gecompileerd in een knooppuntconfiguratie voordat deze kan worden toegewezen aan een knooppunt. Zie DSC-configuraties.

Roep de cmdlet Start-AzAutomationDscCompilationJob aan om de TestConfig configuratie te compileren in een knooppuntconfiguratie met de naam TestConfig.WebServer in uw Automation-account.

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

Een VM registreren die moet worden beheerd door State Configuration

U kunt Azure Automation State Configuration gebruiken om virtuele Azure-machines (zowel klassiek als Resource Manager), on-premises VM's, Linux-machines, AWS-VM's en on-premises fysieke machines te beheren. In dit onderwerp wordt beschreven hoe u alleen Azure Resource Manager-VM's registreert. Zie Onboarding-machines voor beheer door Azure Automation State Configuration voor informatie over het registreren van andere typen machines.

Roep de cmdlet Register-AzAutomationDscNode aan om uw VM te registreren bij Azure Automation State Configuration als een beheerd knooppunt.

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

Instellingen voor de configuratiemodus opgeven

Gebruik de cmdlet Register-AzAutomationDscNode om een VM te registreren als een beheerd knooppunt en configuratie-eigenschappen op te geven. U kunt bijvoorbeeld opgeven dat de status van de machine slechts eenmaal moet worden toegepast door op te geven ApplyOnly als de waarde van de ConfigurationMode eigenschap. Statusconfiguratie probeert de configuratie niet toe te passen na de eerste controle.

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

U kunt ook opgeven hoe vaak DSC de configuratiestatus controleert met behulp van de ConfigurationModeFrequencyMins eigenschap. Zie De lokale Configuration Manager configureren voor meer informatie over DSC-configuratie-instellingen.

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

Een knooppuntconfiguratie toewijzen aan een beheerd knooppunt

Nu kunnen we de gecompileerde knooppuntconfiguratie toewijzen aan de VM die we willen configureren.

# 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

Hiermee wordt de knooppuntconfiguratie met de naam toegewezen TestConfig.WebServer aan het geregistreerde DSC-knooppunt DscVm. Standaard wordt het DSC-knooppunt elke 30 minuten gecontroleerd op naleving van de knooppuntconfiguratie. Zie Local Configuration Manager configureren voor meer informatie over het wijzigen van het interval voor nalevingscontrole.

De nalevingsstatus van een beheerd knooppunt controleren

U kunt rapporten over de nalevingsstatus van een beheerd knooppunt ophalen met behulp van de cmdlet 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]

Volgende stappen