Esegui l'upgrade di un cluster di amministrazione o utente utilizzando i client API GKE On-Prem

In questa pagina viene spiegato come utilizzare la console Google Cloud o Google Cloud CLI per eseguire l'upgrade di un cluster di amministrazione o di un cluster utente Google Distributed Cloud registrato nell'API GKE On-Prem. Se hai creato il cluster utente con Terraform, puoi usare Terraform per eseguire l'upgrade del cluster utente. Per conoscere i requisiti di upgrade, le best practice e ulteriori informazioni sul processo di upgrade, consulta Best practice per l'upgrade e Ciclo di vita e fasi degli upgrade dei cluster prima di procedere.

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

L'API GKE On-Prem è un'API ospitata da Google Cloud che ti consente di gestire il ciclo di vita dei tuoi cluster on-premise utilizzando Terraform e gli strumenti standard di Google Cloud. L'API GKE On-Prem viene eseguita nell'infrastruttura di Google Cloud. Terraform, la console Google Cloud e Google Cloud CLI sono client dell'API che utilizzano l'API per creare, aggiornare, eseguire l'upgrade ed eliminare i cluster nel data center. Se hai creato il cluster utilizzando un client standard, il cluster viene registrato nell'API GKE 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 bmctl, puoi registrarlo nell'API GKE On-Prem, che ti consente di utilizzare i client standard.

Prima di iniziare

Configura gcloud CLI

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

  1. Assicurati di avere la versione più recente di gcloud CLI. 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 disporre del ruolo Identity and Access Management roles/gkeonprem.admin nel progetto Google Cloud in cui è stato creato il cluster. Per maggiori 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, è necessario almeno quanto segue:

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

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

Requisiti della versione

Occorrono circa 7-10 giorni dopo il rilascio di una versione di Google Distributed Cloud affinché la versione sia disponibile nell'API GKE On-Prem.

Puoi eseguire l'upgrade direttamente a una versione che si trova nella stessa release secondaria o nella release secondaria successiva. Ad esempio, puoi eseguire l'upgrade da 1.29.100 a 1.29.200 o da 1.28.100 a 1.29.200. Non è consentito eseguire l'upgrade a una versione con più di una release secondaria successiva alla versione installata.

Un cluster di amministrazione può gestire i cluster utente che utilizzano la stessa versione secondaria o una precedente. I cluster utente gestiti non possono avere una versione secondaria inferiore di più di una versione rispetto al cluster di amministrazione. Di conseguenza, prima di eseguire l'upgrade di un cluster di amministrazione a una nuova versione secondaria, assicurati che tutti i cluster utente gestiti abbiano la stessa versione secondaria del cluster di amministrazione.

Esegui l'upgrade di un cluster di amministrazione

Console

  1. Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.

    Vai ai cluster GKE

  2. Seleziona il progetto Google Cloud, quindi seleziona 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. Nell'elenco Scegli la versione di destinazione, seleziona la versione a cui vuoi eseguire l'upgrade. Ti consigliamo di eseguire l'upgrade alla versione più recente della patch.

  6. Fai clic su Esegui l'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 di amministrazione. Il completamento dell'upgrade richiede almeno 30 minuti, a seconda delle dimensioni del cluster.

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

Interfaccia a riga di comando gcloud

  1. Facoltativamente, elenca tutti i cluster di amministrazione registrati nel progetto per confermare il nome e la regione del cluster:

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Sostituisci PROJECT_ID con l'ID del progetto host del parco risorse di cui il cluster è membro. Se hai creato il cluster utilizzando bmctl, questo è l'ID progetto nel campo gkeConnect.projectID del file di configurazione del cluster.

    • La configurazione di --location=- consente di elencare tutti i cluster in tutte le regioni. Se hai bisogno di restringere l'ambito dell'elenco, imposta --location su una regione specifica.

    Se viene visualizzato l'errore PERMISSION_DENIED, ricontrolla l'ID progetto inserito. Se l'ID progetto è corretto, esegui gcloud auth login per accedere a Google Cloud CLI con l'account che ha accesso al progetto.

  2. Ottieni un elenco delle versioni disponibili a cui eseguire l'upgrade:

    gcloud container bare-metal admin-clusters query-version-config \
      --admin-cluster=ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_NAME: il nome del cluster di amministrazione.

    • PROJECT_ID: l'ID del progetto host del parco risorse di cui il cluster è membro.

    • REGION: la regione Google Cloud in cui viene eseguita l'API GKE On-Prem e archivia i metadati del cluster.

  3. Esegui l'upgrade del cluster di amministrazione:

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Sostituisci VERSION con la versione Google Distributed Cloud di 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.

    L'output del comando è simile al seguente:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Nell'output di esempio, la stringa operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 è il OPERATION_ID dell'operazione a lunga esecuzione.

    Per scoprire lo stato dell'operazione, copia OPERATION_ID dall'output nel comando seguente. Apri un'altra finestra del terminale ed esegui il comando.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Il completamento dell'upgrade richiede almeno 30 minuti, a seconda delle dimensioni del cluster. Durante l'upgrade del cluster, puoi eseguire ogni tanto il comando precedente per ottenere lo stato attuale.

Al termine dell'upgrade, nella finestra del terminale in cui hai eseguito il comando gcloud ... update verrà visualizzato qualcosa di simile a questo:

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.29.100-gke.251      abm-admin-cluster  RUNNING

Per ulteriori informazioni sui campi e sui flag, consulta Riferimento gcloud container bare-metal admin-clusters.

Esegui l'upgrade di un cluster utente

Console

  1. Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.

    Vai ai cluster GKE

  2. Seleziona il progetto Google Cloud, quindi seleziona 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. Nell'elenco Scegli la versione di destinazione, seleziona la versione a cui vuoi eseguire l'upgrade.

  6. Fai clic su Esegui l'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 almeno 30 minuti, a seconda delle dimensioni del cluster.

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

Interfaccia a riga di comando gcloud

  1. Facoltativamente, elenca tutti i cluster utente registrati nel progetto per confermare il nome e la regione del cluster:

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Sostituisci PROJECT_ID con l'ID del progetto host del parco risorse di cui il cluster è membro. Se hai creato il cluster utilizzando bmctl, questo è l'ID progetto nel campo gkeConnect.projectID del file di configurazione del cluster.

    • La configurazione di --location=- consente di elencare tutti i cluster in tutte le regioni. Se hai bisogno di restringere l'ambito dell'elenco, imposta --location su una regione specifica.

    L'output del comando è simile al seguente:

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.29.100-gke.251   abm-admin-cluster  RUNNING
    

    Se viene visualizzato l'errore PERMISSION_DENIED, ricontrolla l'ID progetto inserito. Se l'ID progetto è corretto, esegui gcloud auth login per accedere a Google Cloud CLI con l'account che ha accesso al progetto.

  2. Ottieni un elenco delle versioni disponibili a cui eseguire l'upgrade:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

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

    • PROJECT_ID: l'ID del progetto host del parco risorse di cui il cluster è membro.

    • REGION: la regione Google Cloud in cui viene eseguita l'API GKE On-Prem e archivia i metadati del cluster.

    L'output del comando è simile al seguente

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    Scegli una versione non elencata in - hasDependencies: true. In questo esempio, l'unica versione disponibile a cui puoi eseguire l'upgrade del cluster utente è 1.14.6.

  3. Esegui l'upgrade del cluster utente:

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Sostituisci VERSION con la versione Google Distributed Cloud di 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.

    L'output del comando è simile al seguente:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Nell'output di esempio, la stringa operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 è il OPERATION_ID dell'operazione a lunga esecuzione.

    Per scoprire lo stato dell'operazione, copia OPERATION_ID dall'output nel comando seguente. Apri un'altra finestra del terminale ed esegui il comando.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Il completamento dell'upgrade richiede almeno 30 minuti, a seconda delle dimensioni del cluster. Durante l'upgrade del cluster, puoi eseguire ogni tanto il comando precedente per ottenere lo stato attuale.

Per ulteriori informazioni sui campi e sui flag, consulta Riferimento di gcloud container bare-metal clusters.

Terraform

Per eseguire l'upgrade di un cluster con Terraform, devi utilizzare la stessa configurazione Terraform che hai utilizzato per creare il cluster.

  1. Passa alla directory in cui si trova il file di configurazione Terraform.

  2. Ottieni un elenco delle versioni disponibili a cui eseguire l'upgrade:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Sostituisci quanto segue:

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

    • PROJECT_ID: l'ID del progetto host del parco risorse di cui è membro il cluster utente.

    • REGION: la regione Google Cloud in cui l'API GKE On-Prem esegue e archivia i propri metadati.

    Se viene visualizzato l'errore PERMISSION_DENIED, ricontrolla l'ID progetto inserito. Se l'ID progetto è corretto, esegui gcloud auth login per accedere a Google Cloud CLI con l'account che ha accesso al progetto.

  3. Nella configurazione di Terraform, cambia bare_metal_version con la versione Google Distributed Cloud 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.

  4. Inizializza e crea il piano Terraform:

    terraform init
    

    Terraform installa le librerie necessarie, ad esempio il provider Google Cloud.

  5. Rivedi la configurazione e apporta le modifiche necessarie:

    terraform plan
    
  6. Applica il piano Terraform per creare il cluster utente:

    terraform apply
    

Per informazioni sulla risorsa google_gkeonprem_bare_metal_cluster, consulta la documentazione di riferimento.