Opzioni di aggiornamento per i cluster del servizio Azure Kubernetes (AKS)

Questo articolo illustra le diverse opzioni di aggiornamento per i cluster del servizio Azure Kubernetes. Per eseguire un aggiornamento della versione Kubernetes di base, vedere Aggiornare un cluster del servizio Azure Kubernetes.

Per i cluster del servizio Azure Kubernetes che usano più pool di nodi o nodi di Windows Server, vedere Aggiornare un pool di nodi nel servizio Azure Kubernetes. Per aggiornare un pool di nodi specifico senza eseguire un aggiornamento del cluster Kubernetes, vedere Aggiornare un pool di nodi specifico.

Eseguire aggiornamenti manuali

È possibile eseguire aggiornamenti manuali per controllare quando il cluster viene aggiornato a una nuova versione di Kubernetes. Gli aggiornamenti manuali sono utili quando si vuole testare una nuova versione di Kubernetes prima di aggiornare il cluster di produzione. È possibile usare gli aggiornamenti manuali anche per aggiornare il cluster a una versione specifica di Kubernetes che non è la versione più recente disponibile.

Per eseguire gli aggiornamenti manuali, vedere gli articoli seguenti:

Configurare gli aggiornamenti automatici

È possibile configurare gli aggiornamenti automatici per aggiornare automaticamente il cluster alla versione più recente disponibile di Kubernetes. Gli aggiornamenti automatici sono utili quando ci si vuole assicurare che il cluster esegua sempre la versione più recente di Kubernetes. È possibile usare gli aggiornamenti automatici anche per assicurarsi che il cluster esegua sempre una versione di Kubernetes supportata.

Per configurare gli aggiornamenti automatici, vedere gli articoli seguenti:

Considerazioni speciali per i pool di nodi che si estendono su più zone di disponibilità

Il servizio Azure Kubernetes usa il bilanciamento delle zone con massimo sforzo nei gruppi di nodi. Durante un picco di aggiornamento, le zone relative ai nodi di picco nei set di scalabilità di macchine virtuali sono inizialmente sconosciute, il che può temporaneamente causare una configurazione sbilanciata delle zone durante l'aggiornamento. Tuttavia, il servizio Azure Kubernetes elimina i nodi di picco al termine dell'aggiornamento e mantiene il bilanciamento delle zone originale. Se si vuole mantenere bilanciate le zone durante gli aggiornamenti, è possibile aumentare il picco di un numero multiplo di tre nodie i set di scalabilità di macchine virtuali bilanceranno i nodi nelle zone di disponibilità con il bilanciamento delle zone con massimo sforzo. Con il bilanciamento delle zone con massimo sforzo, il set di scalabilità tenta di aumentare e ridurre il numero di macchine virtuali mantenendo il bilanciamento. Tuttavia, se per qualche motivo questo non è possibile (ad esempio se una zona diventa inattiva, impedendo al set di scalabilità di creare una nuova macchina virtuale in tale zona), il set di scalabilità consente uno squilibrio temporaneo per poter aumentare o ridurre il numero di macchine virtuali correttamente.

Le attestazioni di volume persistente (PVC) supportate da dischi di archiviazione con ridondanza locale (LRS) di Azure sono associate a una determinata zona e potrebbero non riuscire a eseguire il ripristino immediato se il nodo di picco non corrisponde alla zona del PVC. Se le zone non corrispondono, possono verificarsi tempi di inattività nell'applicazione quando l'operazione di aggiornamento continua a svuotare i nodi, ma i PVC sono associati a una zona. Per gestire questo caso e mantenere la disponibilità elevata, configurare un budget per l'interruzione dei pod nell'applicazione per consentire a Kubernetes di rispettare i requisiti di disponibilità durante l'operazione di svuotamento.

Ottimizzare gli aggiornamenti per migliorare le prestazioni e ridurre al minimo le interruzioni

La combinazione di Finestra di manutenzione pianificata, Picco massimo, Budget per l'interruzione dei pod, Timeout di svuotamento dei nodie Tempo di attesa dei nodi può aumentare significativamente la probabilità che gli aggiornamenti dei nodi vengano completati correttamente entro la fine della finestra di manutenzione, riducendo al minimo le interruzioni.

  • Finestra di manutenzione pianificata consente ai team del servizio di pianificare l'aggiornamento automatico durante una finestra predefinita, in genere un periodo di traffico ridotto, per ridurre al minimo l'impatto sul carico di lavoro. È consigliabile una finestra della durata di almeno quattro ore.
  • Picco massimo nel pool di nodi consente di richiedere una quota aggiuntiva durante il processo di aggiornamento e limita contemporaneamente il numero di nodi selezionati per l'aggiornamento. Un picco massimo superiore comporta un processo di aggiornamento più rapido. Non è consigliabile impostare il picco massimo su 100%, in quanto tutti i nodi vengono aggiornati contemporaneamente, causando interruzioni nell'esecuzione delle applicazioni. Per i pool di nodi di produzione, è consigliabile una quota di picco massimo di 33%.
  • Budget per l'interruzione dei pod è impostato per le applicazioni di servizio e limita il numero di pod che possono essere disattivati durante interruzioni volontarie, ad esempio gli aggiornamenti dei nodi controllati dal servizio Azure Kubernetes. Può essere configurato come repliche minAvailable, che indica il numero minimo di pod dell'applicazione che devono essere attivi o repliche maxUnavailable, che indica il numero massimo di pod dell'applicazione che possono essere terminati, garantendo la disponibilità elevata per l'applicazione. Fare riferimento alle indicazioni fornite per configurare Budget per l'interruzione dei pod (PDB). I valori PDB devono essere convalidati per determinare le impostazioni che funzionano meglio per il servizio specifico.
  • Timeout di svuotamento dei nodi nel pool di nodi consente di configurare la durata di attesa per la rimozione dei pod e la terminazione normale per ogni nodo durante un aggiornamento. Questa opzione è utile quando si gestiscono carichi di lavoro a esecuzione prolungata. Quando viene specificato il timeout di svuotamento dei nodi (in minuti), il servizio Azure Kubernetes rispetta l'attesa nei budget di interruzione dei pod. Se non specificato, il timeout predefinito è 30 minuti.
  • Tempo di attesa dei nodi consente di scaglionare gli aggiornamenti dei nodi in modo controllato e può ridurre al minimo i tempi di inattività delle applicazioni durante un aggiornamento. È possibile specificare un tempo di attesa, preferibilmente il più vicino possibile a 0 minuti, per verificare la disponibilità dell'applicazione tra gli aggiornamenti dei nodi. Se non è specificato, il valore predefinito è 0 minuti. Tempo di attesa dei nodi funziona insieme alle proprietà Picco massimo e Timeout di svuotamento dei nodi disponibili nel pool di nodi per restituire risultati corretti in termini di velocità di aggiornamento e disponibilità dell'applicazione.

Passaggi successivi

Questo articolo illustra le diverse opzioni di aggiornamento per i cluster del servizio Azure Kubernetes. 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.