Aggiornare le immagini kubernetes e dei nodi in più cluster usando Azure Kubernetes Fleet Manager
Articolo
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 in corso tramite profili di aggiornamento automatico. Tutte le esecuzioni di aggiornamento (manuale o automatizzato) rispettano le finestre di manutenzione del cluster membro.
Questa guida illustra come configurare ed eseguire manualmente le esecuzioni degli aggiornamenti.
Prerequisiti
Leggere la panoramica concettuale di questa funzionalità, che fornisce una spiegazione delle strategie di aggiornamento, delle esecuzioni, delle fasi e dei gruppi 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 seguono le istruzioni dell'interfaccia della riga di comando di Azure in questo articolo, è necessaria l'interfaccia della riga di comando di Azure versione 2.58.0 o successiva installata. Per eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
È anche necessaria l'estensione fleet dell'interfaccia della riga di comando di Azure, che è possibile installare eseguendo il comando seguente:
az extension add --name fleet
Eseguire il comando per eseguire l'aggiornamento az extension update alla versione più recente dell'estensione rilasciata:
az extension update --name fleet
Creazione di esecuzioni di aggiornamento
L'esecuzione dell'aggiornamento supporta due opzioni per la sequenza di aggiornamento del cluster:
Uno alla volta: se non è importante controllare la sequenza di aggiornamento del cluster, one-by-one offre un approccio semplice per aggiornare tutti i cluster membri della flotta in sequenza uno alla volta.
Sequenza di controllo dei cluster usando gruppi di aggiornamento e fasi: se si vuole controllare la sequenza di aggiornamento del cluster, è possibile strutturare i cluster membro nei gruppi di aggiornamento e nelle fasi di aggiornamento. È possibile archiviare questa sequenza come modello sotto forma di strategia di aggiornamento. È possibile creare esecuzioni di aggiornamento in un secondo momento usando le strategie di aggiornamento anziché definire la sequenza ogni volta che è necessario creare un'esecuzione di aggiornamento.
Nota
Le esecuzioni di aggiornamento rispettano le finestre di manutenzione pianificate impostate a livello di cluster del servizio Azure Kubernetes. Per altre informazioni, vedere Manutenzione pianificata in più cluster membri, che illustra come l'aggiornamento esegue la gestione dei cluster membri configurati con finestre di manutenzione pianificate.
Nella portale di Azure passare alla risorsa Di Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni selezionare Aggiornamento>multi-cluster Crea un'esecuzione.
Immettere un nome per l'esecuzione dell'aggiornamento e quindi selezionare Uno per uno per il tipo di aggiornamento.
Selezionare una delle opzioni seguenti per l'ambito di aggiornamento:
Versione di Kubernetes sia per il piano di controllo che per i pool di nodi
Versione di Kubernetes solo per il piano di controllo del cluster
Solo versione dell'immagine dei nodi
Selezionare una delle opzioni seguenti per l'immagine Node:
Immagine più recente: aggiorna ogni cluster del servizio Azure Kubernetes nell'esecuzione dell'aggiornamento all'immagine più recente disponibile per tale cluster nell'area.
Immagine coerente: poiché è possibile che un'esecuzione di aggiornamento disponga di cluster del servizio Azure Kubernetes in più aree in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). L'esecuzione dell'aggiornamento seleziona l'immagine comune più recente in tutte le aree al fine di garantire uniformità.
Selezionare Crea per creare l'esecuzione dell'aggiornamento.
Creare un'esecuzione di aggiornamento usando il az fleet updaterun create comando con i valori scelti per i --upgrade-type flag e --node-image-selection . Il comando seguente crea un'esecuzione di aggiornamento che aggiorna la versione di Kubernetes sia per il piano di controllo che per i pool di nodi e usa l'immagine del nodo più recente disponibile per ogni cluster nella relativa area.
Il flag --upgrade-type supporta i valori seguenti:
Full aggiorna la versione di Kubernetes per il piano di controllo e i pool di nodi insieme alle immagini del nodo.
ControlPlaneOnly aggiorna solo la versione di Kubernetes per il piano di controllo del cluster.
NodeImageOnly aggiorna solo le immagini del nodo.
Il flag --node-image-selection supporta i valori seguenti:
Latest: aggiorna ogni cluster del servizio Azure Kubernetes nell'esecuzione dell'aggiornamento all'immagine più recente disponibile per il cluster nella relativa area.
Consistent: poiché è possibile che un'esecuzione di aggiornamento disponga di cluster del servizio Azure Kubernetes in più aree in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). L'esecuzione dell'aggiornamento seleziona l'immagine comune più recente in tutte le aree al fine di garantire uniformità.
Quando si crea un'esecuzione di aggiornamento, è possibile controllare l'ambito dell'esecuzione dell'aggiornamento. Il flag --upgrade-type supporta i valori seguenti:
ControlPlaneOnly aggiorna solo la versione di Kubernetes per il piano di controllo del cluster.
Full aggiorna la versione di Kubernetes per il piano di controllo e i pool di nodi insieme alle immagini del nodo.
NodeImageOnly aggiorna solo le immagini del nodo.
Inoltre, il flag --node-image-selection supporta i valori seguenti:
Più recente: durante l’esecuzione dell’aggiornamento, aggiorna ogni cluster del servizio Azure Kubernetes all'immagine più recente disponibile per il cluster nella relativa area.
Uniforme: poiché è possibile che un'esecuzione di aggiornamento disponga di cluster del servizio Azure Kubernetes in più aree in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). L'esecuzione dell'aggiornamento seleziona l'immagine comune più recente in tutte le aree al fine di garantire uniformità.
Avvio di un'esecuzione di aggiornamento:
Per avviare l'esecuzione dell'aggiornamento, eseguire il comando seguente:
È possibile definire un'esecuzione di aggiornamento usando le fasi di aggiornamento per ordinare in sequenza l'applicazione degli aggiornamenti a gruppi di aggiornamento diversi. Ad esempio, una prima fase di aggiornamento potrebbe aggiornare i cluster membri dell'ambiente di test e una seconda fase di aggiornamento aggiornerebbe successivamente i cluster membri dell'ambiente di produzione. È anche possibile specificare un tempo di attesa tra le fasi di aggiornamento. È possibile archiviare questa sequenza come modello sotto forma di strategia di aggiornamento.
Nella portale di Azure passare alla risorsa Di Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni selezionare Aggiornamento>multi-cluster Crea un'esecuzione.
Immettere un nome per l'esecuzione dell'aggiornamento e quindi selezionare Fasi per il tipo di sequenza di aggiornamento.
Selezionare Crea fase e quindi immettere un nome per la fase e il tempo di attesa tra le fasi.
Selezionare i gruppi di aggiornamento da includere in questa fase. È anche possibile specificare l'ordine dei gruppi di aggiornamento se si desidera aggiornarli in una sequenza specifica. Al termine, seleziona Crea.
Selezionare una delle opzioni seguenti per l'ambito di aggiornamento:
Versione di Kubernetes sia per il piano di controllo che per i pool di nodi
Versione di Kubernetes solo per il piano di controllo del cluster
Solo versione dell'immagine dei nodi
Selezionare una delle opzioni seguenti per l'immagine Node:
Immagine più recente: aggiorna ogni cluster del servizio Azure Kubernetes nell'esecuzione dell'aggiornamento all'immagine più recente disponibile per tale cluster nell'area.
Immagine coerente: poiché è possibile che un'esecuzione di aggiornamento disponga di cluster del servizio Azure Kubernetes in più aree in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). L'esecuzione dell'aggiornamento seleziona l'immagine comune più recente in tutte le aree al fine di garantire uniformità.
Selezionare Crea per creare l'esecuzione dell'aggiornamento.
Specificare le fasi e il relativo ordine ogni volta che si crea un'esecuzione di aggiornamento può diventare ripetitivo e complesso. Le strategie di aggiornamento semplificano questo processo consentendo di archiviare modelli per le esecuzioni degli aggiornamenti. Per altre informazioni, vedere Creazione e utilizzo della strategia di aggiornamento.
Nel menu di aggiornamento multi-cluster selezionare l'esecuzione dell'aggiornamento e quindi selezionare Avvia.
Creare un file JSON per definire le fasi e i gruppi per l'esecuzione dell'aggiornamento. Ecco un esempio di input del file delle fasi (example-stages.json):
Creare un'esecuzione di aggiornamento usando il az fleet updaterun create comando con il --stages flag impostato sul nome del file JSON e i valori scelti per i --upgrade-type flag e --node-image-selection . Il comando seguente crea un'esecuzione di aggiornamento che aggiorna la versione di Kubernetes sia per il piano di controllo che per i pool di nodi e usa l'immagine del nodo più recente disponibile per ogni cluster nella relativa area.
Il flag --upgrade-type supporta i valori seguenti:
Full aggiorna la versione di Kubernetes per il piano di controllo e i pool di nodi insieme alle immagini del nodo.
ControlPlaneOnly aggiorna solo la versione di Kubernetes per il piano di controllo del cluster.
NodeImageOnly aggiorna solo le immagini del nodo.
Il flag --node-image-selection supporta i valori seguenti:
Latest: aggiorna ogni cluster del servizio Azure Kubernetes nell'esecuzione dell'aggiornamento all'immagine più recente disponibile per il cluster nella relativa area.
Consistent: poiché è possibile che un'esecuzione di aggiornamento disponga di cluster del servizio Azure Kubernetes in più aree in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni per altre informazioni). L'esecuzione dell'aggiornamento seleziona l'immagine comune più recente in tutte le aree al fine di garantire uniformità.
Creare un'esecuzione di aggiornamento usando strategie di aggiornamento
La creazione di un'esecuzione di aggiornamento richiede di specificare le fasi, i gruppi, l'ordine ogni volta. Le strategie di aggiornamento semplificano questo processo consentendo di archiviare modelli per le esecuzioni degli aggiornamenti.
Nota
È possibile creare più esecuzioni di aggiornamento con nomi univoci della stessa strategia di aggiornamento.
È possibile creare una strategia di aggiornamento usando uno dei metodi seguenti:
Nella pagina di aggiornamento multi-cluster della risorsa fleet è possibile avviare un'esecuzione di aggiornamento in stato Non avviato o Non riuscito :
Nella pagina di aggiornamento multi-cluster della risorsa fleet è possibile arrestare un'esecuzione di aggiornamento attualmente in esecuzione :
All'interno di qualsiasi aggiornamento eseguito nello stato Non avviato, Non riuscito o In esecuzione , è possibile selezionare qualsiasi fase e Ignorare l'aggiornamento:
È anche possibile ignorare l'aggiornamento a livello di gruppo di aggiornamento o cluster membro.
È possibile avviare un'esecuzione di aggiornamento che si trova nello stato Non avviato o Non riuscito usando il az fleet updaterun start comando :
Automatizzare le esecuzioni degli aggiornamenti usando i profili di aggiornamento automatico
I profili di aggiornamento automatico vengono usati per eseguire automaticamente le esecuzioni degli aggiornamenti nei cluster membri quando vengono rese disponibili nuove versioni di Kubernetes o di immagini del nodo.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su Azure Kubernetes Service
Azure Kubernetes Service è un progetto di open source. Selezionare un collegamento per fornire feedback:
Informazioni su come configurare gli aggiornamenti automatizzati di Kubernetes e immagini dei nodi in più cluster usando Azure Kubernetes Fleet Manager.
Informazioni sulle procedure di applicazione di patch e aggiornamento dei giorni 2 per i nodi di lavoro servizio Azure Kubernetes (servizio Azure Kubernetes) e le versioni di Kubernetes.
Informazioni su come usare la manutenzione pianificata per pianificare e controllare gli aggiornamenti delle immagini del cluster e dei nodi nel servizio Azure Kubernetes.
Informazioni su come aggiornare automaticamente un cluster del servizio Azure Kubernetes per ottenere le funzionalità e gli aggiornamenti della sicurezza più recenti.