Share via


Aggiornamento automatico delle immagini del sistema operativo del nodo

Il servizio Azure Kubernetes offre più canali di aggiornamento automatico dedicati agli aggiornamenti tempestivi della sicurezza del sistema operativo a livello di nodo. Questo canale è diverso dagli aggiornamenti della versione Kubernetes a livello di cluster e li sostituisce.

Interazioni tra l'aggiornamento automatico del sistema operativo del nodo e l'aggiornamento automatico del cluster

Gli aggiornamenti della sicurezza del sistema operativo a livello di nodo vengono rilasciati a una velocità superiore rispetto agli aggiornamenti delle patch di Kubernetes o delle versioni secondarie. Il canale di aggiornamento automatico del sistema operativo del nodo offre flessibilità e abilita una strategia personalizzata per gli aggiornamenti della sicurezza del sistema operativo a livello di nodo. È quindi possibile scegliere un piano separato per gli aggiornamenti automatici della versione Kubernetes a livello di cluster. È consigliabile usare sia gli aggiornamenti automatici a livello di cluster che il canale di aggiornamento automatico del sistema operativo del nodo insieme. La pianificazione può essere ottimizzata applicando due set separati di finestre di manutenzione - aksManagedAutoUpgradeSchedule per il canale di aggiornamento automatico del cluster e aksManagedNodeOSUpgradeSchedule per il canale di aggiornamento automatico del sistema operativo del nodo.

Canali per gli aggiornamenti delle immagini del sistema operativo del nodo

Il canale selezionato determina la tempistica degli aggiornamenti. Quando si apportano modifiche ai canali di aggiornamento automatico del sistema operativo del nodo, attendere 24 ore per rendere effettive le modifiche. Quando si passa da un canale a un altro, verrà attivata una ricreazione dell'immagine che porta ai nodi in sequenza.

Nota

L'aggiornamento automatico dell'immagine del sistema operativo del nodo non influisce sulla versione Kubernetes del cluster. Funziona solo per un cluster in una versione supportata.

Sono disponibili i canali di aggiornamento seguenti. È possibile scegliere solo una di queste opzioni:

Canale Descrizione Comportamento specifico del sistema operativo
None Ai nodi non vengono applicati automaticamente gli aggiornamenti della sicurezza. Ciò significa che l'utente è l'unico responsabile degli aggiornamenti della sicurezza. N/D
Unmanaged Gli aggiornamenti del sistema operativo vengono applicati automaticamente tramite l'infrastruttura di applicazione di patch predefinita del sistema operativo. Ai computer appena allocati non vengono inizialmente applicate le patch. Verranno applicate dall'infrastruttura del sistema operativo in un secondo momento. Ubuntu e Azure Linux (pool di nodi CPU) applicano le patch di sicurezza tramite aggiornamento automatico/dnf-automatic circa una volta al giorno intorno alle 06:00 UTC. Windows non applica automaticamente patch di sicurezza, quindi questa opzione si comporta in modo equivalente a None. Sarà necessario gestire il processo di riavvio usando uno strumento come kured.
SecurityPatch Questo canale è in anteprima e richiede l'abilitazione del flag di funzionalità NodeOsUpgradeChannelPreview. Per informazioni dettagliate, vedere la sezione dei prerequisiti. Il servizio Azure Kubernetes aggiorna regolarmente il disco rigido virtuale (VHD) del nodo con patch dello strumento di manutenzione delle immagini con etichetta "solo sicurezza". Potrebbero verificarsi interruzioni quando vengono applicate le patch di sicurezza ai nodi. Quando vengono applicate le patch, il disco rigido virtuale viene aggiornato e i computer esistenti vengono aggiornati a tale disco rigido virtuale, rispettando le finestre di manutenzione e le impostazioni di picco. Questa opzione comporta il costo aggiuntivo dell'hosting dei dischi rigidi virtuali nel gruppo di risorse del nodo. Se si usa questo canale, gli aggiornamenti automatici di Linux sono disabilitati per impostazione predefinita. Azure Linux non supporta questo canale nelle macchine virtuali abilitate per la GPU. SecurityPatch funziona sulle versioni patch deprecate, purché la versione secondaria di Kubernetes sia ancora supportata.
NodeImage Il servizio Azure Kubernetes aggiorna i nodi con un nuovo disco rigido virtuale con patch contenente correzioni di sicurezza e correzioni di bug a frequenza settimanale. L'aggiornamento al nuovo disco rigido virtuale causa interruzioni, in base alle finestre di manutenzione e le impostazioni di picco. Quando si sceglie questa opzione, non viene addebitato alcun costo aggiuntivo per il disco rigido virtuale. Se si usa questo canale, gli aggiornamenti automatici di Linux vengono disabilitati per impostazione predefinita. Gli aggiornamenti delle immagini del nodo supportano le versioni patch deprecate, purché la versione secondaria di Kubernetes sia ancora supportata.

Impostare il canale di aggiornamento automatico del sistema operativo del nodo in un nuovo cluster

  • Impostare il canale di aggiornamento automatico del sistema operativo del nodo in un nuovo cluster usando il az aks create comando con il --node-os-upgrade-channel parametro . Nell'esempio seguente il canale di aggiornamento automatico del sistema operativo del nodo viene impostato su SecurityPatch.

    az aks create --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

Impostare il canale di aggiornamento automatico del sistema operativo del nodo in un cluster esistente

  • Impostare il canale di aggiornamento automatico del sistema operativo del nodo in un cluster esistente usando il az aks update comando con il --node-os-upgrade-channel parametro . Nell'esempio seguente il canale di aggiornamento automatico del sistema operativo del nodo viene impostato su SecurityPatch.

    az aks update --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

Aggiornare la proprietà e la pianificazione

La frequenza predefinita indica che non è stata applicata alcuna finestra di manutenzione pianificata.

Canale Proprietà degli aggiornamenti Frequenza predefinita
Unmanaged Aggiornamenti della sicurezza basati sul sistema operativo. Il servizio Azure Kubernetes non ha alcun controllo su questi aggiornamenti. Di notte intorno alle 6:00 UTC per Ubuntu e Azure Linux. Mensile per Windows.
SecurityPatch Servizio Azure Kubernetes testato, completamente gestito e applicato con procedure di distribuzione sicure. Per altre informazioni, vedere Aumento della sicurezza e della resilienza dei carichi di lavoro Canonical in Azure. Settimanale.
NodeImage Servizio Azure Kubernetes Settimanale.

Nota

Anche se gli aggiornamenti della sicurezza di Windows vengono rilasciati su base mensile, l'uso del canale Unmanaged non applicherà automaticamente questi aggiornamenti ai nodi di Windows. Se si sceglie il canale Unmanaged, è necessario gestire il processo di riavvio usando uno strumento come kured per applicare correttamente le patch di sicurezza.

Requisiti del canale SecurityPatch

Per usare il SecurityPatch canale, il cluster deve supportare questi requisiti:

  • Deve usare la versione 11-02-preview dell'API o versioni successive
  • Se si usa l'interfaccia della riga di comando di Azure, è necessario installare la versione dell'estensione dell'interfaccia della riga di comando aks-preview0.5.166 o successiva
  • Il flag di funzionalità NodeOsUpgradeChannelPreview deve essere abilitato nella sottoscrizione

Registrare NodeOsUpgradeChannelPreview

Registrare il NodeOsUpgradeChannelPreview flag di funzionalità usando il comando registro della funzionalità az, come illustrato nell'esempio seguente:

az feature register --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

Sono necessari alcuni minuti per visualizzare lo stato Registered. Verificare lo stato della registrazione usando il comando az feature show:

az feature show --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

Quando lo stato diventa Registrato, aggiornare la registrazione del provider di risorse Microsoft.ContainerService usando il comando registrare il provider az:

az provider register --namespace Microsoft.ContainerService

Bug noti del canale del nodo

  • Attualmente, quando si imposta il canale di aggiornamento automatico del cluster su node-image, imposta automaticamente anche il canale di aggiornamento automatico del sistema operativo del nodo su NodeImage. Non è possibile modificare il valore del canale di aggiornamento automatico del sistema operativo del nodo se il canale di aggiornamento automatico del cluster è node-image. Per impostare il valore del canale di aggiornamento automatico del sistema operativo del nodo, verificare che il valore del canale di aggiornamento automatico del cluster non sia node-image.

  • Il canale SecurityPatch non è supportato nei pool di nodi del sistema operativo Windows.

Nota

Per impostazione predefinita, qualsiasi nuovo cluster creato con una versione API di 06-01-2023 o versione successiva (incluso 06-02-preview) imposta il valore del canale di aggiornamento automatico del sistema operativo del nodo su NodeImage. Per impostazione predefinita, tutti i cluster esistenti creati con una versione API precedente a 06-01-2023 avranno il valore del canale di aggiornamento automatico del sistema operativo del nodo impostato su None.

Finestre di manutenzione pianificata del sistema operativo del nodo

La manutenzione pianificata per l'aggiornamento automatico del sistema operativo del nodo viene avviata nella finestra di manutenzione specificata.

Nota

Per garantire il corretto funzionamento, usare una finestra di manutenzione di quattro ore o più.

Per altre informazioni sulla manutenzione pianificata, vedere Usare la manutenzione pianificata per pianificare le finestre di manutenzione per il cluster del servizio Azure Kubernetes.

Domande frequenti su aggiornamenti automatici del sistema operativo del nodo

  • Come è possibile controllare il valore nodeOsUpgradeChannel corrente in un cluster?

Eseguire il comando az aks show e controllare "autoUpgradeProfile" per determinare il valore su cui è impostato nodeOsUpgradeChannel:

az aks show --resource-group myResourceGroup --name myAKSCluster --query "autoUpgradeProfile"
  • Come è possibile monitorare lo stato degli aggiornamenti automatici del sistema operativo del nodo?

Per visualizzare lo stato degli aggiornamenti automatici del sistema operativo del nodo, cercare i log attività nel cluster. È anche possibile cercare eventi correlati all'aggiornamento specifici come indicato in Aggiornare un cluster del servizio Azure Kubernetes. Il servizio Azure Kubernetes genera anche eventi di Griglia di eventi correlati all'aggiornamento. Per altre informazioni, vedere Servizio Azure Kubernetes come origine di Griglia di eventi.

  • È possibile modificare il valore del canale di aggiornamento automatico del sistema operativo del nodo se il canale di aggiornamento automatico del cluster è impostato su node-image?

No. Attualmente, quando si imposta il canale di aggiornamento automatico del cluster su node-image, viene impostato automaticamente anche il canale di aggiornamento automatico del sistema operativo del nodo su NodeImage. Non è possibile modificare il valore del canale di aggiornamento automatico del sistema operativo del nodo se il canale di aggiornamento automatico del cluster è node-image. Per poter modificare i valori del canale di aggiornamento automatico del sistema operativo del nodo, verificare che il canale di aggiornamento automatico del cluster non sia node-image.

  • Perché SecurityPatch è consigliato sul canale Unmanaged?

Nel canale Unmanaged, il servizio Azure Kubernetes non ha alcun controllo su come e quando vengono recapitati gli aggiornamenti della sicurezza. Con SecurityPatch, gli aggiornamenti della sicurezza sono completamente testati e seguono procedure di distribuzione sicure. SecurityPatch rispetta anche le finestre di manutenzione. Per altri dettagli, vedere Aumento della sicurezza e della resilienza dei carichi di lavoro Canonical in Azure.

  • Come è possibile sapere se un aggiornamento SecurityPatch o NodeImage viene applicato al nodo?

Eseguire il comando seguente per ottenere le etichette dei nodi:

kubectl get nodes --show-labels

Tra le etichette restituite, dovrebbe essere visualizzata una riga simile all'output seguente:

kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0

In questo caso, la versione dell'immagine del nodo di base è AKSUbuntu-2204gen2containerd. Se applicabile, in genere fa seguito la versione della patch di sicurezza. Nell'esempio precedente si tratta di 202311.07.0.

Gli stessi dettagli vengono cercati anche nel portale di Azure nella visualizzazione etichetta del nodo:

Screenshot della pagina dei nodi per un cluster del servizio Azure Kubernetes nel portale di Azure. L'etichetta per la versione dell'immagine del nodo mostra chiaramente l'immagine del nodo di base e la data della patch di sicurezza applicata più recente.

Passaggi successivi

Per una descrizione dettagliata delle procedure consigliate per l'aggiornamento e altre considerazioni, vedere Linee guida per l'aggiornamento e le patch del servizio Azure Kubernetes.