Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli amministratori possono controllare la sequenza di aggiornamenti ai cluster gestiti da Fleet definendo una serie di fasi e gruppi. Possono configurare quando le approvazioni e le pause devono essere eseguite all'interno di tali fasi e gruppi. L'intera configurazione può essere salvata come strategia di aggiornamento che può essere gestita indipendentemente dalle esecuzioni degli aggiornamenti o dagli aggiornamenti automatici, consentendo di riutilizzare le strategie in base alle esigenze.
Questo articolo illustra come definire strategie di aggiornamento usando gruppi e fasi.
Prerequisiti
Leggere la panoramica concettuale degli aggiornamenti di Fleet, che fornisce una spiegazione delle esecuzioni degli aggiornamenti, delle fasi, dei gruppi e delle strategie a cui si fa riferimento in questa guida.
È necessario disporre di una risorsa flotta con uno o più cluster membri. In caso contrario, seguire l’avvio rapido per creare una risorsa Fleet e unire i cluster di Servizio Azure Kubernetes (AKS) come membri.
Impostare le seguenti variabili di ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export CLUSTERID=<aks-cluster-resource-id> export STRATEGY=<strategy-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.70.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 della
fleetCLI di Azure versione 1.6.0 o successiva, che è possibile installare eseguendo il comando seguente:az extension add --name fleetEseguire il comando per eseguire l'aggiornamento
az extension updatealla versione più recente dell'estensione rilasciata:az extension update --name fleet
Selezionare i cluster per la strategia
Esistono due modi per selezionare i cluster inclusi in ogni fase e gruppo della strategia di aggiornamento per controllare la sequenza di aggiornamento:
-
Etichette dei membri (scelta consigliata): assegnare etichette a ogni membro della flotta e usare
memberSelectorper selezionare i membri in base a tali etichette. Ogni membro può avere più etichette. - Aggiornare i gruppi: assegnare un gruppo di aggiornamento a ogni membro della flotta, quindi definire i gruppi nella strategia che corrispondono a tali nomi di gruppo. Ogni membro può appartenere a un solo gruppo.
Creare una strategia di aggiornamento usando selettori di membri (anteprima)
Le etichette dei membri sono l'approccio consigliato per la selezione dei cluster nelle strategie di aggiornamento perché offrono maggiore flessibilità. Per informazioni concettuali, vedere Raggruppare i cluster usando le etichette dei membri.
Importante
Le funzionalità di anteprima di Azure Kubernetes Fleet Manager sono disponibili in modalità self-service e richiedono l'adesione dell'utente. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le versioni di anteprima di Azure Kubernetes Fleet Manager sono parzialmente coperte dall'assistenza clienti su base di miglior sforzo. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione.
Applicare etichette sui cluster membri
Applicare etichette all'aggiunta di un cluster membro alla flotta
Applicare etichette ai membri della flotta usando il az fleet member create comando . L'esempio seguente applica due etichette al cluster membro: env=staging e tier=frontend:
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--labels "env=staging tier=frontend"
Applicare etichette a un membro della flotta esistente
Applicare etichette ai membri della flotta usando il az fleet member update comando
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--labels "env=staging tier=frontend"
Creare una strategia di aggiornamento
Una strategia di aggiornamento è costituita da una o più fasi, in cui una fase può contenere uno o più gruppi di aggiornamento.
Creare un file JSON per definire le fasi e i gruppi per l'esecuzione dell'aggiornamento. Le fasi vengono eseguite in sequenza nell'ordine in cui vengono visualizzate nel file JSON. I gruppi vengono eseguiti in parallelo in ogni fase. Il file di esempio seguente (example-labels-strategy.json) definisce una strategia con due fasi usando
memberSelectorper selezionare i cluster in base alle etichette e include impostazioni facoltativemaxConcurrency:- La fase
stagingutilizza unmemberSelectora livello di fase per selezionare tutti i cluster con l'etichettaenv=staginge creare un gruppo implicito. - La fase
productionutilizza unmemberSelectora livello di fase per prefiltrare tutti i cluster con l'etichettaenv=production, quindi definisce due gruppi, ciascuno dotato del propriomemberSelectorper selezionare i cluster in base all'etichettatier.
Quando
memberSelectorè impostato su un gruppo, ilnamecampo del gruppo viene usato solo come identificatore di visualizzazione per la reportistica dello stato e la registrazione dei log e non viene più usato per la selezione dei membri della flotta basata sui gruppi di aggiornamento.{ "stages": [ { "name": "staging", "memberSelector": { "byLabel": "env=staging" }, "maxConcurrency": "1", "afterStageWaitInSeconds": 600 }, { "name": "production", "memberSelector": { "byLabel": "env=production" }, "maxConcurrency": "4", "groups": [ { "name": "frontend", "memberSelector": { "byLabel": "tier=frontend" }, "maxConcurrency": "3" }, { "name": "backend", "memberSelector": { "byLabel": "tier=backend" }, "maxConcurrency": "3" } ] } ] }- La fase
Nota
Il maxConcurrency campo è facoltativo e controlla il numero di cluster che possono eseguire l'aggiornamento simultaneo a livello di fase o di gruppo. Usare un valore più grande per aggiornare i cluster più velocemente all'interno della flotta o un valore inferiore per un'implementazione più controllata che limita il raggio di esplosione in caso di problemi.
Quando una fase utilizza memberSelector senza gruppi (come staging), tutti i membri corrispondenti formano un unico gruppo implicito e la maxConcurrency fase controlla direttamente la concorrenza. Quando i gruppi sono definiti (ad esempio production), il livello maxConcurrency di fase funge da limite complessivo in tutti i gruppi.
In questo esempio, la staging fase imposta maxConcurrency su "1", in modo che i cluster di staging si aggiornino uno alla volta. La fase production consente fino a "4" cluster contemporaneamente, mentre i gruppi frontend e backend sono ciascuno limitati a "3".
I valori possono essere un numero intero fisso (ad esempio, "3") o una percentuale (ad esempio, "50%"). Se omesso, il sistema applica i valori predefiniti. Per informazioni dettagliate su come questi valori vengono risolti e sui relativi limiti superiori, vedere Concorrenza massima (anteprima).
Creare una nuova strategia di aggiornamento usando il
az fleet updatestrategy createcomando con il--stagesflag impostato sul nome del file JSON.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-labels-strategy.json
Creare una strategia di aggiornamento usando i gruppi di aggiornamento
I cluster possono anche essere selezionati nelle strategie di aggiornamento assegnandoli a un singolo gruppo di aggiornamento. È possibile definire una strategia di aggiornamento che assegna questi gruppi di aggiornamento alle fasi. All'interno di una fase di aggiornamento, gli aggiornamenti vengono applicati a ogni gruppo di aggiornamento in parallelo. All'interno di un gruppo di aggiornamento, i cluster membri vengono aggiornati in sequenza.
Nota
Un membro della flotta può far parte solo di un gruppo di aggiornamento, ma un gruppo di aggiornamento può avere più membri della flotta assegnati. Un gruppo di aggiornamento non è un tipo di risorsa separato. 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 specifico smette di esistere.
Assegnare cluster a gruppi di aggiornamento
Assegnarlo al gruppo quando si aggiunge il cluster membro alla flotta
Nel portale di Azure, vai alla risorsa Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni, selezionare Cluster membri>Aggiungi.
Selezionare il cluster da aggiungere e quindi selezionare Avanti: Rivedi e aggiungi.
Immettere il nome del gruppo di aggiornamento a cui si vuole assegnare il cluster e quindi selezionare Aggiungi.
Assegnare un membro della flotta esistente a un gruppo di aggiornamento
Nel portale di Azure, vai alla risorsa Azure Kubernetes Fleet Manager.
Nel menu del servizio, in Impostazioni, selezionare Cluster membri.
Selezionare i cluster da assegnare a un gruppo di aggiornamento e quindi selezionare Assegna gruppo di aggiornamento
Immettere il nome del gruppo di aggiornamento a cui si vuole assegnare il cluster e quindi selezionare Assegna.
Creare una strategia di aggiornamento
Una strategia di aggiornamento è costituita da una o più fasi, in cui una fase può contenere uno o più gruppi di aggiornamento.
Nel portale di Azure, vai alla risorsa Azure Kubernetes Fleet Manager.
Dal menu del servizio, in Impostazioni, selezionare Strategie di aggiornamento> e quindi Crea.
Immettere un nome per la strategia.
La prima volta che si visualizza la pagina, viene visualizzato un diagramma di spiegazione della strategia di aggiornamento che consente di visualizzare il funzionamento delle strategie.
Selezionare Crea fase e immettere:
- Nome della fase - nomina la fase - deve essere univoco tra tutti i nomi delle fasi nella strategia.
- (Facoltativo) Approvazioni delle fasi: selezionare questa opzione se si desidera attendere un'approvazione prima che inizi questa fase o dopo che viene completata. Per altre informazioni, vedere Aggiungere approvazioni per aggiornare gruppi e fasi.
- (Facoltativo) Pausa dopo la fase : selezionare questa opzione se si vuole definire una pausa prima di passare alla fase successiva.
- (Facoltativo) Sospendere la durata : selezionare una durata predefinita oppure immettere un valore personalizzato in secondi.
Assegnare uno o più gruppi di aggiornamento alla fase e quindi selezionare Crea.
Nota
Il numero massimo di gruppi di aggiornamento in ogni fase dell’aggiornamento è 50.
Passaggi successivi
È possibile usare una strategia di aggiornamento come parte di un'esecuzione di aggiornamento manuale o di un profilo di aggiornamento automatico. Vedere:
- Procedura: Aggiornare più cluster usando le esecuzioni degli aggiornamenti di Azure Kubernetes Fleet Manager.
- Procedura: Aggiungere approvazioni alle strategie di aggiornamento di Azure Kubernetes Fleet Manager.
- Procedura: aggiornare automaticamente più cluster usando Azure Kubernetes Fleet Manager.
- Domande frequenti sugli aggiornamenti multi-cluster.