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 suSecurityPatch
.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 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 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-preview
0.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 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
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 canaleUnmanaged
?
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
oNodeImage
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.