Controllare gli aggiornamenti con le configurazioni di manutenzione e l'interfaccia della riga di comando di Azure
Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili ✔️ set di scalabilità uniformi
È possibile usare la funzionalità Configurazioni di manutenzione per controllare quando applicare gli aggiornamenti della piattaforma a varie risorse di Azure. Questo articolo illustra le opzioni dell'interfaccia della riga di comando di Azure per l'uso di questa funzionalità. Per altre informazioni sui vantaggi dell'uso delle configurazioni di manutenzione, delle relative limitazioni e di altre opzioni di gestione, vedere Gestione degli aggiornamenti della piattaforma con configurazioni di manutenzione.
Importante
Gli ambiti specifici supportano determinati tipi di computer e pianificazioni. Assicurarsi di selezionare l'ambito corretto per la macchina virtuale.Be sure to select the right scope for your virtual machine (VM).
Creare una configurazione della manutenzione
Il primo passaggio per la creazione di una configurazione di manutenzione consiste nel creare un gruppo di risorse come contenitore per la configurazione. Questo esempio crea un gruppo di risorse denominato myMaintenanceRG in eastus. Se si ha già un gruppo di risorse che si vuole usare, è possibile ignorare questa parte e sostituire il nome del gruppo di risorse con il proprio nel resto degli esempi.
az group create \
--location eastus \
--name myMaintenanceRG
Dopo aver creato il gruppo di risorse, usare az maintenance configuration create
per creare una configurazione di manutenzione.
Host
Questo esempio crea una configurazione di manutenzione denominata myConfig con ambito computer host, con una finestra pianificata di 5 ore il quarto lunedì di ogni mese:
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"
L'uso di --maintenance-scope host
assicura che la configurazione di manutenzione venga usata per controllare gli aggiornamenti all'infrastruttura host. Se si tenta di creare una configurazione con lo stesso nome ma in un percorso diverso, verrà visualizzato un errore. I nomi di configurazione devono essere univoci per il gruppo di risorse.
Per verificare se la configurazione di manutenzione è stata creata correttamente, è possibile eseguire una query per le configurazioni di manutenzione disponibili usando az maintenance configuration list
:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
È possibile esprimere la ricorrenza della manutenzione come giornaliera, settimanale o mensile. Di seguito sono riportati alcuni esempi.
- Giornaliero:
maintenance-window-recur-every
valore di"Day"
o"3Days"
. - Settimanale:
maintenance-window-recur-every
valore di"3Weeks"
o"Week Saturday,Sunday"
. - Mensile:
maintenance-window-recur-every
valore o"Month day23,day24"
"Month Last Sunday"
.Month Fourth Monday
Set di scalabilità di macchine virtuali
Questo esempio crea una configurazione di manutenzione denominata myConfig con ambito immagine del sistema operativo per i set di scalabilità di macchine virtuali, con una finestra pianificata di 5 ore il quarto lunedì di ogni mese:
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"
VM guest
Questo esempio crea una configurazione di manutenzione denominata myConfig con ambito per i computer guest (macchine virtuali e server abilitati per Azure Arc), con una finestra pianificata di 2 ore ogni 20 giorni. Altre informazioni sulle configurazioni di manutenzione nelle macchine virtuali guest.
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"
Assegnare la configurazione
Usare az maintenance assignment create
per assegnare la configurazione al computer.
Macchina virtuale isolata
Applicare la configurazione a una macchina virtuale host isolata usando l'ID della configurazione. Specificare --resource-type virtualMachines
. Specificare il nome della macchina virtuale per --resource-name
, il gruppo di risorse della macchina virtuale per --resource-group
e il percorso della macchina virtuale per --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"
Host dedicato
Per applicare una configurazione a un host dedicato, è necessario includere --resource-type hosts
, --resource-parent-name
con il nome del gruppo host e --resource-parent-type hostGroups
.
Il parametro --resource-id
è l'ID dell'host. È possibile usare az-vm-host-get-instance-view per ottenere l'ID dell'host dedicato.
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
Set di scalabilità di macchine virtuali
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"
VM guest
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"
Controllare la configurazione
È possibile verificare che la configurazione sia stata applicata correttamente oppure verificare quale configurazione è attualmente applicata tramite az maintenance assignment list
.
Macchina virtuale isolata
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Host dedicato
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
Set di scalabilità di macchine virtuali
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
VM guest
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Verificare la presenza di aggiornamenti in sospeso
Usare az maintenance update list
per verificare se sono presenti aggiornamenti in sospeso. Aggiornare --subscription
in modo che sia l'ID della sottoscrizione che contiene la macchina virtuale.
Se non sono presenti aggiornamenti, il comando restituisce un messaggio di errore contenente il testo Resource not found...StatusCode: 404
.
Se sono presenti aggiornamenti, il comando restituisce solo uno, anche se sono in sospeso più aggiornamenti. I dati per questo aggiornamento vengono restituiti in un oggetto :
[
{
"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"
}
]
Macchina virtuale isolata
Verificare la presenza di aggiornamenti in sospeso per una macchina virtuale isolata. In questo esempio l'output viene formattato come tabella per la leggibilità:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Host dedicato
Verificare la presenza di aggiornamenti in sospeso per un host dedicato. In questo esempio l'output viene formattato come tabella per la leggibilità. Sostituire i valori per le risorse con i propri.
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
Applica aggiornamenti
Usare az maintenance apply update
per applicare gli aggiornamenti in sospeso. In caso di esito positivo, questo comando restituisce JSON che contiene i dettagli dell'aggiornamento. Il completamento delle chiamate per l'applicazione degli aggiornamenti può richiedere fino a 2 ore.
Macchina virtuale isolata
Creare una richiesta per applicare gli aggiornamenti a una macchina virtuale isolata:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Host dedicato
Applicare gli aggiornamenti a un host dedicato:
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
Set di scalabilità di macchine virtuali
Applicare gli aggiornamenti a un set di scalabilità:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Controllare lo stato dell'applicazione degli aggiornamenti
È possibile controllare lo stato degli aggiornamenti usando az maintenance applyupdate get
.
Per visualizzare i risultati dell'ultimo aggiornamento, usare default
come nome di aggiornamento. In alternativa, sostituire myUpdateName
con il nome dell'aggiornamento restituito durante l'esecuzione di 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
è l'ora in cui l'aggiornamento è terminato, indipendentemente dal fatto che sia stato avviato dall'aggiornamento o dalla piattaforma perché non è stata usata la finestra di manutenzione automatica. Se un aggiornamento non è mai stato applicato tramite configurazioni di manutenzione, LastUpdateTime
mostra il valore predefinito.
Macchina virtuale isolata
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
Host dedicato
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
Set di scalabilità di macchine virtuali
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
Eliminare una configurazione della manutenzione
Per eliminare una configurazione di manutenzione, usare az maintenance configuration delete
. L'eliminazione della configurazione rimuove il controllo di manutenzione dalle risorse associate.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Passaggi successivi
Per altre informazioni, vedere Manutenzione per le macchine virtuali in Azure.