Aggiornare o eseguire l'upgrade di un cluster a un cluster avanzato

Questo documento mostra come aggiornare o eseguire l'upgrade di un cluster a un cluster avanzato dalla versione 1.32.

Prerequisiti

  • La versione di gkectl deve corrispondere alla versione del cluster di destinazione.

    • Se necessario, consulta Scaricare gkectl per ottenere una versione supportata di gkectl.
  • Esegui sempre la diagnosi del cluster prima di eseguire l'aggiornamento o l'upgrade a un cluster avanzato:

    • Esegui gkectl diagnose cluster sui cluster di amministrazione e utente per assicurarti che siano integri.
    • Se il comando segnala errori o avvisi, risolvili prima di avviare l'aggiornamento o l'upgrade a un cluster avanzato.
  • Assicurati che i tuoi cluster utilizzino solo le funzionalità consigliate.

  • Prima di iniziare l'aggiornamento o l'upgrade, verifica che i tuoi cluster non utilizzino funzionalità non supportate dai cluster avanzati. Se sono attive funzionalità non supportate, disattivale utilizzando prima update.

    • Sebbene i cluster utente ad alta disponibilità (HA) siano obbligatori nei cluster avanzati, puoi comunque aggiornare o eseguire l'upgrade di un cluster utente non HA a un cluster avanzato HA seguendo questa guida.
  • Prima di aggiornare o eseguire l'upgrade di qualsiasi cluster utente, devi aggiornare o eseguire l'upgrade del cluster di amministrazione a un cluster avanzato.

  • Informazioni sull'installazione di cert-manager: cert-manager viene installato automaticamente sui cluster avanzati. Quando esegui la migrazione da un cluster non avanzato a un cluster avanzato, cert-manager integrato esegue automaticamente l'override di qualsiasi versione di cert-manager installata dal cliente. Assicurati di non aver applicato configurazioni o funzionalità personalizzate critiche al tuo cert-manager esistente prima di eseguire l'aggiornamento o l'upgrade ai cluster avanzati. Per ulteriori informazioni, vedi Eseguire l'upgrade a cert-manager incluso nei cluster avanzati.

Aggiorna o esegui l'upgrade del cluster di amministrazione al cluster avanzato

Aggiorna

  1. Esegui la diagnostica del cluster per assicurarti che sia integro:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  2. Preparati per il cluster avanzato:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Sostituisci quanto segue:

    • BUNDLE_PATH: il percorso del file bundle. Questo file si trova nella workstation di amministrazione in /var/lib/gke/bundles/. Ad esempio:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  3. Imposta enableAdvancedCluster nel file di configurazione del cluster di amministrazione su true.

  4. Aggiorna il cluster di amministrazione al cluster avanzato:

    gkectl update admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.
    • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione.

    Il comando ricreerà tutti i nodi nel cluster di amministrazione.

Esegui l'upgrade

  1. Esegui l'upgrade della workstation di amministrazione se necessario.

  2. Esegui la diagnostica del cluster per assicurarti che sia integro:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  3. Preparati per il cluster avanzato:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Sostituisci quanto segue:

    • BUNDLE_PATH: il percorso del file bundle. Questo file si trova nella workstation di amministrazione in /var/lib/gke/bundles/. Ad esempio:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  4. Imposta enableAdvancedCluster nel file di configurazione del cluster di amministrazione su true.

  5. Assicurati che il campo bundlepath nel file di configurazione del cluster di amministrazione corrisponda al percorso del bundle a cui vuoi eseguire l'upgrade.

  6. Esegui l'upgrade del cluster di amministrazione al cluster avanzato:

    gkectl upgrade admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.
    • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione.

    Il comando eseguirà il rollout della ricreazione di tutti i nodi nel cluster di amministrazione. Con la strategia di ricreazione del deployment, i nodi vengono aggiornati uno alla volta. Durante l'upgrade del nodo, la VM viene eliminata e poi ricreata con la nuova versione.

Dopo l'aggiornamento o l'upgrade del cluster di amministrazione a un cluster avanzato:

  • I cluster utente non avanzati esistenti continuano a funzionare normalmente.

  • Puoi creare solo cluster utente avanzati gestiti dal cluster di amministrazione avanzato.

Ti consigliamo di eseguire l'upgrade di tutti i cluster utente a cluster avanzati subito dopo per mantenere un ambiente coerente e ricco di funzionalità.

Aggiorna o esegui l'upgrade del cluster utente al cluster avanzato

Aggiorna

  1. Esegui la diagnostica del cluster per assicurarti che sia integro:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
  2. Se il control plane del cluster utente non è ad alta affidabilità:

    1. Modifica masterNode.replicas da 1 a 3.

    2. Aggiungi gli indirizzi IP statici per i nodi del control plane del cluster utente alla sezione network.controlPlaneIPBlock.ips.

  3. Preparati per il cluster avanzato:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Sostituisci quanto segue:

    • BUNDLE_PATH: il percorso del file bundle. Questo file si trova nella workstation di amministrazione in /var/lib/gke/bundles/. Ad esempio:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  4. Imposta enableAdvancedCluster nel file di configurazione del cluster utente su true.

  5. Aggiorna il cluster utente al cluster avanzato:

    gkectl update cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.
    • USER_CLUSTER_CONFIG: il percorso del file di configurazione del cluster utente.

    Il comando eseguirà il rollout della ricreazione di tutti i nodi nel cluster utente. Con la strategia di deployment di ricreazione dell'implementazione, i nodi vengono aggiornati uno alla volta. Durante l'aggiornamento del nodo, la VM viene eliminata e poi ricreata con la nuova configurazione.

Esegui l'upgrade

  1. Esegui la diagnostica del cluster per assicurarti che sia integro:

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
  2. Se il control plane del cluster utente non è ad alta disponibilità:

    1. Modifica masterNode.replicas da 1 a 3.

    2. Aggiungi gli indirizzi IP statici per i nodi del control plane del cluster utente alla sezione network.controlPlaneIPBlock.ips.

  3. Preparati per il cluster avanzato:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Sostituisci quanto segue:

    • BUNDLE_PATH: il percorso del file bundle. Questo file si trova nella workstation di amministrazione in /var/lib/gke/bundles/. Ad esempio:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  4. Imposta enableAdvancedCluster nel file di configurazione del cluster utente su true.

  5. Assicurati che il campo gkeOnPremVersion nel file di configurazione del cluster utente corrisponda alla versione di destinazione dell'upgrade.

  6. Esegui l'upgrade del cluster utente al cluster avanzato:

    gkectl upgrade cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.
    • USER_CLUSTER_CONFIG: il percorso del file di configurazione del cluster utente.

    Il comando ricrea tutti i nodi nel cluster utente.

cert-manager incluso nei cluster avanzati

cert-manager è un componente obbligatorio e gestito dal sistema nei cluster avanzati.

Se utilizzi cert-manager senza cluster avanzati, controlla quanto segue prima di eseguire l'upgrade ai cluster avanzati:

  • Non sono presenti configurazioni personalizzate o flag di funzionalità nel tuo cert-manager.
  • La versione di cert-manager è la stessa o una versione precedente di quella inclusa.

Compatibilità di Apigee Hybrid

cert-manager in bundle è completamente compatibile con i carichi di lavoro Apigee Hybrid. Quando esegui l'upgrade a un cluster avanzato, il programma di installazione potrebbe avvisarti che l'installazione di cert-manager esistente verrà sostituita. Questo è un comportamento previsto che il sistema gestisce automaticamente.

Per garantire una transizione senza problemi per i tuoi workload Apigee:

  • Non disinstallare manualmente la versione esistente di cert-manager prima dell'upgrade.
  • Ripristina personalizzazioni: se gestisci cert-manager utilizzando GitOps o hai applicato configurazioni personalizzate al deployment di cert-manager, devi ripristinare queste personalizzazioni o sospendere la sincronizzazione prima dell'upgrade per evitare la deriva della configurazione e potenziali pause dell'upgrade.

Funzionalità e limitazioni

Con cert-manager incluso puoi:

  • Crea e modifica le risorse Issuer e ClusterIssuer.
  • Crea e modifica risorse di certificati che fanno riferimento ad emittenti e tipi di emittenti standard.
  • Crea e modifica le risorse Kubernetes standard utilizzate da cert-manager.
  • Crea secret Kubernetes contenenti chiavi API e fai riferimento a questi secret nei tuoi emittenti.
  • Configura gli emittenti in modo che utilizzino resolver HTTP-01 o DNS-01 specifici.

Non puoi personalizzare i seguenti elementi nel cert-manager in bundle:

  • Imposta i valori deployment o helm.
  • Aggiungi argomenti o flag della riga di comando al file binario cert-manager.
  • Modifica i limiti delle risorse o i selettori dei nodi per i pod cert-manager.
  • Modifica la logica di installazione del software cert-manager.
  • Attiva le funzionalità sperimentali.
  • Forza l'esecuzione dei pod del control plane cert-manager su nodi dell'infrastruttura specifici.

Se hai vincoli specifici che ti impediscono di utilizzare cert-manager in bundle, contatta l'assistenzaGoogle Cloud per ricevere aiuto con le opzioni di configurazione avanzate.

Versioni in bundle

La tabella seguente elenca le versioni di cert-manager incluse per ogni versione di Google Distributed Cloud (solo software) per VMware.

Google Distributed Cloud (solo software) per VMware Versione di cert-manager in bundle
1.32 1,17
1,33 1,18
1,34 1,19

Differenze principali dopo il passaggio ai cluster avanzati

L'upgrade o l'aggiornamento del cluster a un cluster avanzato introduce diverse differenze chiave rispetto ai cluster standard. Ecco le principali modifiche apportate ai cluster avanzati:

  • Località della risorsa: le risorse del cluster e della macchina non si trovano più nei cluster utente. Queste risorse si trovano esclusivamente all'interno del cluster di amministrazione.

  • NodeExternalIP: NodeExternalIP non è impostato sui nodi.

  • Installazione di cert-manager: cert-manager viene installato automaticamente sui cluster avanzati. Se hai installato cert-manager nel cluster, l'aggiornamento o l'upgrade al cluster avanzato lo sovrascrive con la versione del cluster avanzato.

Per una panoramica completa delle differenze tra le funzionalità, consulta la tabella di confronto delle funzionalità.