Esegui l'upgrade di un cluster utente utilizzando i client API Anthos On-Prem

Questa pagina spiega come utilizzare la console Google Cloud o Google Cloud CLI per eseguire l'upgrade di un cluster utente Cluster Anthos su VMware gestito dall'API Anthos On-Prem. Prima di eseguire l'upgrade di un cluster utente, ti consigliamo di consultare le best practice per l'upgrade.

Che cos'è l'API Anthos On-Prem?

L'API Anthos On-Prem è un'API ospitata da Google Cloud che ti consente di gestire il ciclo di vita dei cluster on-premise utilizzando Terraform e gli strumenti standard di Google Cloud. L'API Anthos On-Prem viene eseguita nell'infrastruttura di Google Cloud. Terraform, la console Google Cloud e Google Cloud CLI sono client dell'API e utilizzano l'API per creare, aggiornare, eseguire l'upgrade ed eliminare i cluster nel tuo data center. Se hai creato il cluster utilizzando un client standard, il cluster è registrato nell'API Anthos On-Prem, il che significa che puoi utilizzare i client standard per gestire il ciclo di vita del cluster (con alcune eccezioni). Se hai creato il cluster utilizzando gkectl, puoi registrarlo nell'API Anthos On-Prem, che ti consente di utilizzare i client standard.

Prima di iniziare

Configura l'interfaccia a riga di comando gcloud

Per utilizzare l'interfaccia alla gcloud CLI o Terraform per eseguire l'upgrade di un cluster:

  1. Assicurati di disporre dell'ultima versione dell'interfaccia a riga di comando gcloud, inclusi i componenti beta gcloud CLI.

    Se non hai ancora i componenti beta, esegui il comando seguente per installarli:

    gcloud components install beta
    
  2. Aggiorna i componenti dell'interfaccia a riga di comando gcloud, se necessario:

      gcloud components update
    

Requisiti IAM

Se non sei un proprietario del progetto, devi ottenere il ruolo Identity and Access Management per roles/gkeonprem.admin nel progetto Google Cloud in cui è stato creato il cluster. Per i dettagli sulle autorizzazioni incluse in questo ruolo, consulta Ruoli GKE On-Prem nella documentazione IAM.

Per utilizzare la console per eseguire l'upgrade del cluster come minimo, devi disporre di:

  • roles/container.viewer. Questo ruolo consente agli utenti di visualizzare la pagina Cluster GKE e altre risorse del container nella console. Per i dettagli sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta i ruoli Kubernetes Engine nella documentazione IAM.

  • roles/gkehub.viewer. Questo ruolo consente agli utenti di visualizzare i cluster nella console. Per i dettagli sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta i ruoli GKE Hub nella documentazione di IAM.

Opzioni di upgrade

Se hai un cluster di amministrazione 1,13, hai a disposizione le opzioni seguenti per eseguire l'upgrade dei cluster utente gestiti dall'API Anthos On-Prem:

  • Se il tuo cluster di amministrazione è alla versione 1.13.1+, puoi utilizzare la funzionalità di upgrade descritta nella sezione seguente. Questa procedura di upgrade è in anteprima e ti consigliamo di non utilizzare questa funzionalità per eseguire l'upgrade dei cluster in un ambiente di produzione.

  • Se il tuo cluster di amministrazione è alla versione 1.13.0 o precedente oppure, per gli ambienti di produzione, consulta Upgrade dei cluster Anthos su VMware.

Esegui il deployment del controller della piattaforma di upgrade

Prima di eseguire l'upgrade di un cluster utente utilizzando la console o l'gcloud CLI, devi eseguire il deployment del controller della piattaforma di upgrade nel cluster di amministrazione.

  1. Se non hai la certezza che sia stato eseguito il deployment del controller, esegui questo comando sulla workstation di amministrazione:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Sostituisci quanto segue:

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

    Se è stato eseguito il deployment del controller, nella sezione annotations dell'output YAML è presente la seguente riga:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled
    

    Se non vedi questa annotazione, esegui il comando nel passaggio successivo.

  2. Esegui il comando seguente sulla tua workstation di amministrazione per eseguire il deployment del controller della piattaforma di upgrade:

    gkectl update admin --enable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    

    Sostituisci quanto segue:

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

    • ADMIN_CLUSTER_CONFIG_FILE: il percorso del file di configurazione del cluster di amministrazione.

    • Facoltativo: il flag --yes risponde automaticamente a yes alla richiesta di continuare il deployment.

    Questo comando esegue il deployment di un controller sul cluster di amministrazione che consente di utilizzare i client API Anthos On-Prem per eseguire l'upgrade dei cluster utente. Durante l'upgrade del cluster utente, il cluster di amministrazione viene registrato con l'API Anthos On-Prem se non è già registrato, il che elimina la necessità di eseguire comandi sulla workstation di amministrazione per eseguire l'upgrade dei cluster utente. Quando avvii un upgrade del cluster utente, l'API Anthos On-Prem attiva il controller per prepararsi all'upgrade. Il controller scarica e installa i bundle ed esegue il deployment della nuova versione dei componenti che gestiscono il cluster utente.

    Il comando richiede circa 25 minuti (o più a seconda della rete).

Upgrade di un cluster utente

Una volta eseguito il deployment del controller della piattaforma di upgrade nel cluster di amministrazione, puoi eseguire l'upgrade di uno o più cluster utente gestiti dal cluster di amministrazione.

Per eseguire l'upgrade di un cluster utente:

Console

  1. Nella console, vai alla pagina Cluster Anthos.

    Vai a Cluster Anthos di Anthos

  2. Seleziona il progetto Google Cloud e quindi il cluster di cui vuoi eseguire l'upgrade.

  3. Nel riquadro Dettagli, fai clic su Altri dettagli.

  4. Nella sezione Impostazioni di base del cluster, fai clic su Esegui l'upgrade.

  5. Nella finestra di dialogo Attiva gli upgrade semplificati, leggi il testo per entrambe le caselle di controllo, selezionale e fai clic su Continua.

  6. Nell'elenco Scegli versione di destinazione, seleziona la versione a cui vuoi eseguire l'upgrade. L'elenco selezionato include solo le ultime patch rilasciate.

  7. Fai clic su Esegui upgrade.

Prima dell'upgrade del cluster, vengono eseguiti controlli preflight per convalidare lo stato del cluster e l'integrità del nodo. Se i controlli preflight vengono superati, viene eseguito l'upgrade del cluster utente. Il completamento dell'upgrade richiede circa 30 minuti.

Per visualizzare lo stato dell'upgrade, fai clic su Mostra dettagli nella scheda Dettagli cluster.

Interfaccia a riga di comando gcloud

  1. Esegui questo comando per accedere con il tuo Account Google:

    gcloud auth login
    
  2. Aggiorna i componenti di Google Cloud CLI:

    gcloud components update
    
  3. Ecco un elenco delle versioni disponibili a cui eseguire l'upgrade:

    gcloud beta container vmware clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • USER_CLUSTER_NAME: il nome del cluster utente.

    • FLEET_HOST_PROJECT_ID: l'ID del progetto del parco risorse di cui fa parte il cluster utente. Questo è il progetto che hai specificato al momento della creazione del cluster. Se hai creato il cluster utilizzando gkectl, si tratta dell'ID progetto nel campo gkeConnect.projectID nel file di configurazione del cluster.

    • REGION: la regione di Google Cloud in cui viene eseguita l'API Anthos On-Prem e archivia i relativi metadati. Se hai creato il cluster utilizzando un client API Anthos On-Prem, questa è la regione che hai specificato durante la creazione del cluster. Se hai creato il cluster utilizzando gkectl, questa è la regione che hai specificato quando hai registrato il cluster per la gestione con l'API Anthos On-Prem.

  4. Utilizza il comando seguente per eseguire l'upgrade di un cluster:

    gcloud beta container vmware clusters upgrade USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Sostituisci quanto segue:

    • USER_CLUSTER_NAME: il nome del cluster utente di cui eseguire l'upgrade.

    • FLEET_HOST_PROJECT_ID: l'ID del progetto del parco risorse di cui fa parte il cluster utente. Questo è il progetto che hai specificato al momento della creazione del cluster. Se hai creato il cluster utilizzando gkectl, si tratta dell'ID progetto nel campo gkeConnect.projectID nel file di configurazione del cluster.

    • REGION: la regione di Google Cloud in cui viene eseguita l'API Anthos On-Prem e archivia i relativi metadati. Se hai creato il cluster utilizzando un client API Anthos On-Prem, questa è la regione che hai selezionato durante la creazione del cluster. Se hai creato il cluster utilizzando gkectl, questa è la regione che hai specificato quando hai registrato il cluster per la gestione con l'API Anthos On-Prem

    • VERSION: la versione di Cluster Anthos su VMware a cui vuoi eseguire l'upgrade. Specifica una versione dall'output del comando precedente. Ti consigliamo di eseguire l'upgrade alla versione più recente della patch.

    Il completamento dell'upgrade richiede circa 30 minuti.

  5. Durante l'upgrade del cluster, esegui il comando seguente in un'altra finestra del terminale per controllare lo stato del cluster:

    gcloud beta container vmware clusters describe USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

Per ulteriori informazioni sui campi e sui flag, vedi gcloud beta container vmware clusters upgrade.

Disattiva il controller della piattaforma di upgrade

  1. Esegui il comando seguente sulla tua workstation di amministrazione:

    gkectl update admin --disable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    
  2. Per confermare che il controller è stato disattivato, esegui questo comando:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Se il controller è stato disattivato, la seguente riga non è nella sezione annotations dell'output YAML:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled