Panoramica dell'upgrade

La pianificazione di un upgrade del cluster per Google Distributed Cloud solo software per VMware ti aiuta a determinare l'ordine di upgrade richiesto, scegliere strumenti di gestione compatibili e ridurre al minimo l'interruzione del workload in un ambiente multi-cluster. Per un elenco di controllo di idoneità pre-upgrade, consulta Best practice per l'upgrade.

In che modo le versioni, l'ordine e gli strumenti influiscono sugli upgrade

L'ordine in cui esegui l'upgrade dei cluster, gli strumenti che utilizzi e i controlli che devi eseguire variano in modo significativo a seconda di quanto segue:

  • La versione da cui inizi
  • La versione di cui esegui l'upgrade
  • Se esegui l'upgrade da un cluster avanzato o non avanzato
  • Se esegui l'upgrade a un cluster avanzato o non avanzato
  • Indica se Controlplane V2 è abilitato nel cluster utente

A seconda della versione di partenza, l'ordine in cui esegui l'upgrade dei cluster, gli strumenti che utilizzi per l'aggiornamento, le versioni dei cluster e ciò che puoi e non puoi fare variano in modo significativo.

Controlla se un cluster è avanzato o meno

Per verificare se i tuoi cluster sono avanzati o meno, identifica la versione che stai utilizzando:

  • Se i tuoi cluster utilizzano la versione 1.30 o precedente, non sono cluster avanzati.
  • Se i tuoi cluster utilizzano la versione 1.33 e non hai disattivato esplicitamente i cluster avanzati, si tratta di cluster avanzati.
  • Se i tuoi cluster utilizzano la versione 1.34 e successive, sono cluster avanzati.

Se i tuoi cluster utilizzano le versioni 1.31 e 1.32, controlla se un cluster è avanzato o meno controllando le risorse personalizzate del cluster con kubectl:

  1. Nel kubeconfig del cluster di amministrazione, controlla il campo della specifica enableAdvancedCluster per il cluster di amministrazione:

    kubectl get onpremadminclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Sostituisci ADMIN_CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster di amministrazione.

  2. Nel kubeconfig del cluster di amministrazione, controlla il campo della specifica enableAdvancedCluster per i cluster utente:

    kubectl get onpremuserclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

Quando i cluster avanzati sono abilitati, l'output è simile al seguente:

NAME              VERSION           ADVANCED
gke-admin-abc12   1.32.0-gke.1085   true

Se ADVANCED è true, si tratta di un cluster avanzato. Per la versione 1.32 o precedenti, ADVANCED potrebbe essere visualizzato come <none>.

Processo di upgrade generale

Le sezioni seguenti descrivono il processo di upgrade complessivo durante l'upgrade dei cluster, a seconda del tipo di cluster di origine e di destinazione.

Prima di iniziare un upgrade, consulta le informazioni dettagliate su come le versioni influiscono sugli upgrade. Consulta le regole per l'upgrade della versione per un elenco dettagliato delle dipendenze per versione e informazioni su come saltare le versioni e sulle regole di disallineamento delle versioni.

Cluster avanzati e non avanzati

Esistono due tipi di cluster: avanzati e non avanzati. Tutti i cluster creati nelle versioni 1.33 o successive sono cluster avanzati. I cluster avanzati utilizzano architetture migliorate che offrono maggiore flessibilità e scalabilità.

Dopo aver eseguito l'upgrade dei cluster ai cluster avanzati, utilizzerai sempre i cluster avanzati e la procedura di upgrade dei cluster avanzati. Il fatto che un cluster sia avanzato o meno è importante solo quando esegui l'upgrade da una versione precedente alla 1.33.

I cluster avanzati utilizzano un'architettura Google Distributed Cloud consolidata utilizzando Google Distributed Cloud (solo software) per bare metal come framework di base per Google Distributed Cloud (solo software) per VMware. Potresti vedere riferimenti a "bare metal" nelle etichette dei nodi, nelle risorse API e nei tag di sistema.

La funzionalità dei cluster avanzati implementa un'architettura dei cluster che allinea meglio Google Distributed Cloud (solo software) per VMware con il resto dei prodotti Google Distributed Cloud. Un cluster con cluster avanzati abilitati ha una piattaforma condivisa con altri cluster Google Distributed Cloud. Questa piattaforma condivisa utilizza gli stessi controller e agenti, il che aumenta l'affidabilità e può aiutare Google a fornire un'assistenza migliore. Inoltre, quando i cluster avanzati sono abilitati, le prestazioni delle operazioni sui cluster sono migliori.

La nuova architettura offre un'esperienza e un'implementazione coerenti con tutte le altre offerte di Google Distributed Cloud. Per maggiori dettagli sulle funzionalità disponibili per i cluster avanzati rispetto ai cluster non avanzati, consulta Supporto delle funzionalità dei cluster avanzati.

Esegui l'upgrade dai cluster avanzati ai cluster avanzati (versioni attuali, a partire dalla 1.31)

Nella versione 1.32 e successive, quando esegui l'upgrade da un cluster Advanced a un altro, puoi eseguire sia gli upgrade della versione patch sia gli upgrade sequenziali della versione secondaria. Nella versione 1.31 Preview, puoi eseguire solo upgrade della versione patch all'interno della versione 1.31.

Per eseguire questo upgrade, puoi utilizzare l'interfaccia a riga di comando gkectl, Google Cloud CLI, la console Google Cloud o Terraform (a seconda della versione).

Per eseguire l'upgrade da un cluster Advanced a un cluster Advanced, devi seguire questo ordine:

  1. Esegui l'upgrade della workstation di amministrazione, se applicabile.
  2. Utilizza gkectl diagnose cluster per verificare che il cluster di amministrazione sia integro. Risolvi eventuali problemi.
  3. Esegui l'upgrade del cluster di amministrazione.
  4. Utilizza gkectl diagnose cluster per verificare che l'upgrade sia riuscito e che i cluster utente siano integri. Risolvi eventuali problemi.
  5. Esegui l'upgrade dei cluster utente, uno alla volta. Puoi eseguire l'upgrade del control plane e dei node pool del cluster utente insieme o separatamente. Per ulteriori informazioni, consulta Esegui l'upgrade dei node pool.
  6. Verifica che l'upgrade sia riuscito utilizzando gkectl diagnose cluster.

Quando tutti i node pool di un cluster utente hanno la stessa versione del control plane del cluster utente, viene eseguito l'upgrade del cluster utente e l'upgrade è completo.

Il control plane del cluster utente viene eseguito sul cluster utente stesso e viene aggiornato durante l'upgrade del cluster utente. L'upgrade dei nodi del control plane del cluster di amministrazione viene eseguito durante l'upgrade del cluster di amministrazione.

Per saperne di più su come diagnosticare i cluster utilizzando gkectl diagnose cluster, consulta Diagnostica i cluster.

Per informazioni su come eseguire l'upgrade da cluster Advanced a cluster Advanced, consulta Esegui l'upgrade di un cluster.

Esegui l'upgrade dai cluster non avanzati ai cluster avanzati

Gli upgrade da un cluster non avanzato a un cluster avanzato vengono eseguiti solo per le versioni 1.31, 1.32, 1.33 e 1.34. Per ulteriori informazioni sull'upgrade da cluster non avanzati a cluster avanzati in queste versioni, consulta Regole per l'upgrade della versione.

Per eseguire l'upgrade da un cluster non avanzato a un cluster avanzato, devi utilizzare gkectl con la stessa versione della versione di destinazione (ad esempio, se esegui l'upgrade alla versione 1.32.0, devi utilizzare gkectl versione 1.32.0) e seguire questo ordine:

  1. Esegui l'upgrade della workstation di amministrazione e degli artefatti.
  2. Utilizza gkectl diagnose cluster per verificare che il cluster di amministrazione sia integro. Risolvi eventuali problemi.
  3. Esegui l'upgrade del cluster di amministrazione.
  4. Utilizza gkectl diagnose cluster per verificare che l'upgrade sia riuscito e che i cluster utente siano integri. Risolvi eventuali problemi.
  5. Esegui l'upgrade del cluster utente.
  6. Verifica che l'upgrade sia riuscito utilizzando gkectl diagnose cluster.

Per saperne di più su come diagnosticare i cluster utilizzando gkectl diagnose cluster, consulta Diagnostica i cluster.

Per saperne di più su come eseguire l'upgrade da un cluster non avanzato a un cluster avanzato, consulta Esegui l'aggiornamento o l'upgrade da un cluster non avanzato a un cluster avanzato.

Upgrade da un cluster non avanzato a un cluster non avanzato

Puoi eseguire l'upgrade da cluster non avanzati a un altro cluster non avanzato per la versione 1.33 e precedenti. Per i dettagli sulle versioni che consentono gli upgrade da un cluster non avanzato a un altro cluster non avanzato, consulta Regole per la versione di upgrade.

L'ordine in cui esegui l'upgrade dei cluster non avanzati dipende dalla versione di destinazione:

  • Per le versioni di destinazione 1.31, 1.32 e 1.33, devi eseguire l'upgrade del cluster di amministrazione prima di eseguire l'upgrade dei cluster utente.
  • Per le versioni target 1.30 e precedenti, devi eseguire l'upgrade di tutti i cluster utente prima di eseguire l'upgrade del cluster di amministrazione.

Esegui l'upgrade alla versione 1.31, 1.32 o 1.33

Per eseguire l'upgrade alla versione 1.31, 1.32 o 1.33 mantenendo i cluster non avanzati, devi seguire questo ordine:

  1. Esegui l'upgrade della workstation di amministrazione e prepara gli artefatti del bundle.
  2. Utilizza gkectl diagnose cluster per verificare che il cluster di amministrazione sia integro. Risolvi eventuali problemi.
  3. Esegui l'upgrade del cluster di amministrazione.
  4. Utilizza gkectl diagnose cluster per verificare che l'upgrade sia riuscito e che i cluster utente siano integri. Risolvi eventuali problemi.
  5. Esegui l'upgrade dei cluster utente, uno alla volta.
  6. Verifica che l'upgrade sia riuscito utilizzando gkectl diagnose cluster.

Esegui l'upgrade alla versione 1.30 o precedente

Per eseguire l'upgrade alla versione 1.30 o precedente, devi seguire questo ordine:

  1. Esegui l'upgrade della workstation di amministrazione e prepara gli artefatti del bundle.
  2. Utilizza gkectl diagnose cluster per verificare che i cluster utente siano integri. Risolvi eventuali problemi.
  3. Esegui l'upgrade di tutti i cluster utente, uno alla volta.
  4. Utilizza gkectl diagnose cluster per verificare che l'upgrade sia riuscito e che il cluster di amministrazione sia integro. Risolvi eventuali problemi.
  5. Esegui l'upgrade del cluster di amministrazione.
  6. Verifica che l'upgrade sia riuscito utilizzando gkectl diagnose cluster.

Per saperne di più su come diagnosticare i cluster utilizzando gkectl diagnose cluster, consulta Diagnostica i cluster.

Per saperne di più su come eseguire l'upgrade da un cluster non avanzato a un cluster non avanzato, consulta Esegui l'upgrade e la manutenzione dei cluster non avanzati.

Upgrade dei cluster

Esegui sempre l'upgrade dei cluster di amministrazione uno alla volta.

Quando esegui l'upgrade dei cluster utente, puoi eseguire l'upgrade dell'intero cluster utente (il control plane e tutti i node pool nel cluster contemporaneamente) oppure puoi eseguire l'upgrade del control plane del cluster utente e lasciare i node pool alla versione attuale. L'approccio da adottare dipende da diversi fattori, tra cui:

  • L'ambiente (di produzione o non di produzione) in cui si trova il cluster.
  • La durata del periodo di manutenzione.
  • La versione del cluster utente.

Ad esempio, in un ambiente di sviluppo, potresti voler mantenere la procedura semplice ed eseguire l'upgrade sia del control plane del cluster utente sia di tutti i pool di nodi. Tuttavia, in un ambiente di produzione con un periodo di manutenzione breve, potresti voler eseguire l'upgrade solo del control plane, perché richiede meno tempo e, con i control plane ad alta affidabilità (HA), l'upgrade del control plane non dovrebbe interrompere i workload degli utenti.

Scegli uno strumento per eseguire l'upgrade dei cluster

Lo strumento da utilizzare dipende da come e cosa intendi eseguire l'upgrade.

Per i cluster di amministrazione, devi utilizzare gkectl per eseguire l'upgrade.

Per i cluster utente, puoi utilizzare uno dei seguenti strumenti per eseguire l'upgrade dei cluster:

  • Lo strumento a riga di comando gkectl (necessario per gli upgrade da cluster non avanzati a cluster avanzati)
  • Terraform, se hai creato il cluster utente utilizzando Terraform
  • ConsoleGoogle Cloud
  • Google Cloud CLI

La tabella seguente elenca gli strumenti che supportano i casi d'uso.

Esegui l'upgrade del caso d'uso gkectl gcloud CLI console Terraform Note e limitazioni
Esegui l'upgrade dei cluster di amministrazione (qualsiasi percorso) Sì No No No I cluster di amministrazione richiedono sempre gkectl.
Esegui l'upgrade dei cluster non avanzati a cluster avanzati (conversione) Sì No No No La versione gkectl deve corrispondere alla versione di destinazione; non è consentito alcun disallineamento delle versioni tra il control plane (CP) e i node pool.
Esegui l'upgrade dei cluster non avanzati a cluster non avanzati (legacy) Sì No No No Disponibile solo nella versione 1.33 e precedenti (percorso di disattivazione); i client API non sono supportati.
Esegui l'upgrade dei cluster utente: da avanzato ad avanzato Sì Sì Sì Sì1 Si applicano le regole standard per l'allineamento delle versioni.
Esegui l'upgrade dell'intero cluster utente (control plane e node pool insieme) Sì Sì Sì Sì1 Supportato in tutti gli strumenti per i cluster di utenti avanzati.
Esegui l'upgrade del control plane del cluster utente separatamente (solo CP) Sì Sì No Sì1 La console non supporta l'upgrade del solo control plane.
Esegui l'upgrade selettivo dei node pool dopo l'upgrade del control plane Sì Sì No Sì1 console non supporta gli upgrade dei singoli pool di nodi.
Esegui l'upgrade del control plane e di uno o più node pool contemporaneamente Sì No No No Solo gkectl supporta gli upgrade simultanei parziali della versione del control plane e pool di nodi.

1 Requisito di Terraform: puoi utilizzare Terraform per gli upgrade dei cluster utente solo se il cluster utente è stato originariamente creato e gestito utilizzando Terraform.

Per ottenere informazioni sui cluster che hai creato con gkectl utilizzando la console o gcloud CLI, registra il cluster nell'API GKE On-Prem.

Passaggi successivi

Consulta le regole per l'upgrade della versione per capire in che modo le versioni influiscono sugli upgrade e per trovare le regole per la versione che hai e per quella a cui stai eseguendo l'upgrade.

Consulta le best practice per l'upgrade e crea un piano per l'upgrade dei cluster.