È possibile aggiornare un cluster di Tanzu Kubernetes, inclusa la versione di Kubernetes, aggiornando la versione di distribuzione, la classe di macchine virtuali o la classe di storage.
Requisiti di aggiornamento del cluster di Tanzu Kubernetes
Prima di eseguire un aggiornamento del cluster di Tanzu Kubernetes, leggere le note di rilascio.
Per aggiornare i cluster di Tanzu Kubernetes, eseguire innanzitutto un aggiornamento degli spazi dei nomi di vSphere. Quando si esegue un aggiornamento dello spazio dei nomi di vSphere, tutti i cluster di Tanzu Kubernetes devono essere in esecuzione. Vedere Aggiornamento dei Cluster supervisore eseguendo un aggiornamento degli spazi dei nomi vSphere.
La versione del software Kubernetes è una stringa nel manifesto del cluster che rappresenta una notazione semantica della versione. Ad esempio, se la versione è 1.18.5
, "1" è la versione principale, "18" è la versione secondaria e "5" è la versione patch.
- Non è possibile diminuire la versione. Ad esempio, non è possibile eseguire il downgrade da Kubernetes v1.18 a v1.17.
- È possibile aggiornare la versione secondaria, ma solo in modo incrementale. Il salto di versione secondaria non è supportato. Ad esempio, è possibile eseguire l'aggiornamento da Kubernetes v1.17 a v1.18, ma non è possibile eseguire l'aggiornamento da Kubernetes v1.16 a v1.18.
- Non è possibile modificare la versione principale, ad esempio eseguendo l'aggiornamento da v1.18 a v2.0.
version: v1.18.5
, che viene risolta nell'immagine più recente corrispondente a tale versione patch, o
version: v1.18
, che viene risolta nella versione patch corrispondente più recente. La versione risolta viene visualizzata come
fullVersion
nel manifesto del cluster, ad esempio
v1.18.5+vmware.1-tkg.1.c40d30d
.
fullVersion
al manifesto. Per eseguire un aggiornamento della versione di
Tanzu Kubernetes utilizzando un'abbreviazione della versione, è necessario annullare l'impostazione (rimuovere) di
fullVersion
dal manifesto.
Esecuzione di un aggiornamento del cluster di Tanzu Kubernetes
TanzuKubernetesCluster
:
VirtualMachineImage
corrispondente a una versione di distribuzione, viene avviato un aggiornamento in sequenza man mano che il sistema tenta di avviare l'esecuzione di tutti i nodi nella nuova immagine. Inoltre, l'aggiornamento di un
Cluster supervisore attiverà probabilmente un aggiornamento in sequenza dei cluster di
Tanzu Kubernetes distribuiti nel cluster. Ad esempio, quando
vmware-system-tkg-controller-manager
viene aggiornato, il sistema introduce nuovi valori nel generatore di manifesti e il controller avvia un aggiornamento in sequenza per distribuire tali valori.
Metodi di aggiornamento del manifesto del cluster
- Utilizzando il comando
kubectl edit tanzukubernetescluster/CLUSTER-NAME
. Questo comando apre l'intero manifesto del cluster nell'editor di testo definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. Quando si salva il file, il cluster viene aggiornato con le modifiche. Per ulteriori informazioni sul comandokubectl edit
, vedere l'argomento dedicato al comando edit nella documentazione di Kubernetes. Per utilizzare l'approcciokubectl edit
, fare riferimento agli argomenti seguenti: - Utilizzando il comando
kubectl patch
. Questo comando esegue un aggiornamento "sul posto" di un cluster. Lo scopo di questo comando è fornire un metodo per aggiornare le versioni di Kubernetes ed è l'approccio qui documentato. Per ulteriori informazioni sul comandokubectl patch
, vedere la pagina sull'aggiornamento degli oggetti API sul posto utilizzando kubectl patch nella documentazione di Kubernetes. Per utilizzare l'approcciokubectl patch
, fare riferimento all'argomento seguente: - Utilizzando il comando
kubectl apply
con un file YAML locale aggiornato manualmente. Anche se questo approccio ha il vantaggio di essere simile al modo in cui si crea un cluster, se non si dispone dell'accesso al file YAML del cluster corrente, questo approccio può essere distruttivo e non è pertanto consigliabile.