Automatizzare gli aggiornamenti di Kubernetes e delle immagini dei nodi in più cluster usando Azure Kubernetes Fleet Manager (anteprima)
Gli amministratori della piattaforma che gestiscono un numero elevato di cluster spesso presentano problemi con la gestione temporanea degli aggiornamenti di più cluster (ad esempio, l'aggiornamento dell'immagine del sistema operativo del nodo o le versioni di Kubernetes) in modo sicuro e prevedibile. Per risolvere questa sfida, Azure Kubernetes Fleet Manager (Fleet) consente di orchestrare gli aggiornamenti in più cluster usando le esecuzioni degli aggiornamenti.
Le esecuzioni degli aggiornamenti sono costituite da fasi, gruppi e strategie e possono essere applicate manualmente, per gli aggiornamenti occasionali o automaticamente, per gli aggiornamenti regolari continui usando profili di aggiornamento automatico. Tutte le esecuzioni di aggiornamento (manuale o automatizzato) rispettano le finestre di manutenzione del cluster membro.
Questo articolo illustra come usare i profili di aggiornamento automatico per attivare automaticamente le esecuzioni degli aggiornamenti quando vengono rese disponibili nuove versioni delle immagini del nodo o Kubernetes.
Importante
Le funzionalità di anteprima di Gestione flotta Kubernetes di Azure sono disponibili in modalità self-service e acconsentono esplicitamente. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime di Gestione flotta Kubernetes di Azure sono parzialmente coperte dal supporto clienti in base al massimo impegno. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione.
Prerequisiti
Leggere la panoramica concettuale dei profili di aggiornamento automatico, che fornisce una spiegazione delle configurazioni a cui si fa riferimento in questa guida.
È necessario disporre di una risorsa Fleet con uno o più cluster membri. In caso contrario, seguire l’avvio rapido per creare una risorsa Flotta e aggiungere cluster del servizio Azure Kubernetes come membri.
Se si vuole usare una strategia di aggiornamento, è necessario configurare una strategia usando le istruzioni riportate nell'articolo relativo all'esecuzione dell'aggiornamento. È necessario l'identificatore della risorsa strategia di aggiornamento da usare con un profilo di aggiornamento automatico.
Impostare le seguenti variabili di ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<aks-cluster-name>
È necessaria l'interfaccia della riga di comando di Azure versione 2.61.0 o successiva installata. Per eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
È necessaria anche l'estensione dell'interfaccia della
fleet
riga di comando di Azure versione 1.3.0 o successiva, che è possibile installare eseguendo il comando seguente:az extension add --name fleet
Per eseguire l'aggiornamento alla versione più recente dell'estensione rilasciata eseguire il comando seguente:
az extension update --name fleet
Nota
Le esecuzioni degli aggiornamenti attivati dall'aggiornamento automatico rispettano le finestre di manutenzione pianificata impostate a livello di cluster del servizio Azure Kubernetes. Per ulteriori informazioni su come le esecuzioni degli aggiornamenti gestiscono i cluster membri configurati con finestre di manutenzione pianificata, vedere Manutenzione pianificata in più cluster membri.
Creare profili di aggiornamento automatico
Nella portale di Azure passare alla risorsa Di Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni, selezionare Multi-cluster update Auto-upgrade>profiles (Aggiornamento automatico profili di aggiornamento automatico multi-cluster).
Selezionare Crea, immettere un nome per il profilo e quindi selezionare se il profilo è Abilitato o meno. I profili di aggiornamento automatico disabilitati non vengono attivati quando vengono rilasciate nuove versioni.
Selezionare la sequenza di aggiornamento delle fasi o una alla sola.
Selezionare una delle opzioni seguenti per il canale:
- Stabile : aggiornare i cluster con patch per la versione secondaria disponibile a livello generale di N-1 Kubernetes.
- Rapido : aggiornare i cluster con patch per la versione secondaria più recente (N) di Kubernetes disponibile a livello generale.
- Immagine del nodo: aggiorna solo la versione dell'immagine del nodo.
Se si seleziona il canale Stable o Rapid , è possibile scegliere come vengono applicati gli aggiornamenti delle immagini del nodo:
- Immagine più recente: aggiorna ogni cluster del servizio Azure Kubernetes nel profilo di aggiornamento automatico all'immagine più recente disponibile per tale cluster nell'area di Azure.
- Immagine coerente: è possibile che un aggiornamento automatico disponga di cluster del servizio Azure Kubernetes in più aree di Azure in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). Se si seleziona questa opzione, l'aggiornamento automatico seleziona l'immagine comune più recente in tutte le aree di Azure per ottenere coerenza.
Nota
Il canale immagine Node usa sempre un'immagine coerente.
Se è stata selezionata una sequenza di aggiornamento usando fasi, selezionare o creare una strategia.
Selezionare Crea per creare il profilo di aggiornamento automatico.
Visualizzare il profilo di aggiornamento automatico
Nella portale di Azure passare alla risorsa Di Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni, selezionare Multi-cluster update Auto-upgrade>profiles (Aggiornamento automatico profili di aggiornamento automatico multi-cluster).
Selezionare il profilo di aggiornamento automatico desiderato per visualizzarne la configurazione.
Eliminare il profilo di aggiornamento automatico
Nella portale di Azure passare alla risorsa Di Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni, selezionare Multi-cluster update Auto-upgrade>profiles (Aggiornamento automatico profili di aggiornamento automatico multi-cluster).
Selezionare il profilo desiderato nell'elenco e quindi selezionare Elimina per eliminare il profilo.
Nota
L'eliminazione di un profilo di aggiornamento automatico per un'esecuzione di aggiornamento in corso non influirà sull'esecuzione dell'aggiornamento esistente che continuerà.
Convalidare l'aggiornamento automatico
Gli aggiornamenti automatici vengono eseguiti solo quando vengono rese disponibili nuove immagini di nodi o Kubernetes. Quando viene attivato l'aggiornamento automatico, viene creata un'esecuzione di aggiornamento collegato, quindi è possibile usare l'esecuzione dell'aggiornamento gestito per visualizzare i risultati dell'aggiornamento automatico.
È anche possibile controllare le versioni esistenti come baseline come indicato di seguito.
# Get Kubernetes version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"
Al termine dell'esecuzione dell'aggiornamento, è possibile rieseguire questi comandi e visualizzare le versioni aggiornate distribuite.
Azure Kubernetes Service