Aggiornare automaticamente un cluster del servizio Azure Kubernetes

Parte del ciclo di vita del cluster del servizio Azure Kubernetes prevede l'esecuzione di aggiornamenti periodici alla versione più recente di Kubernetes. È importante applicare gli ultimi aggiornamenti della sicurezza o eseguire l'aggiornamento per ottenere le funzionalità più recenti. Prima di apprendere l'aggiornamento automatico, assicurarsi di comprendere le nozioni fondamentali sull'aggiornamento del cluster del servizio Azure Kubernetes.

Nota

Qualsiasi operazione di aggiornamento, eseguita manualmente o automaticamente, aggiorna la versione dell'immagine del nodo se non è già presente nella versione più recente. La versione più recente dipende da una versione completa del servizio Azure Kubernetes e può essere determinata visitando lo strumento di rilevamento delle versioni del servizio Azure Kubernetes.

L'aggiornamento automatico aggiorna prima di tutto il piano di controllo, quindi aggiorna i pool di agenti uno alla volta.

Perché usare l'aggiornamento automatico del cluster

L'aggiornamento automatico del cluster offre un meccanismo di "imposta una volta, poi dimenticatene" che offre vantaggi tangibili in termini di tempo e costi operativi. Non è necessario arrestare i carichi di lavoro, ridistribuire i carichi di lavoro o creare un nuovo cluster del servizio Azure Kubernetes. Abilitando l'aggiornamento automatico, è possibile assicurarsi che i cluster siano aggiornati e non perdere le funzionalità o le patch più recenti dal servizio Azure Kubernetes e da Kubernetes upstream.

Il servizio Azure Kubernetes segue una finestra di controllo delle versioni di supporto rigorosa. Con i canali di aggiornamento automatico selezionati correttamente, è possibile evitare che i cluster cadano in una versione non supportata. Per altre informazioni sulla finestra di supporto del servizio Azure Kubernetes, vedere Versioni secondarie degli alias.

Aggiornamenti automatici avviati dal cliente e dal servizio Azure Kubernetes

È possibile specificare le specifiche per l'aggiornamento automatico del cluster usando le indicazioni seguenti. Gli aggiornamenti vengono eseguiti in base alla cadenza specificata e sono consigliati per rimanere nelle versioni di Kubernetes supportate.

Il servizio Azure Kubernetes avvia anche gli aggiornamenti automatici per i cluster non supportati. Quando un cluster in una versione n-3 (dove n è la versione secondaria più recente della disponibilità generale del servizio Azure Kubernetes) sta per passare a n-4, il servizio Azure Kubernetes aggiorna automaticamente il cluster a n-2 per rimanere in un criterio di supporto del servizio Azure Kubernetes. L'aggiornamento automatico di un cluster supportato dalla piattaforma a una versione supportata è abilitato per impostazione predefinita. I pool di nodi arrestati vengono aggiornati durante un'operazione di aggiornamento automatico. L'aggiornamento si applica ai nodi all'avvio del pool di nodi. Per ridurre al minimo le interruzioni, configurare le finestre di manutenzione.

Limitazioni per l'aggiornamento automatico del cluster

Se si usa l'aggiornamento automatico del cluster, non è più possibile aggiornare prima il piano di controllo e quindi aggiornare i singoli pool di nodi. L'aggiornamento automatico del cluster aggiorna sempre il piano di controllo e i pool di nodi insieme. Non è possibile aggiornare solo il piano di controllo. L'esecuzione del comando az aks upgrade --control-plane-only genera l'errore seguente: NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.

Se si usa il node-image canale di aggiornamento automatico del cluster (legacy e non da utilizzare) o il NodeImage canale di aggiornamento automatico dell'immagine del nodo, gli aggiornamenti senza intervento dell'utente di Linux verranno disabilitati per impostazione predefinita.

Canali di aggiornamento automatico del cluster

Gli aggiornamenti completati automaticamente sono gli stessi degli aggiornamenti manuali. Il canale di aggiornamento automatico selezionato determina la tempistica degli aggiornamenti. Quando si apportano modifiche all'aggiornamento automatico, attendere 24 ore per rendere effettive le modifiche. L'aggiornamento automatico di un cluster segue lo stesso processo dell'aggiornamento manuale di un cluster. Per altre informazioni, vedere Aggiornare un cluster del servizio Azure Kubernetes.

Sono disponibili i canali di aggiornamento seguenti:

Canale Azione Esempio
none disabilita gli aggiornamenti automatici e mantiene il cluster nella versione corrente di Kubernetes. Impostazione predefinita se lasciata invariata.
patch aggiorna automaticamente il cluster alla versione della patch supportata più recente quando diventa disponibile mantenendo la stessa versione secondaria. Ad esempio, se un cluster esegue la versione 1.17.7 e le versioni 1.17.9, 1.18.4, 1.18.6 e 1.19.1 sono disponibili, il cluster viene aggiornato alla versione 1.17.9 .
stable aggiorna automaticamente il cluster alla versione patch supportata più recente nella versione secondaria N-1, dove N è la versione secondaria supportata più recente. Ad esempio, se un cluster esegue la versione 1.17.7 e le versioni 1.17.9, 1.18.4, 1.18.6 e 1.19.1 sono disponibili, il cluster viene aggiornato alla versione 1.18.6 .
rapid aggiorna automaticamente il cluster alla versione patch supportata più recente nella versione secondaria supportata più recente. Nei casi in cui la versione di Kubernetes del cluster è una versione secondaria N-2, dove N è la versione secondaria supportata più recente, il cluster esegue prima l'aggiornamento alla versione della patch supportata più recente nella versione secondaria N-1. Ad esempio, se un cluster esegue la versione 1.17.7 e le versioni 1.17.9, 1.18.4, 1.18.6 e 1.19.1 sono disponibili, prima di tutto il cluster viene aggiornato alla versione 1.18.6 , quindi viene aggiornato a 1.19.1.
node-image(legacy) aggiorna automaticamente l'immagine del nodo alla versione più recente disponibile. Microsoft fornisce frequentemente patch e nuove immagini per i nodi immagine (in genere settimanalmente), ma i nodi in esecuzione non ottengono le nuove immagini a meno che non si esegua un aggiornamento dell'immagine del nodo. L'attivazione del canale node-image aggiorna automaticamente le immagini del nodo ogni volta che è disponibile una nuova versione. Se si usa questo canale, gli [aggiornamenti automatici] di Linux vengono disabilitati per impostazione predefinita. Gli aggiornamenti delle immagini del nodo funzionano sulle versioni patch deprecate, purché la versione secondaria di Kubernetes sia ancora supportata. Questo canale non è più consigliato ed è pianificato per la deprecazione in futuro. Per un'opzione in grado di aggiornare automaticamente le immagini dei nodi, vedere il canale NodeImage nell'aggiornamento automatico dell'immagine del nodo.

Nota

Quando si usa l'aggiornamento automatico del cluster, tenere presenti le informazioni seguenti:

  • L'aggiornamento automatico del cluster viene aggiornato solo alle versioni di disponibilità generale di Kubernetes e non viene aggiornato alle versioni di anteprima.

  • Con il servizio Azure Kubernetes è possibile creare un cluster senza specificare la versione patch esatta. Quando si crea un cluster senza designare una patch, il cluster esegue la patch di disponibilità generale più recente della versione secondaria. Per altre informazioni, vedere finestra di supporto del servizio Azure Kubernetes.

  • L'aggiornamento automatico richiede che la versione Kubernetes del cluster sia inclusa nella finestra di supporto del servizio Azure Kubernetes, anche se si usa il canale node-image.

  • Se si usa l'API 11-02-preview di anteprima o versioni successive e si seleziona il canale di aggiornamento automatico del cluster node-image, il canale di aggiornamento automatico dell'immagine del nodo viene impostato automaticamente su NodeImage.

  • Ogni cluster può essere associato a un solo canale di aggiornamento automatico. Ciò è dovuto al fatto che il canale specificato determina la versione di Kubernetes eseguita nel cluster.

  • Se il cluster non ha un canale di aggiornamento automatico e lo si abilita per LTS (supporto a lungo termine), per impostazione predefinita verrà impostato su un patch canale di aggiornamento automatico.

Usare l'aggiornamento automatico del cluster con un nuovo cluster del servizio Azure Kubernetes

  • Impostare il canale di aggiornamento automatico durante la creazione di un nuovo cluster usando il comando az aks create e il parametro auto-upgrade-channel.

    az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys
    

Usare l'aggiornamento automatico del cluster con un cluster del servizio Azure Kubernetes esistente

  • Impostare il canale di aggiornamento automatico su un cluster esistente usando il comando az aks update con il parametro auto-upgrade-channel.

    az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
    

Usare l'aggiornamento automatico con la manutenzione pianificata

Se si usa la manutenzione pianificata e l'aggiornamento automatico del cluster, l'aggiornamento viene avviato durante la finestra di manutenzione specificata.

Nota

Per garantire una funzionalità appropriata, usare una finestra di manutenzione di quattro ore o più.

Per altre informazioni su come impostare una finestra di manutenzione con la manutenzione pianificata, vedere Usare la manutenzione pianificata per pianificare le finestre di manutenzione per il cluster del servizio Azure Kubernetes.

Procedure consigliate per l'aggiornamento automatico del cluster

Usare le procedure consigliate seguenti per ottimizzare la riuscita dell'aggiornamento automatico:

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.