Updates beheren met onderhoudsconfiguraties en Azure PowerShell
Van toepassing op: ✔️ Linux-VM's ✔️ Windows-VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets
Door een onderhoudsconfiguratie te maken, kunt u bepalen wanneer u platformupdates wilt toepassen op verschillende Azure-resources. In dit onderwerp worden de Azure PowerShell opties voor toegewezen hosts en geïsoleerde VM's behandeld. Zie Platformupdates beheren met onderhoudsconfiguraties voor meer informatie over de voordelen van het gebruik van onderhoudsconfiguraties, de beperkingen en andere beheeropties.
Als u op zoek bent naar informatie over onderhoudsconfiguraties voor schaalsets, raadpleegt u Onderhoudsbeheer voor Virtual Machine Scale Sets.
Belangrijk
Er zijn verschillende bereiken die ondersteuning bieden voor bepaalde machinetypen en schema's, dus zorg ervoor dat u het juiste bereik voor uw virtuele machine selecteert.
De PowerShell-module inschakelen
Zorg ervoor dat PowerShellGet
deze up-to-date is.
Install-Module -Name PowerShellGet -Repository PSGallery -Force
Installeer de Az.Maintenance
PowerShell-module.
Install-Module -Name Az.Maintenance
Controleer of u de nieuwste versie van Az.Maintenance
de PowerShell-module (versie 1.2.0) uitvoert
Get-Module -ListAvailable -Name Az.Maintenance
Zorg ervoor dat u de juiste versie van het gebruik uitvoert Az.Maintenance
Import-Module -Name Az.Maintenance -RequiredVersion 1.2.0
Als u lokaal installeert, moet u de PowerShell-prompt openen als beheerder.
Mogelijk wordt u ook gevraagd om te bevestigen dat u wilt installeren vanuit een niet-vertrouwde opslagplaats. Typ Y
of selecteer Ja op alles om de module te installeren.
Een onderhoudsconfiguratie maken
De eerste stap voor het maken van een onderhoudsconfiguratie is het maken van een resourcegroep als container voor uw configuratie. In dit voorbeeld wordt een resourcegroep met de naam myMaintenanceRG gemaakt in eastus. Als u al een resourcegroep hebt die u wilt gebruiken, kunt u dit gedeelte overslaan en de naam van de resourcegroep vervangen door uw eigen resourcegroep in de rest van de voorbeelden.
New-AzResourceGroup `
-Location eastus `
-Name myMaintenanceRG
U kunt een gepland venster declareren wanneer Azure de updates regelmatig toepast op uw resources. Zodra u een gepland venster hebt gemaakt, hoeft u de updates niet meer handmatig toe te passen. Onderhoudspatroon kan worden uitgedrukt als dagelijks, wekelijks of maandelijks. Een aantal voorbeelden:
- daily- RecurEvery "Day" or "3Days"
- wekelijks- RecurEvery "3Weeks" of "Week zaterdag,zondag"
- monthly- Recury "Month day23,day24" or "Month Last Sunday" or "Month Fourth Monday"
Host
In dit voorbeeld wordt een onderhoudsconfiguratie gemaakt met de naam myConfig, die wordt gehost met een gepland venster van 5 uur op de vierde maandag van elke maand. Het is belangrijk te weten dat de duur van de planning voor dit bereik ten minste twee uur moet duren. Om te beginnen moet u alle parameters definiëren die nodig zijn voor New-AzMaintenanceConfiguration
$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "Host"
$location = "eastus"
$timeZone = "Pacific Standard Time"
$duration = "05:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Month Fourth Monday"
Nadat u de parameters hebt gedefinieerd, kunt u nu de New-AzMaintenanceConfiguration
cmdlet gebruiken om uw configuratie te maken.
New-AzMaintenanceConfiguration
-ResourceGroup $RGName `
-Name $configName `
-MaintenanceScope $scope `
-Location $location `
-StartDateTime $startDateTime `
-TimeZone $timeZone `
-Duration $duration `
-RecurEvery $recurEvery
Met behulp $scope = "Host"
van zorgt u ervoor dat de onderhoudsconfiguratie wordt gebruikt voor het beheren van updates op hostcomputers. U moet ervoor zorgen dat u een configuratie maakt voor het specifieke bereik van de machines waarop u zich richt. Zie Onderhoudsconfiguratiebereiken voor meer informatie over bereiken.
Installatiekopieën van het besturingssysteem
In dit voorbeeld maken we een onderhoudsconfiguratie met de naam myConfig die is gericht op osimage met een gepland venster van 8 uur om de 5 dagen. Het is belangrijk te weten dat de duur van de planning voor dit bereik ten minste 5 uur moet zijn. Een ander belangrijk verschil is dat dit bereik een maximum van 7 dagen toestaat voor schema-terugkeerpatroon.
$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "osimage"
$location = "eastus"
$timeZone = "Pacific Standard Time"
$duration = "08:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "5days"
Nadat u de parameters hebt gedefinieerd, kunt u nu de New-AzMaintenanceConfiguration
cmdlet gebruiken om uw configuratie te maken.
New-AzMaintenanceConfiguration
-ResourceGroup $RGName `
-Name $configName `
-MaintenanceScope $scope `
-Location $location `
-StartDateTime $startDateTime `
-TimeZone $timeZone `
-Duration $duration `
-RecurEvery $recurEvery
Gast
Onze meest recente toevoeging aan de onderhoudsconfiguratie is het InGuestPatch-bereik . In dit voorbeeld ziet u hoe u een onderhoudsconfiguratie voor gastbereik maakt met behulp van PowerShell. Zie Gast voor meer informatie over dit bereik.
$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "InGuestPatch"
$location = "eastus"
$timeZone = "Pacific Standard Time"
$duration = "04:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Week Saturday, Sunday"
$WindowsParameterClassificationToInclude = "FeaturePack","ServicePack";
$WindowParameterKbNumberToInclude = "KB123456","KB123466";
$WindowParameterKbNumberToExclude = "KB123456","KB123466";
$RebootOption = "IfRequired";
$LinuxParameterClassificationToInclude = "Other";
$LinuxParameterPackageNameMaskToInclude = "apt","httpd";
$LinuxParameterPackageNameMaskToExclude = "ppt","userpk";
Nadat u de parameters hebt gedefinieerd, kunt u nu de New-AzMaintenanceConfiguration
cmdlet gebruiken om uw configuratie te maken.
New-AzMaintenanceConfiguration
-ResourceGroup $RGName `
-Name $configName `
-MaintenanceScope $scope `
-Location $location `
-StartDateTime $startDateTime `
-TimeZone $timeZone `
-Duration $duration `
-RecurEvery $recurEvery `
-WindowParameterClassificationToInclude $WindowsParameterClassificationToInclude `
-WindowParameterKbNumberToInclude $WindowParameterKbNumberToInclude `
-WindowParameterKbNumberToExclude $WindowParameterKbNumberToExclude `
-InstallPatchRebootSetting $RebootOption `
-LinuxParameterPackageNameMaskToInclude $LinuxParameterPackageNameMaskToInclude `
-LinuxParameterClassificationToInclude $LinuxParameterClassificationToInclude `
-LinuxParameterPackageNameMaskToExclude $LinuxParameterPackageNameMaskToExclude `
-ExtensionProperty @{"InGuestPatchMode"="User"}
Als u een configuratie probeert te maken met dezelfde naam, maar op een andere locatie, krijgt u een foutmelding. Configuratienamen moeten uniek zijn voor uw resourcegroep.
U kunt controleren of u de onderhoudsconfiguraties hebt gemaakt met behulp van Get-AzMaintenanceConfiguration.
Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id
De configuratie toewijzen
Nadat u de configuratie hebt gemaakt, wilt u er mogelijk ook machines aan toewijzen met behulp van PowerShell. Hiervoor gebruiken we New-AzConfigurationAssignment.
Geïsoleerde VM
Wijs de configuratie toe aan een VM met behulp van de id van de configuratie. Geef -ResourceType VirtualMachines
de naam op van de VM voor -ResourceName
en geef de resourcegroep van de VM op voor -ResourceGroupName
.
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Toegewezen host
Als u een configuratie wilt toepassen op een toegewezen host, moet u ook opnemen -ResourceType hosts
, -ResourceParentName
met de naam van de hostgroep en -ResourceParentType hostGroups
.
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName myHostGroup `
-ResourceParentType hostGroups `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Virtuele-machineschaalsets
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Gast
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myGuest" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Controleren op updates die in behandeling zijn
Gebruik Get-AzMaintenanceUpdate om te zien of er updates in behandeling zijn. Gebruik -subscription
om het Azure-abonnement van de VM op te geven als dit verschilt van het abonnement waarbij u bent aangemeld.
Als er geen updates worden weergegeven, retourneert deze opdracht niets. Anders wordt een PSApplyUpdate-object geretourneerd:
{
"maintenanceScope": "Host",
"impactType": "Freeze",
"status": "Pending",
"impactDurationInSec": 9,
"notBefore": "2020-02-21T16:47:44.8728029Z",
"properties": {
"resourceId": "/subscriptions/39c6cced-4d6c-4dd5-af86-57499cd3f846/resourcegroups/Ignite2019/providers/Microsoft.Compute/virtualMachines/MCDemo3"
}
Geïsoleerde VM
Controleer op updates die in behandeling zijn voor een geïsoleerde VM. In dit voorbeeld is de uitvoer opgemaakt als een tabel voor leesbaarheid.
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" | Format-Table
Toegewezen host
Controleer op updates die in behandeling zijn voor een toegewezen host. In dit voorbeeld is de uitvoer opgemaakt als een tabel voor leesbaarheid.
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName "Microsoft.Compute" | Format-Table
Virtuele-machineschaalsets
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" | Format-Table
Updates toepassen
Gebruik New-AzApplyUpdate om in behandeling zijnde updates toe te passen. Het kan tot 2 uur duren voordat het toepassen van update-aanroepen is voltooid. Deze cmdlet werkt alleen voor host - en OSImage-bereiken . Dit werkt NIET voor gastbereik .
Geïsoleerde VM
Maak een aanvraag om updates toe te passen op een geïsoleerde VM.
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute"
Als dit lukt, retourneert deze opdracht een PSApplyUpdate
-object. U kunt het kenmerk Name in de Get-AzApplyUpdate
opdracht gebruiken om de updatestatus te controleren. Zie Updatestatus controleren.
Toegewezen host
Updates toepassen op een toegewezen host.
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName Microsoft.Compute
Virtuele-machineschaalsets
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute"
Updatestatus controleren
Gebruik Get-AzApplyUpdate om de status van een update te controleren. De onderstaande opdrachten geven de status van de meest recente update weer door voor de -ApplyUpdateName
parameter te gebruikendefault
. U kunt de naam van de update vervangen (geretourneerd door de opdracht New-AzApplyUpdate ) om de status van een specifieke update op te halen. Deze cmdlet werkt alleen voor host - en OSImage-bereiken . Dit werkt NIET voor gastbereik .
Status : Completed
ResourceId : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name : default
Type : Microsoft.Maintenance/applyUpdates
LastUpdateTime is het tijdstip waarop de update is voltooid, geïnitieerd door u of door het platform voor het geval het venster voor zelfonderhoud niet is gebruikt. Als er nog nooit een update is toegepast via onderhoudsconfiguraties, wordt de standaardwaarde weergegeven.
Geïsoleerde VM
Controleer op updates voor een specifieke virtuele machine.
Get-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Toegewezen host
Controleren op updates voor een toegewezen host.
Get-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Virtuele-machineschaalsets
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Een onderhoudsconfiguratie verwijderen
Gebruik Remove-AzMaintenanceConfiguration om een onderhoudsconfiguratie te verwijderen.
Remove-AzMaintenanceConfiguration `
-ResourceGroupName "myResourceGroup" `
-Name "configName"
Volgende stappen
Zie Onderhoud en updates voor meer informatie.