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.

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

Nota

Dopo aver installato la CLI della versione v2.1 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) più 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.

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.
  • 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.
  • Se è presente un cluster di gestione a una versione fino a 1.6.0 inclusa già in esecuzione in vSphere 7 senza un cluster supervisore e si desidera aggiornare vSphere a vSphere 8, aggiornare il cluster di gestione e i relativi cluster del carico di lavoro a Tanzu Kubernetes Grid v2.1.x o v1.6.1 se possibile prima di eseguire l'aggiornamento da vSphere 7 a vSphere 8. Se si esegue un cluster di gestione autonomo in vSphere 7 e l'istanza di vSphere viene aggiornata a vSphere 8 prima di eseguire l'aggiornamento a Tanzu Kubernetes Grid v2.1.x o v1.6.1, è necessario aggiornare il cluster di gestione e i cluster del carico di lavoro non appena possibile. Le versioni di Tanzu Kubernetes Grid fino a v1.6.0 incluse non sono supportate in vSphere 8.

Procedura

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

    tanzu login
    
  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 CLUSTER-NAME-admin@CLUSTER-NAME.
    
  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. Se il cluster di gestione è stato creato originariamente in TKG v1.3 o versioni precedenti, o se non si è sicuri, eseguire le operazioni seguenti. Questi passaggi aggiungono un segreto necessario per aggiornare i cluster di gestione alla loro configurazione basata su pacchetti in TKG v2.1, ma che non era incluso nei cluster di gestione creati prima di TKG v1.4:

    1. Disattivare il flag della funzionalità package-based-cc per abilitare l'esecuzione di prova della creazione del cluster di gestione legacy:

      tanzu config set features.management-cluster.package-based-cc false
      
    2. Ottenere un manifest di tipo legacy più aggiornato per il cluster di gestione mediante un'esecuzione di prova della creazione del cluster di gestione con il file di configurazione originale. Ad esempio, su vSphere:

      tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
      Do you want to configure vSphere with Tanzu? [y/N]: N
      Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
      
      
    3. Estrarre il segreto -config-values necessario:

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. Nel contesto del cluster di gestione, applicare il segreto al cluster di gestione:

      kubectl apply -f mgmt-config-secret.yaml
      
    5. Riattivare il flag della funzionalità package-based-cc per disabilitare l'esecuzione di prova della creazione del cluster di gestione legacy.

      tanzu config set features.management-cluster.package-based-cc true
      
  7. 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.24.10, 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.1 ma prima dell'aggiornamento di un cluster di gestione, tutti i gruppi di comandi della CLI specifici del contesto (tanzu cluster, tanzu kubernetes-release) più 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.

  8. 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-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1  <none>      dev   v1.22.13---vmware.1-tkg.1
     k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  9. 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