Condividi tramite


Automatizzare gli aggiornamenti di Kubernetes e immagini dei nodi in più cluster usando Azure Kubernetes Fleet Manager

Si applica a: ✔️ Fleet Manager ✔️ Fleet Manager con cluster hub

Garantire che i cluster vengano aggiornati in modo tempestivo e sicuro è un problema fondamentale per gli amministratori della piattaforma. Dopo aver adottato le esecuzioni e le strategie di aggiornamento di Azure Kubernetes Fleet Manager, un amministratore può usare i profili di aggiornamento automatico per automatizzare l'esecuzione degli aggiornamenti quando vengono rilasciate nuove versioni delle immagini kubernetes o dei nodi.

Questo articolo illustra come usare i profili di auto-aggiornamento per creare ed eseguire automaticamente le esecuzioni degli aggiornamenti quando nuove versioni di Kubernetes o delle immagini del nodo vengono rese disponibili da AKS.

Nota

Gli aggiornamenti avviati automaticamente rispettano le finestre di manutenzione pianificate stabilite a livello di cluster del servizio Azure Kubernetes. Per altre informazioni, vedere Manutenzione pianificata in più cluster membri che illustra come gli aggiornamenti gestiscono i cluster membri con finestre di manutenzione pianificate configurate.

Prima di iniziare

  • Leggere la panoramica concettuale dei profili di aggiornamento automatico, che fornisce una spiegazione delle configurazioni a cui si fa riferimento in questa guida.

  • È necessario disporre di un Fleet Manager con uno o più cluster membri. In caso contrario, seguire la guida introduttiva per creare un Fleet Manager e aggiungere cluster del servizio Azure Kubernetes come membri.

  • Per usare una strategia di aggiornamento, configurare una usando le istruzioni riportate nell'articolo relativo all'esecuzione dell'aggiornamento. È necessario l'identificatore della risorsa per la strategia di aggiornamento da usare con un profilo di aggiornamento automatico quando si usa l'interfaccia della riga di comando di Azure.

Creare profili di aggiornamento automatico

Per iniziare, completare questi passaggi per assicurarsi che l'ambiente sia configurato correttamente.

  • Impostare le seguenti variabili di ambiente:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • È necessario avere installata la versione 2.70.0 o successiva dell'interfaccia della riga di comando di Azure. 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 versione 1.5.0 o successive, 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
    

Usare il az fleet autoupgradeprofile create comando per creare profili, come illustrato.

È possibile creare un profilo di aggiornamento automatico disabilitato passando l'argomento --disabled quando si usa il create comando . Per abilitare il profilo di aggiornamento automatico, è necessario eseguire nuovamente l'intero create comando e omettere l'argomento --disabled .

Nota

La disabilitazione di un profilo di aggiornamento automatico non influisce sulle esecuzioni degli aggiornamenti in-proges, ma non vengono generate nuove esecuzioni di aggiornamento fino a quando non si riabilita il profilo.

Aggiornamenti del canale stabile di Kubernetes

Eseguire l'aggiornamento alla versione più recente della patch di Kubernetes supportata nella versione secondaria N-1, dove N è la versione secondaria supportata più recente.

Aggiornare i cluster membri in sequenza uno per uno.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Aggiornare i cluster membri usando una strategia di aggiornamento esistente.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Aggiornare i cluster membri usando una strategia di aggiornamento esistente, assicurando che la stessa versione dell'immagine del nodo venga usata in ogni area di Azure. Tutti i cluster membri eseguono la stessa versione dell'immagine del nodo.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

Aggiornare i cluster membri usando una strategia di aggiornamento esistente, usando la versione più recente dell'immagine del nodo disponibile per ogni area di Azure. I cluster membri possono eseguire più versioni dell'immagine del nodo.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

Aggiornamenti mirati delle versioni secondarie di Kubernetes (anteprima)

Eseguire l'aggiornamento a una versione secondaria di Kubernetes di destinazione definita usando il --target-kubernetes-version parametro , specificando la versione nel formato {versione principale}.{ versione secondaria} (ad esempio, 1.33). L'aggiornamento automatico della Flotta aggiorna automaticamente i cluster membri alla versione patch più recente della versione di destinazione specificata, quando la patch è disponibile.

Importante

Le funzionalità di anteprima di Azure Kubernetes Fleet Manager sono disponibili in modalità autoservizio su base di adesione. 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.

Nota

  • Quando si usa il TargetKubernetesVersion canale, è necessario specificare il --target-kubernetes-version parametro . Per altri canali (Rapid, Stable, NodeImage), questo parametro non è supportato.

  • Il --long-term-support flag (LTS) è disponibile solo quando si usa il TargetKubernetesVersion canale. Per altri canali, questo flag deve essere impostato su False.

  • Non è possibile impostare la versione di Kubernetes di destinazione su una versione futura di Kubernetes non ancora rilasciata da AKS.

  • È possibile selezionare solo le versioni di LTS Kubernetes (N-2) per un profilo di aggiornamento automatico passando il --long-term-support flag . Affinché l'aggiornamento automatico della flotta continui a funzionare in questo scenario, è necessario assicurarsi anche che i cluster nell'esecuzione dell'aggiornamento generato siano tutti abilitati per LTS. I cluster non LTS causano l'esito negativo dell'esecuzione dell'aggiornamento quando viene rilevato il primo cluster non LTS.

Aggiornare automaticamente i cluster membri alla patch più recente di Kubernetes versione 1.33.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

Aggiornare automaticamente i cluster membri con LTS abilitato alla patch più recente della versione secondaria di Kubernetes versione 1.29, attualmente disponibile solo tramite il servizio Azure Kubernetes LTS.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

Aggiornamenti dell'immagine del nodo

Aggiornare i nodi con una nuova immagine del computer con patch contenente correzioni di sicurezza e correzioni di bug.

Aggiornare le immagini dei nodi per i cluster membri, elaborando i cluster in sequenza uno per uno.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Aggiornare le immagini dei nodi per i cluster membri, elaborando i cluster usando una strategia di aggiornamento esistente.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Visualizzare il profilo di aggiornamento automatico

È possibile usare i az fleet autoupgradeprofile list comandi o az fleet autoupgradeprofile show per visualizzare il profilo di aggiornamento automatico.

Elencare tutti i profili di aggiornamento automatico per una flotta.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET

Mostra un profilo di aggiornamento automatico specifico per una flotta.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Eliminare il profilo di aggiornamento automatico

Usare il az fleet autoupgradeprofile delete comando per eliminare un profilo di aggiornamento automatico esistente. Viene chiesto di confermare l'eliminazione. Se si desidera eliminare immediatamente il profilo, includere --yes.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Nota

L'eliminazione di un profilo di aggiornamento automatico non influisce sulle esecuzioni degli aggiornamenti in corso.

Creare profili di aggiornamento automatico

  1. Nel portale di Azure, naviga alla risorsa Azure Kubernetes Fleet Manager.

  2. Nel menu del servizio, in Impostazioni, selezionare Aggiornamento multi-cluster>Profili di aggiornamento automatico.

  3. Selezionare Crea, immettere un nome per il profilo e quindi selezionare se il profilo è Abilitato o meno. I profili di aggiornamento automatico disabilitati non vengono attivati quando vengono rilasciate nuove versioni.

  4. Selezionare la sequenza di aggiornamento delle Fasi o una alla volta.

    Screenshot del riquadro del portale Azure di Azure Kubernetes Fleet Manager per la creazione di un profilo di aggiornamento automatico che aggiorna i cluster utilizzando una strategia.

  5. Selezionare una delle opzioni seguenti per il canale:

    • Stabile: aggiornare i cluster con patch per la penultima versione secondaria di Kubernetes disponibile a livello generale.
    • Rapido: aggiornare i cluster con patch per l'ultima versione secondaria di Kubernetes disponibile a livello generale.
    • Immagine del nodo: aggiorna solo la versione dell'immagine del nodo.
    • Versione secondaria di Kubernetes di destinazione (anteprima): aggiornare i cluster alla versione patch più recente della versione secondaria di Kubernetes di destinazione specificata quando la patch è disponibile.

    Screenshot del riquadro del portale di Azure per Azure Kubernetes Fleet Manager per la creazione del profilo di aggiornamento automatico, che definisce la modalità di attivazione dell'aggiornamento.

  6. Se si seleziona il canale Versione secondaria di Kubernetes di destinazione (anteprima), è possibile scegliere la versione secondaria di Kubernetes da usare come trigger:

    • Consenti versioni secondarie LTS: consente di selezionare le versioni secondarie di Kubernetes disponibili solo per i cluster LTS (Long Term Support) del servizio Azure Kubernetes.
    • Versione secondaria di Kubernetes di destinazione: selezionare il trigger della versione secondaria di Kubernetes. I cluster con una versione secondaria più bassa vengono aggiornati per primi e successivamente vengono applicati solo gli aggiornamenti patch.

    Screenshot del riquadro del portale di Azure Gestione flotta Kubernetes di Azure per la creazione del profilo di aggiornamento automatico, che definisce quale versione secondaria di Kubernetes da usare come trigger.

    Nota

    Le versioni secondarie Allow LTS supportano solo le esecuzioni di aggiornamenti con tutti i cluster con LTS abilitato. Se si verifica un cluster non LTS, l'esecuzione dell'aggiornamento non riesce.

  7. Se si seleziona il canale Stable, Rapid o Target Kubernetes versione secondaria (anteprima), è possibile scegliere il modo in cui vengono applicati gli aggiornamenti delle immagini del nodo:

    • Ultima immagine: Aggiorna tutti i cluster AKS nel profilo di aggiornamento automatico AKS all'immagine più recente disponibile per quel cluster nella regione di Azure.
    • Immagine coerente: è possibile che un aggiornamento automatico disponga di cluster del servizio Azure Kubernetes in più aree di Azure in cui le immagini dei nodi disponibili più recenti possono essere diverse (controllare lo strumento di rilevamento delle versioni del servizio Azure Kubernetes per altre informazioni). Se si seleziona questa opzione, l'aggiornamento automatico seleziona l'immagine comune più recente in tutte le aree di Azure per ottenere coerenza.

    Nota

    Il canale immagine Node usa sempre un'immagine coerente.

  8. Se è stata selezionata una sequenza di aggiornamento usando fasi, selezionare o creare una strategia.

    Screenshot del riquadro del portale di Azure per Azure Kubernetes Fleet Manager, utilizzato per la creazione del profilo di aggiornamento automatico e la selezione della strategia di aggiornamento da usare.

  9. Selezionare Crea per creare il profilo di aggiornamento automatico.

Visualizzare il profilo di aggiornamento automatico

  1. Nel portale di Azure, naviga alla risorsa Azure Kubernetes Fleet Manager.

  2. Nel menu del servizio, in Impostazioni, selezionare Aggiornamento multi-cluster>Profili di aggiornamento automatico.

    Screenshot del riquadro del portale di Azure Kubernetes Fleet Manager per visualizzare i profili di aggiornamento automatico disponibili.

  3. Per visualizzarne la configurazione, selezionare il profilo di aggiornamento automatico desiderato.

    Screenshot del riquadro del portale Azure Kubernetes Fleet Manager che mostra la configurazione di un singolo profilo di aggiornamento automatico.

Eliminare il profilo di aggiornamento automatico

  1. Nel portale di Azure, naviga alla risorsa Azure Kubernetes Fleet Manager.

  2. Nel menu del servizio, in Impostazioni, selezionare Aggiornamento multi-cluster>Profili di aggiornamento automatico.

    Screenshot del riquadro del portale di Azure Kubernetes Fleet Manager per visualizzare i profili di aggiornamento automatico disponibili.

  3. Selezionare il profilo desiderato nell'elenco e quindi selezionare Elimina per eliminare il profilo.

Nota

L'eliminazione di un profilo di aggiornamento automatico non influisce sulle esecuzioni degli aggiornamenti in corso.

Convalidare l'aggiornamento automatico

Gli aggiornamenti automatici vengono eseguiti solo quando vengono rese disponibili nuove immagini di nodi o Kubernetes. Quando viene attivato l'aggiornamento automatico, viene creata un'esecuzione di aggiornamento collegato, quindi è possibile usare l'esecuzione dell'aggiornamento gestito per visualizzare i risultati dell'aggiornamento automatico.

È anche possibile controllare le versioni esistenti come baseline come indicato di seguito.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Al termine dell'esecuzione dell'aggiornamento, è possibile rieseguire questi comandi e visualizzare le versioni aggiornate distribuite.

Generare un'esecuzione di aggiornamento da un profilo di aggiornamento automatico

Quando si crea un profilo di aggiornamento automatico, potrebbe essere necessario un po' di tempo prima che una nuova versione dell'immagine del nodo o Kubernetes attivi l'aggiornamento automatico per creare ed eseguire un'esecuzione di aggiornamento.

L'aggiornamento automatico consente di generare una nuova esecuzione di aggiornamento in qualsiasi momento usando il az fleet autoupgradeprofile generate-update-run comando . L'esecuzione dell'aggiornamento risultante si basa sulla versione corrente di Kubernetes o dell'immagine del nodo pubblicata dal servizio Azure Kubernetes.

Per altre informazioni sulla creazione di un aggiornamento su richiesta eseguito da un profilo di aggiornamento automatico, vedere Generare un'esecuzione di aggiornamento da un profilo di aggiornamento automatico.

Passaggi successivi