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
- Een Azure Automation-account. Zie het overzicht van automation-accountverificatie voor meer informatie over een Automation-account en de bijbehorende vereisten.
- Een Azure Resource Manager-VM (niet klassiek) met Windows Server 2008 R2 of hoger. Zie Uw eerste virtuele Windows-machine maken in Azure Portal voor instructies voor het maken van een virtuele machine.
- Azure PowerShell-moduleversie 3.6 of hoger. Voer
Get-Module -ListAvailable Az
uit om de versie te bekijken. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. - Bekendheid met DSC (Desired State Configuration). Zie Het overzicht van Windows PowerShell Desired State Configuration voor meer informatie over DSC.
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
- Zie Aan de slag met Azure Automation State Configuration om aan de slag te gaan.
- Zie Azure Automation State Configuration inschakelen voor meer informatie over het inschakelen van knooppunten.
- Zie DSC-configuraties compileren in Azure Automation State Configuration voor meer informatie over het compileren van DSC-configuraties, zodat u deze kunt toewijzen aan doelknooppunten.
- Zie Continue implementatie instellen met Chocolatey voor een voorbeeld van het gebruik van Azure Automation State Configuration in een pijplijn voor continue implementatie.
- Zie prijzen voor Azure Automation State Configuration voor meer informatie over prijzen.
- Zie Az.Automation voor een naslagdocumentatie voor een PowerShell-cmdlet.