Updates beheren met onderhoudsconfiguraties en de Azure CLI
Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️
U kunt de functie Onderhoudsconfiguraties gebruiken om te bepalen wanneer platformupdates op verschillende Azure-resources moeten worden toegepast. In dit artikel worden de Azure CLI-opties besproken voor het gebruik van deze functie. Zie Platformupdates beheren met onderhoudsconfiguraties voor meer informatie over de voordelen van het gebruik van onderhoudsconfiguraties, de beperkingen en andere beheeropties.
Belangrijk
Specifieke bereiken ondersteunen bepaalde machinetypen en -planningen. Zorg ervoor dat u het juiste bereik voor uw virtuele machine (VM) selecteert.
Een onderhoudsconfiguratie maken
De eerste stap bij het maken van een onderhoudsconfiguratie is het maken van een resourcegroep als een 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.
az group create \
--location eastus \
--name myMaintenanceRG
Nadat u de resourcegroep hebt gemaakt, gebruikt az maintenance configuration create
u deze om een onderhoudsconfiguratie te maken.
Host
In dit voorbeeld wordt een onderhoudsconfiguratie gemaakt met de naam myConfig die is gericht op het hosten van machines, met een gepland venster van 5 uur op de vierde maandag van elke maand:
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
Het gebruik --maintenance-scope host
zorgt ervoor dat de onderhoudsconfiguratie wordt gebruikt voor het beheren van updates voor de hostinfrastructuur. Als u probeert een configuratie met dezelfde naam te maken, maar op een andere locatie, krijgt u een foutmelding. Configuratienamen moeten uniek zijn voor uw resourcegroep.
Als u wilt controleren of u de onderhoudsconfiguratie hebt gemaakt, kunt u een query uitvoeren op beschikbare onderhoudsconfiguraties met behulp van az maintenance configuration list
:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
U kunt het onderhoudspatroon uitdrukken als dagelijks, wekelijks of maandelijks. Hieronder volgen een aantal voorbeelden:
- Dagelijks: Een
maintenance-window-recur-every
waarde van"Day"
of"3Days"
. - Wekelijks: Een
maintenance-window-recur-every
waarde van"3Weeks"
of"Week Saturday,Sunday"
. - Maandelijks: Een
maintenance-window-recur-every
waarde van"Month day23,day24"
of"Month Last Sunday"
.Month Fourth Monday
Virtuele-machineschaalsets
In dit voorbeeld wordt een onderhoudsconfiguratie met de naam myConfig gemaakt met het besturingssysteeminstallatiekopieënbereik voor virtuele-machineschaalsets, met een gepland venster van 5 uur op de vierde maandag van elke maand:
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope osimage \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
Gast-VM's
In dit voorbeeld wordt een onderhoudsconfiguratie gemaakt met de naam myConfig die is gericht op gastmachines (VM's en servers met Azure Arc), met een gepland venster van 2 uur per 20 dagen. Meer informatie over onderhoudsconfiguraties op gast-VM's.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
De configuratie toewijzen
Gebruik az maintenance assignment create
dit om de configuratie toe te wijzen aan uw computer.
Geïsoleerde VM
Pas de configuratie toe op een geïsoleerde host-VM met behulp van de id van de configuratie. Geef --resource-type virtualMachines
op. Geef de naam op van de VM voor --resource-name
, de resourcegroep van de virtuele machine voor --resource-group
en de locatie van de virtuele machine voor --location
.
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Toegewezen host
Als u een configuratie wilt toepassen op een toegewezen host, moet --resource-type hosts
u , --resource-parent-name
met de naam van de hostgroep en --resource-parent-type hostGroups
.
De parameter --resource-id
is de id van de host. U kunt az-vm-host-get-instance-view gebruiken om de id van uw toegewezen host op te halen.
az maintenance assignment create \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
--location eastus \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Virtuele-machineschaalsets
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Gast-VM's
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
De configuratie controleren
U kunt controleren of de configuratie correct is toegepast of controleren welke configuratie momenteel is toegepast met behulp van az maintenance assignment list
.
Geïsoleerde VM
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Toegewezen host
az maintenance assignment list \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--query "[].{ResourceGroup:resourceGroup,configName:name}" \
--output table
Virtuele-machineschaalsets
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Gast-VM's
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Controleren op updates die in behandeling zijn
Gebruik az maintenance update list
deze optie om te zien of er updates in behandeling zijn. Werk --subscription
bij als de id voor het abonnement dat de VIRTUELE machine bevat.
Als er geen updates zijn, retourneert de opdracht een foutbericht dat de tekst Resource not found...StatusCode: 404
bevat.
Als er updates zijn, retourneert de opdracht slechts één, zelfs als er meerdere updates in behandeling zijn. De gegevens voor deze update worden geretourneerd in een object:
[
{
"impactDurationInSec": 9,
"impactType": "Freeze",
"maintenanceScope": "Host",
"notBefore": "2020-03-03T07:23:04.905538+00:00",
"resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
"status": "Pending"
}
]
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:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output 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. Vervang de waarden voor de resources door uw eigen waarden.
az maintenance update list \
--subscription {subscription ID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parentname myHostGroup \
--resource-parent-type hostGroups \
--output table
Updates toepassen
Gebruik az maintenance apply update
dit om wachtende updates toe te passen. Bij succes retourneert deze opdracht JSON die de details van de update bevat. Het kan tot 2 uur duren voordat aanroepen om updates toe te passen zijn voltooid.
Geïsoleerde VM
Maak een aanvraag om updates toe te passen op een geïsoleerde VM:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Toegewezen host
Updates toepassen op een toegewezen host:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Virtuele-machineschaalsets
Updates toepassen op een schaalset:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Controleer de status van het toepassen van updates
U kunt de voortgang van de updates controleren met behulp van az maintenance applyupdate get
.
Als u de resultaten voor de laatste update wilt zien, gebruikt default
u deze als de naam van de update. Of vervang deze door myUpdateName
de naam van de update die is geretourneerd toen u de update hebt uitgevoerd az maintenance applyupdate create
.
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, ongeacht of u de update of het platform hebt gestart omdat u het zelfonderhoudsvenster niet hebt gebruikt. Als een update nooit is toegepast via onderhoudsconfiguraties, LastUpdateTime
wordt de standaardwaarde weergegeven.
Geïsoleerde VM
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Toegewezen host
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Virtuele-machineschaalsets
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Een onderhoudsconfiguratie verwijderen
Als u een onderhoudsconfiguratie wilt verwijderen, gebruikt u az maintenance configuration delete
. Als u de configuratie verwijdert, wordt het onderhoudsbeheer uit de bijbehorende resources verwijderd.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Volgende stappen
Zie Onderhoud voor virtuele machines in Azure voor meer informatie.