Condividi tramite


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.

Screenshot del riquadro del portale di Azure per una risorsa flotta, che mostra le versioni del cluster membro Kubernetes e le immagini dei nodi in uso in tutti i pool di nodi dei cluster membri.

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

  1. Nella pagina per la risorsa di Gestione flotta Kubernetes di Azure, passare al menu di aggiornamento multi-cluster e selezionare Crea.

  2. Scegliendo Uno per uno, tutti i cluster membri della flotta vengono aggiornati in sequenza uno alla sola.

    Screenshot del riquadro del portale di Azure per la creazione di esecuzioni di aggiornamenti che aggiornano i cluster uno alla volta in Gestione flotta Kubernetes di Azure.

  3. 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

    Screenshot del riquadro del portale di Azure per la creazione di esecuzioni di aggiornamenti. Viene mostrata la sezione ambito di aggiornamento.

    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:
  1. Nella pagina per la risorsa di Gestione flotta Kubernetes, passare a Cluster membri.

    Screenshot della pagina del portale di Azure per i cluster membri di Gestione flotta Kubernetes di Azure.

  2. Specificare il gruppo di aggiornamento a cui il cluster membro deve appartenere.

    Screenshot della pagina del portale di Azure per aggiungere cluster membri a Gestione flotta Kubernetes di Azure e assegnarli ai gruppi.

  • Il secondo metodo consiste nell'assegnare un membro della flotta esistente a un gruppo di aggiornamento. Ad esempio:
  1. Nella pagina della risorsa Gestione flotta Kubernetes di Azure, passare a Cluster membri. Scegliere i cluster membri desiderati e quindi selezionare Assegna gruppo di aggiornamento.

    Screenshot della pagina del portale di Azure per l'assegnazione di cluster membri esistenti a un gruppo.

  2. Specificare il nome del gruppo e quindi selezionare Assegna.

    Screenshot della pagina del portale di Azure per i cluster membri che mostra il modulo per l'aggiornamento del gruppo di un cluster membro.

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.

  1. Nella pagina per la risorsa di Gestione flotta Kubernetes di Azure, andare a Aggiornamento multi-cluster. Nella scheda Esecuzioni selezionare Crea.

  2. Specificare un nome per l'esecuzione dell'aggiornamento quindi selezionare "Fasi" per il tipo di sequenza di aggiornamento.

    Screenshot della pagina del portale di Azure per la scelta della modalità fasi all'interno dell'esecuzione dell'aggiornamento.

  3. Scegliere Crea fase. È ora possibile specificare il nome della fase e il tempo di attesa al termine di ogni fase.

    Screenshot della pagina del portale di Azure per la creazione di una fase e la definizione del tempo di attesa.

  4. Scegliere i gruppi di aggiornamento da includere in questa fase.

    Screenshot della pagina del portale di Azure per la creazione della fase che mostra la selezione dei gruppi di aggiornamento.

  5. Dopo aver definito tutte le fasi, è possibile ordinarle usando i controlli Sposta su e Sposta giù.

  6. 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

    Screenshot del riquadro del portale di Azure per la creazione di esecuzioni di aggiornamenti. Viene mostrata la sezione ambito di aggiornamento.

    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à.
  7. 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.

  8. 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.

    Screenshot del portale di Azure che mostra le fasi di esecuzione degli aggiornamenti salvate come strategia di aggiornamento.

  • Approccio 2: è possibile andare a Aggiornamento multi-cluster e scegliere Crea nella scheda Strategia.

    Screenshot del portale di Azure che mostra la creazione della strategia di aggiornamento.

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:

Screenshot del portale di Azure che mostra la creazione di una nuova esecuzione di aggiornamento. Il pulsante

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.

    Screenshot del portale di Azure che mostra come avviare un'esecuzione di aggiornamento nello stato

  • Nella scheda Aggiornamento multi-cluster della risorsa Flotta è possibile arrestare un'esecuzione di aggiornamento attualmente In esecuzione.

    Screenshot del portale di Azure che mostra come arrestare l'esecuzione di un aggiornamento nello stato

  • All'interno di qualsiasi aggiornamento eseguito in Non avviato, Non riuscitoo In esecuzione, è possibile selezionare qualsiasi fase e ignorare l'aggiornamento.

    Screenshot del portale di Azure che mostra come ignorare l'aggiornamento per una fase specifica in un'esecuzione di 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.