Kontrollera uppdateringar med underhållskonfigurationer och Azure CLI
Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar
Du kan använda funktionen Underhållskonfigurationer för att styra när plattformsuppdateringar ska tillämpas på olika Azure-resurser. Den här artikeln beskriver Azure CLI-alternativen för att använda den här funktionen. Mer information om fördelarna med att använda underhållskonfigurationer, dess begränsningar och andra hanteringsalternativ finns i Hantera plattformsuppdateringar med underhållskonfigurationer.
Viktigt!
Specifika omfång stöder vissa datortyper och scheman. Se till att välja rätt omfång för den virtuella datorn (VM).
Skapa en underhållskonfiguration
Det första steget när du skapar en underhållskonfiguration är att skapa en resursgrupp som en container för din konfiguration. I det här exemplet skapas en resursgrupp med namnet myMaintenanceRG i eastus. Om du redan har en resursgrupp som du vill använda kan du hoppa över den här delen och ersätta resursgruppens namn med ditt eget i resten av exemplen.
az group create \
--location eastus \
--name myMaintenanceRG
När du har skapat resursgruppen använder az maintenance configuration create
du för att skapa en underhållskonfiguration.
Host
Det här exemplet skapar en underhållskonfiguration med namnet myConfig som är begränsad till värddatorer, med ett schemalagt fönster på 5 timmar den fjärde måndagen i varje månad:
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"
Genom att använda --maintenance-scope host
ser du till att underhållskonfigurationen används för att kontrollera uppdateringar av värdinfrastrukturen. Om du försöker skapa en konfiguration med samma namn men på en annan plats får du ett fel. Konfigurationsnamn måste vara unika för resursgruppen.
Om du vill kontrollera om du har skapat underhållskonfigurationen kan du fråga efter tillgängliga underhållskonfigurationer med hjälp az maintenance configuration list
av :
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Du kan uttrycka återkommande underhåll som dagligen, varje vecka eller varje månad. Nedan följer några exempel:
- Dagligen: Ett
maintenance-window-recur-every
värde av"Day"
eller"3Days"
. - Varje vecka: Värdet
maintenance-window-recur-every
"3Weeks"
eller"Week Saturday,Sunday"
. - Månatlig: Ett
maintenance-window-recur-every
värde av"Month day23,day24"
eller"Month Last Sunday"
Month Fourth Monday
.
Skalningsuppsättningar för virtuella datorer
Det här exemplet skapar en underhållskonfiguration med namnet myConfig med os-avbildningsomfånget för vm-skalningsuppsättningar, med ett schemalagt fönster på 5 timmar den fjärde måndagen i varje månad:
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"
Virtuella gästdatorer
Det här exemplet skapar en underhållskonfiguration med namnet myConfig som är begränsad till gästdatorer (virtuella datorer och Azure Arc-aktiverade servrar), med ett schemalagt fönster på 2 timmar var 20:e dag. Läs mer om underhållskonfigurationer på virtuella gästdatorer.
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"
Tilldela konfigurationen
Använd az maintenance assignment create
för att tilldela konfigurationen till datorn.
Isolerad virtuell dator
Använd konfigurationen på en isolerad virtuell värddator med hjälp av konfigurationens ID. Ange --resource-type virtualMachines
. Ange namnet på den virtuella datorn för --resource-name
, den virtuella datorns resursgrupp för och platsen för --resource-group
den virtuella datorn för --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"
Dedikerad värd
Om du vill tillämpa en konfiguration på en dedikerad värd måste du inkludera --resource-type hosts
, --resource-parent-name
med namnet på värdgruppen och --resource-parent-type hostGroups
.
Parametern --resource-id
är värdens ID. Du kan använda az-vm-host-get-instance-view för att hämta ID:t för din dedikerade värd.
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
Skalningsuppsättningar för virtuella datorer
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"
Virtuella gästdatorer
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"
Kontrollera konfigurationen
Du kan kontrollera att konfigurationen har tillämpats korrekt eller kontrollera vilken konfiguration som för närvarande tillämpas med hjälp az maintenance assignment list
av .
Isolerad virtuell dator
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Dedikerad värd
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
Skalningsuppsättningar för virtuella datorer
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Virtuella gästdatorer
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Sök efter väntande uppdateringar
Använd az maintenance update list
för att se om det finns väntande uppdateringar. Uppdatera --subscription
till ID för prenumerationen som innehåller den virtuella datorn.
Om det inte finns några uppdateringar returnerar kommandot ett felmeddelande som innehåller texten Resource not found...StatusCode: 404
.
Om det finns uppdateringar returnerar kommandot bara en, även om flera uppdateringar väntar. Data för den här uppdateringen returneras i ett objekt:
[
{
"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"
}
]
Isolerad virtuell dator
Sök efter väntande uppdateringar för en isolerad virtuell dator. I det här exemplet formateras utdata som en tabell för läsbarhet:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Dedikerad värd
Sök efter väntande uppdateringar för en dedikerad värd. I det här exemplet formateras utdata som en tabell för läsbarhet. Ersätt värdena för resurserna med dina egna.
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
Tillämpa uppdateringar
Använd az maintenance apply update
för att tillämpa väntande uppdateringar. Vid lyckat resultat returnerar det här kommandot JSON som innehåller information om uppdateringen. Anrop för att tillämpa uppdateringar kan ta upp till 2 timmar att slutföra.
Isolerad virtuell dator
Skapa en begäran om att tillämpa uppdateringar på en isolerad virtuell dator:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Dedikerad värd
Tillämpa uppdateringar på en dedikerad värd:
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
Skalningsuppsättningar för virtuella datorer
Tillämpa uppdateringar på en skalningsuppsättning:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Kontrollera statusen för att tillämpa uppdateringar
Du kan kontrollera förloppet för uppdateringarna med hjälp az maintenance applyupdate get
av .
Om du vill se resultat för den senaste uppdateringen använder du default
som uppdateringsnamn. Eller ersätt myUpdateName
med namnet på uppdateringen som returnerades när du körde 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
är den tid då uppdateringen slutfördes, oavsett om du initierade uppdateringen eller plattformen initierade den eftersom du inte använde självunderhållsfönstret. Om en uppdatering aldrig tillämpades via underhållskonfigurationer visar LastUpdateTime
standardvärdet.
Isolerad virtuell dator
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
Dedikerad värd
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
Skalningsuppsättningar för virtuella datorer
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
Ta bort en underhållskonfiguration
Om du vill ta bort en underhållskonfiguration använder du az maintenance configuration delete
. Om du tar bort konfigurationen tas underhållskontrollen bort från de associerade resurserna.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Nästa steg
Mer information finns i Underhåll för virtuella datorer i Azure.