Aggiornamento dei cluster di gestione autonomi

Per aggiornare Tanzu Kubernetes Grid con un cluster di gestione autonomo, è innanzitutto necessario aggiornare il cluster di gestione autonomo. Non è possibile aggiornare i cluster del carico di lavoro finché non si aggiorna il cluster di gestione che li gestisce.

Se si esegue TKG con supervisore vSphere with Tanzu, non eseguire questa procedura. Aggiornare invece il supervisore come parte di vSphere e aggiornare la versione di Kubernetes del supervisore aggiornandone i TKr.

Importante

Tanzu Kubernetes Grid v2.4.x è l'ultima versione di TKG che supporta l'aggiornamento dei cluster di gestione TKG autonomi esistenti in AWS e Azure. La possibilità di aggiornare cluster di gestione TKG autonomi in AWS e Azure verrà rimossa nella versione Tanzu Kubernetes Grid v2.5.

VMware consiglia di utilizzare Tanzu Mission Control per creare cluster AWS EKS e Azure AKS nativi. L'aggiornamento dei cluster di gestione TKG autonomi esistenti in AWS e Azure rimane comunque completamente supportato per tutte le versioni di TKG fino a TKG v2.4.x incluso.

Per ulteriori informazioni, vedere Deprecazione dei cluster di gestione e del carico di lavoro TKG in AWS e Azure nelle Note di rilascio di VMware Tanzu Kubernetes Grid v2.4.

L'aggiornamento del cluster di gestione comporta l'aggiornamento automatico dei pacchetti gestiti automaticamente che esegue.

Nota

Dopo aver installato la CLI di Tanzu ma prima dell'aggiornamento di un cluster di gestione autonomo, tutti i gruppi di comandi della CLI specifici del contesto (tanzu cluster, tanzu kubernetes-release) non sono disponibili e non sono inclusi nell'output --help della CLI di Tanzu.

I cluster di gestione e i cluster del carico di lavoro utilizzano certificati client per eseguire l'autenticazione dei client. Questi certificati sono validi per un anno. Per rinnovarli, aggiornare i cluster almeno una volta all'anno o ruotarli manualmente come descritto in Rinnovo dei certificati del cluster (MC autonomo) o nell'articolo della Knowledge Base di VMware Come ruotare i certificati in un cluster Tanzu Kubernetes Grid.

Prerequisiti

  • Sono stati esaminati i problemi noti relativi all'aggiornamento. Vedere Problemi noti.
  • Sono stati eseguiti i passaggi indicati in Aggiornamento di Tanzu Kubernetes Grid prima del passaggio per l'aggiornamento dei cluster di gestione.
  • Con limitazioni Internet: Se la versione precedente di Tanzu Kubernetes Grid è stata distribuita in un ambiente con limitazioni Internet, sono stati eseguiti i passaggi indicati in Preparazione di un ambiente con limitazioni Internet per ricreare ed eseguire gli script necessari con le nuove versioni dell'immagine del componente.
  • Cluster personalizzati: Se sono presenti cluster del carico di lavoro che utilizzano una definizione di ClusterClass personalizzata, sono stati eseguiti i passaggi descritti in Aggiornamento dei cluster personalizzati.
  • LDAP: Se la versione precedente del cluster di gestione è integrata con un provider di identità LDAP, sono stati eseguiti i passaggi descritti in (Solo LDAP) Aggiornamento delle impostazioni LDAP di seguito.

(Solo LDAP) Aggiornamento delle impostazioni LDAP

A partire da Tanzu Kubernetes Grid v2.3, è necessario impostare le variabili di LDAP_BIND_DN e LDAP_BIND_PASSWORD durante la configurazione di un provider di identità LDAP. Prima di aggiornare un cluster di gestione configurato per l'utilizzo di un provider di identità LDAP a Tanzu Kubernetes Grid v2.4, impostare queste variabili se non è già stato fatto. L'aggiornamento del cluster di gestione senza impostare LDAP_BIND_DN e LDAP_BIND_PASSWORD causa la mancata distribuzione dell'App Pinniped e la risorsa personalizzata App restituisce un errore. Per ulteriori informazioni su queste variabili di configurazione, vedere Provider di identità - LDAP in Informazioni di riferimento sulle variabili del file di configurazione.

Per aggiornare LDAP_BIND_DN e LDAP_BIND_PASSWORD, è necessario utilizzare la versione del plug-in CLI management-cluster corrispondente alla versione del cluster di gestione. Prima di aggiornare il cluster di gestione, eseguire i passaggi seguenti:

  1. Aggiungere LDAP_BIND_DN e LDAP_BIND_PASSWORD al file di configurazione per il cluster di gestione.

  2. Verificare che nella macchina sia installata la versione corretta del plug-in management-cluster. Per Tanzu Kubernetes Grid v2.4.0, la versione corretta è v0.31.0.

    tanzu plugin list
    

    Se non è installata la versione corretta del plug-in management-cluster, eseguire le operazioni seguenti:

    1. Nell'elenco di tutte le versioni disponibili, individuare la versione del plug-in management-cluster corrispondente alla versione del cluster di gestione:

      tanzu plugin search -n management-cluster --show-details
      
    2. Installare il plug-in:

      tanzu plugin install management-cluster --version PLUGIN-VERSION
      

      Dove PLUGIN-VERSION è la versione individuata nel passaggio precedente.

  3. Generare un nuovo segreto per il pacchetto Pinniped eseguendo:

    FILTER_BY_ADDON_TYPE=authentication/pinniped tanzu management-cluster create --dry-run -f YOUR-MANAGEMENT-CLUSTER-CONFIG-FILE.yaml > PINNIPED-PACKAGE-SECRET.yaml
    

    Dove YOUR-MANAGEMENT-CLUSTER-CONFIG-FILE.yaml è il file di configurazione aggiornato nel passaggio precedente e PINNIPED-PACKAGE-SECRET.yaml è il nuovo segreto per il pacchetto Pinniped.

  4. Verificare che il segreto risultante includa le impostazioni aggiornate, impostare il contesto kubectl sul cluster di gestione e applicare il segreto:

    kubectl apply -f PINNIPED-PACKAGE-SECRET.yaml
    

Procedura

  1. Eseguire il comando tanzu context use per visualizzare un elenco interattivo dei cluster di gestione disponibili per l'aggiornamento.

    tanzu context use
    
  2. Selezionare il cluster di gestione che si desidera aggiornare. Per ulteriori informazioni, vedere Elenco dei cluster di gestione e modifica del contesto.

  3. Recuperare le credenziali di amministratore del cluster. L'alias della CLI di Tanzu mc è l'abbreviazione di management-cluster.

    tanzu mc kubeconfig get --admin
    
  4. Connettere kubectl al cluster di gestione.

    kubectl config use-context MGMT-CLUSTER-NAME-admin@MGMT-CLUSTER-NAME.
    

    È possibile copiare il comando esatto, incluso il nome del contesto del cluster di gestione, dall'output del comando tanzu mc kubeconfig get --admin eseguito nel passaggio precedente.

  5. Se il cluster di gestione è in esecuzione in Azure, impostare la variabile di ambiente AZURE_CLIENT_SECRET prima di aggiornare il cluster:

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. Eseguire il comando tanzu mc upgrade e immettere y per confermare.

    Nota

    Dopo aver eseguito questo comando, gli utenti non amministratori non possono accedere ai cluster del carico di lavoro associati finché il riavvio dei pod Pinniped non viene completato.

    tanzu mc upgrade
    

    Se più immagini di macchine virtuali di base nell'account IaaS hanno la stessa versione di Kubernetes a cui si sta eseguendo l'aggiornamento, utilizzare l'opzione --os-name per specificare il sistema operativo desiderato. Per ulteriori informazioni, vedere Selezione di un sistema operativo durante l'aggiornamento del cluster.

    Se ad esempio in vSphere sono stati caricati entrambi i modelli OVA di Photon e Ubuntu con Kubernetes v1.27.5, specificare --os-name ubuntu per aggiornare il cluster di gestione in modo che venga eseguito in una macchina virtuale Ubuntu.

    tanzu mc upgrade --os-name ubuntu
    

    Per ignorare il passaggio di conferma quando si aggiorna un cluster, specificare l'opzione --yes.

    tanzu mc upgrade --yes
    

    Il processo di aggiornamento aggiorna innanzitutto i Cluster API Provider per vSphere, Amazon Web Services (AWS) o Azure in esecuzione nel cluster di gestione. Quindi, aggiorna la versione di Kubernetes in tutti i nodi del piano di controllo e i nodi worker del cluster di gestione.

    Importante

    Durante l'aggiornamento di un cluster di gestione, non eseguire i comandi tanzu cluster o tanzu mc nei confronti di tale cluster o dei cluster del carico di lavoro che gestisce, ad esempio da un'altra macchina di bootstrap o da una finestra shell.

    Se si verifica il timeout dell'aggiornamento prima del completamento, eseguire nuovamente tanzu mc upgrade e specificare l'opzione --timeout impostando un valore maggiore del valore predefinito di 30 minuti.

    tanzu mc upgrade --timeout 45m0s
    
    Nota

    Dopo aver installato la CLI della versione v2.4 ma prima dell'aggiornamento di un cluster di gestione, tutti i gruppi di comandi della CLI specifici del contesto (tanzu cluster, tanzu kubernetes-release) e tutti i comandi del plug-in management-cluster ad eccezione di tanzu mc upgrade e tanzu mc create non sono disponibili e non sono inclusi nell'output --help della CLI di Tanzu.

  7. Quando l'aggiornamento viene completato, eseguire nuovamente il comando tanzu cluster list con le opzioni --include-management-cluster -A per verificare che il cluster di gestione sia stato aggiornato.

    tanzu cluster list --include-management-cluster -A
    

    Il cluster di gestione esegue ora la nuova versione di Kubernetes, ma i cluster del carico di lavoro eseguono ancora versioni precedenti di Kubernetes.

     NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLA   TKR
     k8s-1-25-10-cluster  default     running   1/1           1/1      v1.25.10+vmware.1  <none>      dev   v1.25.10---vmware.1-tkg.1
     k8s-1-26-5-cluster   default     running   1/1           1/1      v1.26.5+vmware.1  <none>       dev   v1.26.5---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.27.5+vmware.1   management  dev   v1.27.5---vmware.2-tkg.1
    
  8. Rigenerare il kubeconfig di amministrazione:

    tanzu management-cluster kubeconfig get --admin
    

    Un output di esempio del comando è:

    Credentials of cluster 'mgmt' have been saved
    You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
    
    Importante

    Se non si rinnova kubeconfig dopo l'aggiornamento, non sarà possibile accedere al cluster dopo la scadenza.

Passaggi successivi

Ora è possibile:

check-circle-line exclamation-circle-line close-line
Scroll to top icon