Orchestrare gli aggiornamenti in più cluster usando Gestione flotta Kubernetes di Azure.
Gli amministratori della piattaforma che gestiscono le flotte Kubernetes con un numero elevato di cluster spesso riscontrano problemi nel gestire temporaneamente gli aggiornamenti in modo sicuro e prevedibile in più cluster. Per risolvere questo problema, Gestione flotta Kubernetes (Flotta) consente di orchestrare gli aggiornamenti in più cluster usando esecuzioni di aggiornamento, fasi, gruppi e strategie.
Prerequisiti
Leggere la panoramica concettuale di questa funzionalità, che fornisce una spiegazione delle strategie di aggiornamento, delle esecuzioni, delle fasi e dei riferimenti ai gruppi in questo documento.
È necessario disporre di una risorsa flotta 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. Questa procedura dettagliata illustra come esempio una risorsa flotta con cinque cluster membri del servizio Azure Kubernetes.
Impostare le seguenti variabili di ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name>
Se si seguono le istruzioni dell'interfaccia della riga di comando di Azure in questo articolo, è necessario avere installata l'interfaccia della riga di comando di Azure versione 2.53.1 o successive. 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
Per eseguire l'aggiornamento alla versione più recente dell'estensione rilasciata eseguire il comando seguente:
az extension update --name fleet
Nota
Le esecuzioni di aggiornamento rispettano le finestre di manutenzione pianificate stabilite 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.
L'esecuzione dell'aggiornamento supporta due opzioni per la sequenza in cui vengono aggiornati i cluster:
- Uno per uno: se non è importante controllare la sequenza in cui i cluster vengono aggiornati,
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 desidera controllare la sequenza in cui vengono aggiornati i cluster, è possibile strutturare i cluster membri nei gruppi di aggiornamento e nelle fasi di aggiornamento. Inoltre, questa sequenza può essere archiviata come modello sotto forma di strategia di aggiornamento. Le esecuzioni degli aggiornamenti possono essere create in un secondo momento da strategie di aggiornamento anziché definire la sequenza ogni volta che è necessario creare un'esecuzione di aggiornamento in base alle fasi.
Aggiornare tutti i cluster uno per volta
Nella pagina per la risorsa di Gestione flotta Kubernetes di Azure, passare al menu di aggiornamento multi-cluster e selezionare Crea.
Scegliendo Uno per uno, tutti i cluster membri della flotta vengono aggiornati in sequenza uno alla sola.
Per l'ambito di aggiornamento, è possibile scegliere una delle tre opzioni seguenti:
- 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
Per l'immagine del nodo sono disponibili le opzioni 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à.
Aggiornare i cluster in un ordine specifico
I gruppi e le fasi di aggiornamento offrono un maggiore controllo sulla sequenza dell'aggiornamento quando si aggiornano i cluster. All'interno di una fase di aggiornamento, gli aggiornamenti vengono applicati a tutti i diversi gruppi di aggiornamento in parallelo; all'interno di un gruppo di aggiornamento, i cluster membri vengono aggiornati in sequenza.
Assegnare un cluster a un gruppo di aggiornamento
È possibile assegnare un cluster membro a un gruppo di aggiornamento specifico in uno tra i seguenti due modi.
- Assegnarlo al gruppo quando si aggiunge un cluster membro alla flotta. Ad esempio:
- Il secondo metodo consiste nell'assegnare un membro della flotta esistente a un gruppo di aggiornamento. Ad esempio:
Nota
Qualsiasi membro della flotta può far parte solo di un gruppo di aggiornamento, ma un gruppo di aggiornamento può avere più membri della flotta al suo interno. Un gruppo di aggiornamento non è un tipo di risorsa diverso. I gruppi di aggiornamento sono semplicemente stringhe che rappresentano riferimenti ai membri della flotta. Pertanto, se tutti i membri della flotta con riferimenti a un gruppo di aggiornamento comune vengono eliminati, tale gruppo di aggiornamento smetterà di esistere.
Definire esecuzione e fasi di un aggiornamento
È possibile definire l’esecuzione di un aggiornamento usando le fasi di aggiornamento per ordinare in sequenza l'applicazione degli aggiornamenti a diversi gruppi di aggiornamento. 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.
Nella pagina per la risorsa di Gestione flotta Kubernetes di Azure, andare a Aggiornamento multi-cluster. Nella scheda Esecuzioni selezionare Crea.
Specificare un nome per l'esecuzione dell'aggiornamento quindi selezionare "Fasi" per il tipo di sequenza di aggiornamento.
Scegliere Crea fase. È ora possibile specificare il nome della fase e il tempo di attesa al termine di ogni fase.
Scegliere i gruppi di aggiornamento da includere in questa fase.
Dopo aver definito tutte le fasi, è possibile ordinarle usando i controlli Sposta su e Sposta giù.
Per l'ambito di aggiornamento, è possibile scegliere una delle tre opzioni seguenti:
- 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
Per l'immagine del nodo sono disponibili le opzioni 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à.
Fare clic su Crea nella parte inferiore della pagina 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, scegliere l'esecuzione dell'aggiornamento e selezionare Avvia.
Creare un'esecuzione di aggiornamento usando strategie di aggiornamento
La creazione di un'esecuzione di aggiornamento richiedeva fasi, gruppi e il relativo ordine da specificare 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 dalla stessa strategia di aggiornamento.
Creare una strategia di aggiornamento: esistono due modi per creare una strategia di aggiornamento:
Approccio 1: è possibile salvare una strategia di aggiornamento durante la creazione di un'esecuzione di aggiornamento.
Approccio 2: è possibile andare a Aggiornamento multi-cluster e scegliere Crea nella scheda Strategia.
Usare una strategia di aggiornamento per creare l'esecuzione degli aggiornamenti: è possibile fare riferimento alla strategia di aggiornamento creata in un secondo momento durante la creazione di nuove esecuzioni di aggiornamento successive:
Gestire un'esecuzione di aggiornamento
Sono disponibili alcune opzioni per gestire le esecuzioni degli aggiornamenti:
Nella scheda Aggiornamento multi-cluster della risorsa Flotta è possibile avviare un'esecuzione di aggiornamento che si trova nello stato Non avviato o Non riuscito.
Nella scheda Aggiornamento multi-cluster della risorsa Flotta è possibile arrestare un'esecuzione di aggiornamento attualmente In esecuzione.
All'interno di qualsiasi aggiornamento eseguito in Non avviato, Non riuscitoo In esecuzione, è possibile selezionare qualsiasi fase e ignorare l'aggiornamento.
È anche possibile ignorare l'aggiornamento a livello di gruppo di aggiornamento o cluster membro.
Per altre informazioni, vedere panoramica concettuale sugli stati di esecuzione degli aggiornamenti e ignorare il comportamento in esecuzioni/fasi/gruppi.
Azure Kubernetes Service