Updates beheren met onderhoudsconfiguraties en de Azure CLI

Van toepassing op: ✔️ Linux-VM's ✔️ Windows-VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets

Met onderhoudsconfiguraties kunt u bepalen wanneer u platformupdates wilt toepassen op verschillende Azure-resources. In dit onderwerp worden de Azure CLI-opties voor het gebruik van deze service besproken. Zie Platformupdates beheren met onderhoudsconfiguraties voor meer informatie over de voordelen van het gebruik van onderhoudsconfiguraties, de beperkingen en andere beheeropties.

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.

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.

az group create \
   --location eastus \
   --name myMaintenanceRG

Nadat u de resourcegroep hebt gemaakt, gebruikt az maintenance configuration create u 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 geplande periode 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" 

Met behulp --maintenance-scope host van zorgt u ervoor dat de onderhoudsconfiguratie wordt gebruikt voor het beheren van updates voor de hostinfrastructuur. 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 onderhoudsconfiguratie hebt gemaakt door een query uit te voeren op beschikbare onderhoudsconfiguraties met behulp van az maintenance configuration list.

az maintenance configuration list 
   --query "[].{Name:name, ID:id}" 
   --output table 

Notitie

Onderhoudspatroon kan worden uitgedrukt als dagelijks, wekelijks of maandelijks. Een aantal voorbeelden:

  • daily- maintenance-window-recur-every: "Day" or "3Days"
  • wekelijks- maintenance-window-recur-every: "3Weeks" of "Week saturday,Sunday"
  • maandelijks- onderhoud-venster-recur-every: "Maand dag23, dag24" of "Maand Laatste zondag" of "Maand vierde maandag"

Virtuele-machineschaalsets

In dit voorbeeld wordt een onderhoudsconfiguratie met de naam myConfig gemaakt met het osimage-bereik 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 met de naam myConfig gemaakt die is gericht op gastmachines (VM's en servers met Arc) met een geplande periode van 2 uur per 20 dagen. Zie Gast voor meer informatie over deze 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 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 de naam van de VM op voor --resource-nameen geef de resourcegroep voor op de VM in --resource-groupen de locatie van de VM 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 u opnemen--resource-type hosts--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"

Configuratie controleren

U kunt controleren of de configuratie correct is toegepast of controleren welke configuratie momenteel wordt 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 om te zien of er updates in behandeling zijn. Werk --subscription bij als de id voor het abonnement dat de VM bevat.

Als er geen updates zijn, retourneert de opdracht een foutbericht, dat de tekst bevat: Resource not found...StatusCode: 404.

Als er updates zijn, wordt er slechts één geretourneerd, 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} \
   --resourcegroup myMaintenanceRg \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --output table

Toegewezen host

Controleren 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} \
   --resourcegroup 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 om in behandeling zijnde updates toe te passen. Als dit lukt, retourneert deze opdracht JSON met de details van de update. Het kan tot 2 uur duren voordat het toepassen van update-aanroepen is 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

Update toepassen op een schaalset

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute

De status van het toepassen van updates controleren

U kunt de voortgang van de updates controleren met behulp van az maintenance applyupdate get.

U kunt gebruiken default als de naam van de update om resultaten voor de laatste update te bekijken of vervangen door myUpdateName de naam van de update die is geretourneerd toen u uitvoerde 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, 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 onderhoudsbeheer, 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

Gebruik az maintenance configuration delete om een onderhoudsconfiguratie te verwijderen. Als u de configuratie verwijdert, wordt het onderhoudsbeheer van de gekoppelde resources verwijderd.

az maintenance configuration delete \
   --subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
   -resource-group myResourceGroup \
   --resource-name myConfig

Volgende stappen

Zie Onderhoud en updates voor meer informatie.