Delen via


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-groupen 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 hostsu , --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: 404bevat.

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.