Delen via


Machines configureren met een gewenste status

Notitie

Azure Automation State Configuration wordt op 30 september 2027 buiten gebruik gesteld. Stap op die datum over naar Azure Machine Configuration . Zie de aankondiging van het blogbericht voor meer informatie. De Azure Machine Configuration-service combineert functies van DSC-extensie, Azure Automation State Configuration en de meest aangevraagde functies uit feedback van klanten. Azure Machine Configuration omvat ook ondersteuning voor hybride machines via servers met Arc.

Let op

Azure Automation DSC voor Linux is op 30 september 2023 buiten gebruik gesteld. Zie de aankondiging voor meer informatie.

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.

Aanmelden bij Azure

Meld u aan bij uw Azure-abonnement met de cmdlet Connect-AzAccount en volg de aanwijzingen 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.

$importAzAutomationDscConfigurationSplat = @{
    SourcePath = 'C:\DscConfigs\TestConfig.ps1'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Published = $ture
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat

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.

$startAzAutomationDscCompilationJobSplat = @{
    ConfigurationName = 'TestConfig'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat

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 artikel 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.

$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat

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.

$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

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

Volgende stappen