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, occorre attendere 24 ore prima che le modifiche siano effettive. Quando si passa da un canale a un altro, viene 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. A partire dall'API versione 2023-06-01, l'impostazione predefinita per qualsiasi nuovo cluster creato è NodeImage
.
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 le patch di sicurezza, quindi questa opzione si comporta in modo equivalente a None . È necessario gestire il processo di riavvio usando uno strumento come kured. |
SecurityPatch |
Patch di sicurezza del sistema operativo, testate per il servizio Azure Kubernetes, completamente gestite e applicate con procedure di distribuzione sicure. 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. Tuttavia, il servizio Azure Kubernetes limita le interruzioni solo ricreando l'immagini dei nodi solo quando necessario, ad esempio per determinati pacchetti di sicurezza del kernel. 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. Se il servizio Azure Kubernetes decide che il reimaging dei nodi non è necessario, applica patch ai nodi in tempo reale senza svuotare i pod e non esegue alcun aggiornamento del disco rigido virtuale. 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 di Kubernetes 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. Le immagini dei nodi sono testate per il servizio Azure Kubernetes, completamente gestite e applicate con procedure di distribuzione sicure |
Impostare il canale di aggiornamento automatico del sistema operativo del nodo per un nuovo cluster
Impostare il canale di aggiornamento automatico del sistema operativo del nodo per un nuovo cluster usando il comando
az aks create
con il parametro--node-os-upgrade-channel
. Nell'esempio seguente il canale di aggiornamento automatico del sistema operativo del nodo viene impostato suSecurityPatch
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-os-upgrade-channel SecurityPatch \ --generate-ssh-keys
Impostare il canale di aggiornamento automatico del sistema operativo del nodo per un cluster esistente
Impostare il canale di aggiornamento automatico del sistema operativo del nodo per un cluster esistente usando il comando
az aks update
con il parametro--node-os-upgrade-channel
. Nell'esempio seguente il canale di aggiornamento automatico del sistema operativo del nodo viene impostato suSecurityPatch
.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 Maggiore sicurezza e resilienza dei carichi di lavoro Canonical in Azure. | Settimanale. |
NodeImage |
Servizio Azure Kubernetes testato, completamente gestito e applicato con procedure di distribuzione sicure. Per informazioni in tempo reale sulle versioni, cercare le immagini dei nodi del servizio Azure Kubernetes nello strumento di rilevamento delle versioni del 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 per i nodi Windows.
Limitazioni note del canale del nodo
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 suNodeImage
. 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 sianode-image
.Il canale
SecurityPatch
non è supportato nei pool di nodi del sistema operativo Windows.
Nota
Usare l'interfaccia della riga di comando versione 2.61.0 o successiva per il canale SecurityPatch
.
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.
SecurityPatch
comporta sempre una ricreazione dell'immagine dei nodi?
Il servizio Azure Kubernetes limita la ricreazione delle immagini solo quando è assolutamente necessario, come nel caso di alcuni pacchetti kernel che potrebbero richiedere la ricreazione dell'immagine per essere completamente applicati. SecurityPatch
è progettato per ridurre al minimo le interruzioni possibili. Se il servizio Azure Kubernetes decide che ricreare le immagini dei nodi non è necessario, applicherà le patch ai nodi in tempo reale senza svuotare i pod e in questi casi non viene eseguito alcun aggiornamento del disco rigido virtuale.
Perché il SecurityPatch
canale richiede di raggiungere snapshot.ubuntu.com
l'endpoint?
Con il SecurityPatch
canale, i nodi del cluster Linux devono scaricare le patch di sicurezza e gli aggiornamenti necessari dal servizio snapshot ubuntu descritto in ubuntu-snapshots-on-azure-ensuring-predictability-and-consistency-in-cloud-deployments.
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:
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.
Azure Kubernetes Service