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.
ImportanteTanzu 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.
A partire da ora, 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.
NotaDopo 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.
ClusterClass
personalizzata, sono stati eseguiti i passaggi descritti in Aggiornamento dei cluster personalizzati.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.3, 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:
Aggiungere LDAP_BIND_DN
e LDAP_BIND_PASSWORD
al file di configurazione per il cluster di gestione.
Verificare che nella macchina sia installata la versione corretta del plug-in management-cluster
. Per Tanzu Kubernetes Grid v2.2.0, la versione corretta è v0.29.0
.
tanzu plugin list
Se non è installata la versione corretta del plug-in management-cluster
, eseguire le operazioni seguenti:
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
Installare il plug-in:
tanzu plugin install management-cluster --version PLUGIN-VERSION
Dove PLUGIN-VERSION
è la versione individuata nel passaggio precedente.
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.
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
Eseguire il comando tanzu context use
per visualizzare un elenco interattivo dei cluster di gestione disponibili per l'aggiornamento.
tanzu context use
Selezionare il cluster di gestione che si desidera aggiornare. Per ulteriori informazioni, vedere Elenco dei cluster di gestione e modifica del contesto.
Recuperare le credenziali di amministratore del cluster. L'alias della CLI di Tanzu mc
è l'abbreviazione di management-cluster
.
tanzu mc kubeconfig get --admin
Connettere kubectl
al cluster di gestione.
kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
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
Eseguire il comando tanzu mc upgrade
e immettere y
per confermare.
NotaDopo 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 dispongono della stessa versione di Kubernetes a cui si sta eseguendo l'aggiornamento, è possibile includere --os-name
e altre opzioni per specificare il sistema operativo di destinazione, come descritto in Selezionare un sistema operativo a cui eseguire l'aggiornamento:
tanzu mc upgrade --os-name ubuntu
In vSphere, è possibile utilizzare l'opzione --vsphere-vm-template-name
per specificare un modello OVA di destinazione per i nodi del cluster, come descritto in Selezionare un modello OVA a cui eseguire l'aggiornamento:
tanzu mc upgrade --vsphere-vm-template-name "/dc0/vm/tanzu/ubuntu-2004-kube-v1.29.9-vmware.1"
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.
ImportanteDurante l'aggiornamento di un cluster di gestione, non eseguire i comandi
tanzu cluster
otanzu 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
NotaDopo aver installato la versione v2.3 della CLI 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-inmanagement-cluster
ad eccezione ditanzu mc upgrade
etanzu mc create
non sono disponibili e non sono inclusi nell'output--help
della CLI di Tanzu.
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-24-14-cluster default running 1/1 1/1 v1.24.14+vmware.1 <none> dev v1.24.14---vmware.1-tkg.1
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
mgmt-cluster tkg-system running 1/1 1/1 v1.26.8+vmware.1 management dev v1.26.8---vmware.2-tkg.1
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'
ImportanteSe non si rinnova
kubeconfig
dopo l'aggiornamento, non sarà possibile accedere al cluster dopo la scadenza.
Ora è possibile:
Aggiornare i cluster del carico di lavoro gestiti da questo cluster di gestione.
Creare nuovi cluster del carico di lavoro. Per impostazione predefinita, tutti i nuovi cluster distribuiti con questo cluster di gestione eseguiranno la nuova versione predefinita di Kubernetes. Se necessario, è tuttavia possibile utilizzare il comando tanzu cluster create
con l'opzione --tkr
per distribuire nuovi cluster che eseguono versioni diverse di Kubernetes. Per ulteriori informazioni, vedere Più versioni di Kubernetes.