vSphere with Tanzu supporta gli aggiornamenti in sequenza per i Supervisori e i cluster di Tanzu Kubernetes Grid e per l'infrastruttura che supporta tali cluster.

Nota: Non è possibile passare i Supervisori che utilizzano vSphere Update Manager a vSphere Lifecycle Manager. Passaggio da vSphere Update Manager a vSphere Lifecycle Manager. è supportato solo per i cluster in cui non è abilitato vSphere with Tanzu.

Come vengono aggiornati i cluster Supervisori e Tanzu Kubernetes Grid

vSphere with Tanzu utilizza un modello di aggiornamento in sequenza per i Supervisori e i cluster di Tanzu Kubernetes Grid. Il modello di aggiornamento in sequenza garantisce un tempo di inattività minimo per i carichi di lavoro del cluster durante il processo di aggiornamento. Gli aggiornamenti in sequenza includono l'aggiornamento delle versioni del software Kubernetes e l'infrastruttura e i servizi che supportano i cluster di Kubernetes, come le configurazioni e le risorse delle macchine virtuali, Spazi dei nomi vSphere e le risorse personalizzate.

Affinché l'aggiornamento abbia esito positivo, l'ambiente deve soddisfare diversi requisiti di compatibilità. Il sistema applica condizioni di ricontrollo per garantire che i cluster siano pronti per gli aggiornamenti e supporta il rollback se l'aggiornamento del cluster non riesce.
Nota: Un aggiornamento di vSphere with Tanzu implica più di un semplice upgrade della versione del software Kubernetes. Per tale processo si utilizza il termine "aggiornamento" anziché il termine "upgrade", che è una forma limitata di aggiornamento che incrementa la versione del software.

Dipendenza tra gli aggiornamenti del Supervisore e gli aggiornamenti dei cluster di Tanzu Kubernetes Grid

Il Supervisore e i cluster di Tanzu Kubernetes Grid devono essere aggiornati separatamente. Si tenga tuttavia presente che ci sono dipendenze tra i due.

È probabile che l'aggiornamento di un Supervisore attivi un aggiornamento in sequenza dei cluster di Tanzu Kubernetes Grid distribuiti in tale cluster. Vedere Aggiornamento del Supervisore mediante l'esecuzione di un aggiornamento degli Spazi dei nomi vSphere.

Potrebbe essere necessario aggiornare uno o più cluster di Tanzu Kubernetes Grid prima di aggiornare un Supervisore se il cluster di Tanzu Kubernetes Grid non è conforme alla versione del Supervisore di destinazione. Vedere Verifica della compatibilità dei cluster Tanzu Kubernetes Grid per l'aggiornamento del Supervisore.

Informazioni sugli aggiornamenti di Supervisore

Quando si avvia un aggiornamento per un Supervisore, il sistema crea una nuova macchina virtuale del piano di controllo e la unisce al piano di controllo del Supervisore esistente. Durante questa fase dell'aggiornamento, l'inventario di vSphere mostra quattro macchine virtuali del piano di controllo, in quanto il sistema aggiunge una nuova macchina virtuale aggiornata e quindi rimuove la macchina virtuale obsoleta. Gli oggetti vengono migrati da una delle macchine virtuali del piano di controllo precedente a quella nuova, quindi la macchina virtuale del piano di controllo precedente viene rimossa. Questo processo viene ripetuto per ogni singola macchina virtuale del piano di controllo, finché tutte le macchine virtuali non vengono aggiornate. Una volta aggiornato il piano di controllo, le macchine virtuali vengono aggiornate con una modalità simile. I nodi worker sono gli host ESXi e i processi Spherelet in ogni host ESXi vengono aggiornati uno alla volta.

È possibile scegliere tra i seguenti aggiornamenti:
  • Aggiornare Spazi dei nomi vSphere
  • Aggiornamento di tutto, incluse le versioni di VMware e Kubernetes.

Aggiornamento di Spazi dei nomi vSphere.

È possibile utilizzare il workflow di aggiornamento di Spazi dei nomi vSphere per aggiornare la versione Kubernetes eseguita da Supervisore, ad esempio da Kubernetes 1.23 a Kubernetes 1.24, e l'infrastruttura che supporta i cluster Supervisore e Tanzu Kubernetes Grid. Questo tipo di aggiornamento è più frequente e viene utilizzato per stare al passo con la frequenza delle versioni di Kubernetes. Di seguito è disponibile la sequenza di aggiornamento di Spazi dei nomi vSphere.
  1. Aggiornare vCenter Server.
  2. Eseguire un aggiornamento di Spazi dei nomi vSphere (incluso l'aggiornamento di Kubernetes).

Per eseguire un aggiornamento di Spazi dei nomi vSphere, vedere Aggiornamento del Supervisore mediante l'esecuzione di un aggiornamento degli Spazi dei nomi vSphere.

Aggiornamento di tutti i componenti di vSphere with Tanzu

È possibile utilizzare il workflow per l'aggiornamento di tutti gli elementi per aggiornare tutti i componenti di vSphere with Tanzu. Questo tipo di aggiornamento è necessario quando si aggiornano le versioni principali, ad esempio da NSX-T 3.X a 4 e da vSphere 7.X a 8.

Nota: Prima di eseguire l'aggiornamento a vCenter Server 8.0, assicurarsi che la versione di Kubernetes di tutti i Supervisori sia almeno la 1.22, possibilmente la versione più recente supportata, e che la versione di Release di Tanzu Kubernetes dei cluster Tanzu Kubernetes Grid sia la 1.22, possibilmente la versione più recente supportata.
Questo workflow di aggiornamento è frequente in base al momento in cui sono presenti nuove versioni dei prodotti VMware. Questa è la sequenza del workflow per l'aggiornamento di tutti gli elementi:
  1. Controllare la matrice di interoperabilità VMware https://interopmatrix.vmware.com/Interoperability per vCenter Server e NSX per determinare la compatibilità. La funzionalità di vSphere with Tanzu viene fornita dal software WCP (Workload Control Plane) fornito con vCenter Server.
  2. Aggiornare NSX, se compatibile.
  3. Aggiornare vCenter Server.
  4. Aggiornamento di vSphere Distributed Switch.
  5. Upgrade degli host ESXi.
  6. Verificare la compatibilità di tutti i cluster di Tanzu Kubernetes Grid con provisioning con la versione Supervisore di destinazione.
  7. Aggiornare Spazi dei nomi vSphere (inclusa la versione Kubernetes Supervisore).
  8. Aggiornare i cluster Tanzu Kubernetes Grid
Il diagramma illustra il workflow generale per gli aggiornamenti di vSphere with Tanzu. Il diagramma mostra i passaggi per gli aggiornamenti vSphere with Tanzu.

Informazioni sugli aggiornamenti dei cluster di Tanzu Kubernetes Grid

Quando si aggiorna un Supervisore, vengono aggiornati anche i componenti dell'infrastruttura che supportano i cluster di Tanzu Kubernetes Grid distribuiti in tale Supervisore, ad esempio Tanzu Kubernetes Grid 2.0. Ogni aggiornamento dell'infrastruttura può includere aggiornamenti per i servizi che supportano Tanzu Kubernetes Grid 2.0 (CNI, CSI, CPI) e le impostazioni di configurazione aggiornate per le macchine virtuali del piano di controllo e i nodi worker che possono essere applicati ai cluster di Tanzu Kubernetes Grid esistenti. Per assicurarsi che la configurazione soddisfi i requisiti di compatibilità, vSphere with Tanzu esegue verifiche preliminari durante l'aggiornamento in sequenza e applica la conformità.

Per eseguire un aggiornamento in sequenza di un cluster Tanzu Kubernetes Grid, si aggiorna il manifesto del cluster. Vedere Aggiornamento dei cluster TKG 2 in Supervisor. Si noti, tuttavia, che quando viene eseguito un aggiornamento di Spazi dei nomi vSphere, il sistema propaga immediatamente le configurazioni aggiornate a tutti i cluster Tanzu Kubernetes Grid. Questi aggiornamenti possono attivare automaticamente un aggiornamento in sequenza del piano di controllo e dei nodi di lavoro Tanzu Kubernetes Grid.

Il processo di aggiornamento in sequenza per la sostituzione dei nodi del cluster è simile al processo di aggiornamento in sequenza dei pod in una distribuzione Kubernetes. Sono disponibili due controller distinti responsabili dell'esecuzione di un aggiornamento in sequenza dei cluster Tanzu Kubernetes Grid: il controller dei componenti aggiuntivi e il controller TanzuKubernetesCluster. All'interno di questi due controller sono presenti tre fasi chiave per un aggiornamento in sequenza: aggiornamento dei componenti aggiuntivi, aggiornamento del piano di controllo e aggiornamento dei nodi di lavoro. Queste fasi vengono eseguite in ordine e le verifiche preliminari impediscono l'inizio di un passaggio finché quello precedente non è sufficientemente avanzato. Questi passaggi possono essere ignorati se si stabilisce che non sono necessari. Ad esempio, un aggiornamento può influire solo sui nodi worker e pertanto non richiede alcun aggiornamento dei componenti aggiuntivi o dei piani di controllo.

Durante il processo di aggiornamento, il sistema aggiunge un nuovo nodo di cluster e attende che il nodo passi online con la versione di Kubernetes di destinazione. Il sistema contrassegna quindi il vecchio nodo per l'eliminazione, passa al nodo successivo e ripete il processo. Il vecchio nodo non viene eliminato finché non vengono rimossi tutti i pod. Ad esempio, se un pod viene definito con PodDisruptionBudgets che impedisce lo svuotamento completo di un nodo, il nodo viene isolato ma non viene rimosso finché non sarà possibile eliminare tale pod. Il sistema esegue innanzitutto l'upgrade di tutti i nodi del piano di controllo e quindi dei nodi worker. Durante un aggiornamento, lo stato del cluster di Tanzu Kubernetes Grid diventa "aggiornamento in corso". Al termine del processo di aggiornamento in sequenza, lo stato del cluster di Tanzu Kubernetes Grid diventa "in esecuzione".

I pod in esecuzione in un cluster di Tanzu Kubernetes Grid non gestiti da un controller di replica verranno eliminati durante un upgrade della versione di Kubernetes come parte dello svuotamento del nodo worker durante l'aggiornamento del cluster di Tanzu Kubernetes Grid. Questo succede se l'aggiornamento del cluster viene attivato manualmente o automaticamente da un aggiornamento di Spazi dei nomi vSphere. I pod non gestiti da un controller di replica includono i pod che non vengono creati come parte di una specifica Deployment o ReplicaSet. Per ulteriori informazioni, fare riferimento all'argomento Pod Lifecycle: Pod lifetime nella documentazione di Kubernetes.