Orchestrare gli aggiornamenti in più cluster usando Azure Kubernetes Fleet Manager

Gli amministratori della piattaforma che gestiscono i fleet Kubernetes con un numero elevato di cluster spesso presentano problemi con la gestione temporanea degli aggiornamenti in modo sicuro e prevedibile in più cluster. Per risolvere questo problema, Kubernetes Fleet Manager (Fleet) consente di orchestrare gli aggiornamenti in più cluster usando esecuzioni di aggiornamento, fasi, gruppi e strategie.

Screenshot of the Azure portal pane for a fleet resource, showing member cluster Kubernetes versions and node images in use across all node pools of member clusters.

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 fleet con uno o più cluster membri. In caso contrario, seguire la guida introduttiva per creare una risorsa Fleet e aggiungere cluster servizio Azure Kubernetes (AKS) come membri. Questa procedura dettagliata illustra una risorsa flotta con cinque cluster membri del servizio Azure Kubernetes come esempio.

  • 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, è necessaria l'interfaccia della riga di comando di Azure versione 2.53.1 o successiva installata. Per eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

  • È anche necessaria l'estensione dell'interfaccia della fleet riga di comando di Azure, che è possibile installare eseguendo il comando seguente:

    az extension add --name fleet
    

    Eseguire il comando seguente per eseguire l'aggiornamento alla versione più recente dell'estensione rilasciata:

    az extension update --name fleet
    

Aggiornare tutti i cluster uno alla sola

  1. Nella pagina per la risorsa Di Azure Kubernetes Fleet Manager passare al menu di aggiornamento multi-cluster e selezionare Crea.

  2. È possibile scegliere Uno per uno o Fasi.

    Screenshot of the Azure portal pane for creating update runs that update clusters one by one in Azure Kubernetes Fleet Manager.

  3. Per l'ambito di aggiornamento, è possibile scegliere di aggiornare sia la versione di Kubernetes che la versione dell'immagine del nodo oppure è possibile aggiornare solo la versione dell'immagine del nodo.

    Screenshot of the Azure portal pane for creating update runs. The upgrade scope section is shown.

    Per l'immagine del nodo sono disponibili le opzioni seguenti:

    • Più recente: Aggiornamenti ogni cluster del servizio Azure Kubernetes nell'aggiornamento eseguito all'immagine più recente disponibile per il cluster nella relativa area.
    • 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 queste aree per ottenere coerenza.

Aggiornare i cluster in un ordine specifico

I gruppi di aggiornamento e le fasi offrono un maggiore controllo sulla sequenza eseguita dall'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 dei due modi.

  • Assegnare al gruppo quando si aggiunge un cluster membro alla flotta. Ad esempio:
  1. Nella pagina per la risorsa Di Azure Kubernetes Fleet Manager passare a Cluster membri.

    Screenshot of the Azure portal page for Azure Kubernetes Fleet Manager member clusters.

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

    Screenshot of the Azure portal page for adding member clusters to Azure Kubernetes Fleet Manager and assigning them to groups.

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

    Screenshot of the Azure portal page for assigning existing member clusters to a group.

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

    Screenshot of the Azure portal page for member clusters that shows the form for updating a member cluster's group.

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 separato. I gruppi di aggiornamento sono solo stringhe che rappresentano riferimenti dai membri della flotta. Pertanto, se tutti i membri della flotta con riferimenti a un gruppo di aggiornamento comune vengono eliminati, tale gruppo di aggiornamento specifico smetterà di esistere.

Definire un'esecuzione e fasi di aggiornamento

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

  1. Nella pagina per la risorsa Di Azure Kubernetes Fleet Manager passare a Aggiornamento multi-cluster e selezionare Crea.

  2. Selezionare Fasi e quindi scegliere l'immagine del nodo (più recente) e la versione di Kubernetes o l'immagine del nodo (più recente), a seconda dell'ambito di aggiornamento desiderato.

  3. In Fasi selezionare Crea fase. È ora possibile specificare il nome della fase e la durata di attesa dopo ogni fase.

    Screenshot of the Azure portal page for creating a stage and defining wait time.

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

    Screenshot of the Azure portal page for stage creation that shows the selection of upgrade groups.

  5. Dopo aver definito tutte le fasi e ordinarle usando i controlli Sposta su e Sposta giù , procedere con la creazione dell'esecuzione dell'aggiornamento.

  6. Nel menu di aggiornamento multi-cluster scegliere l'esecuzione dell'aggiornamento e selezionare Avvia.

Creare un'esecuzione di aggiornamento usando le strategie di aggiornamento

Nella sezione precedente, la creazione di un'esecuzione di aggiornamento richiedeva fasi, gruppi e il relativo ordine da specificare ogni volta. Le strategie di aggiornamento semplificano questa operazione consentendo di archiviare i modelli per le esecuzioni degli aggiornamenti.

Nota

È possibile creare più esecuzioni di aggiornamento con nomi univoci dalla stessa strategia di aggiornamento.

Quando si crea l'aggiornamento viene eseguito, è possibile creare contemporaneamente una strategia di aggiornamento, salvando in modo efficace l'esecuzione come modello per le esecuzioni di aggiornamento successive.

  1. Salvare una strategia di aggiornamento durante la creazione di un'esecuzione di aggiornamento:

    A screenshot of the Azure portal showing update run stages being saved as an update strategy.

  2. È possibile fare riferimento alla strategia di aggiornamento creata in un secondo momento durante la creazione di nuovi aggiornamenti successivi:

    A screenshot of the Azure portal showing the creation of a new update run. The 'Copy from existing strategy' button is highlighted.