Questa pagina spiega come utilizzare la console Google Cloud o Google Cloud CLI per eseguire l'upgrade di un cluster di amministrazione o di un cluster utente di GKE su Bare Metal registrato nell'API GKE On-Prem. Se hai creato il cluster utente utilizzando Terraform, puoi utilizzare Terraform per eseguire l'upgrade del cluster utente. Per i requisiti di upgrade, le best practice e ulteriori informazioni sul processo di upgrade, consulta le best practice per l'upgrade e il ciclo di vita e le fasi degli upgrade dei cluster prima di procedere.
Che cos'è l'API GKE On-Prem?
L'API GKE On-Prem è ospitata da Google Cloud e consente di gestire il ciclo di vita dei 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 e la utilizzano 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 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, in modo da utilizzare i client standard.
Prima di iniziare
configura gcloud CLI
Per utilizzare gcloud CLI o Terraform per eseguire l'upgrade di un cluster:
Assicurati di avere la versione più recente di gcloud CLI. Aggiorna i componenti di gcloud CLI, se necessario:
gcloud components update
Requisiti IAM
Se non sei un proprietario del progetto, ti deve essere concesso il ruolo di 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 di GKE on-prem nella documentazione di IAM.
Per utilizzare la console per eseguire l'upgrade del cluster, devi avere almeno quanto segue:
roles/container.viewer
. Questo ruolo consente agli utenti di visualizzare la pagina Cluster GKE e altre risorse dei container nella console. Per maggiori dettagli sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, vedi Ruoli 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 dell'hub GKE nella documentazione di IAM.
Requisiti della versione
Sono necessari circa 7-10 giorni dopo una release di GKE su Bare Metal prima che 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.15.1 a 1.15.2 o da 1.14.1 a 1.15.2. Non è consentito eseguire l'upgrade a una versione successiva di più di una release secondaria rispetto alla versione installata.
Un cluster di amministrazione può gestire i cluster utente che si trovano nella versione secondaria uguale o precedente. I cluster utente gestiti non possono essere inferiori di più di una versione secondaria 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
Nella console, vai alla pagina Panoramica dei cluster di Google Kubernetes Engine.
Seleziona il progetto Google Cloud, quindi il cluster di cui vuoi eseguire l'upgrade.
Nel riquadro Dettagli, fai clic su Ulteriori dettagli.
Nella sezione Impostazioni di base del cluster, fai clic su
Esegui l'upgrade.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.
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 del cluster.
Interfaccia a riga di comando gcloud
Facoltativamente, elenca tutti i cluster di amministrazione registrati nel progetto per confermare il nome del cluster e la regione:
gcloud container bare-metal admin-clusters list \ --project=PROJECT_ID \ --location=-
Sostituisci
PROJECT_ID
con l'ID del progetto host del parco risorse a cui il cluster è membro. Se hai creato il cluster utilizzandobmctl
, questo è l'ID progetto nel campogkeConnect.projectID
del file di configurazione del cluster.Quando imposti
--location=-
, significa che vengono elencati tutti i cluster in tutte le regioni. Se devi restringere l'elenco, imposta--location
su una regione specifica.
Se viene visualizzato un errore
PERMISSION_DENIED
, controlla l'ID progetto che hai inserito. Se l'ID progetto è corretto, eseguigcloud auth login
per accedere a Google Cloud CLI con l'account che ha accesso al progetto.Ottieni un elenco delle versioni disponibili per l'upgrade a:
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 in cui il cluster è membro.REGION
: la regione Google Cloud in cui l'API GKE On-Prem esegue e archivia i metadati del cluster.
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 di GKE su Bare Metal 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
è la stringaOPERATION_ID
dell'operazione a lunga esecuzione.Per verificare lo stato dell'operazione, copia il valore
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 il comando precedente ogni tanto per ottenere lo stato attuale.
Al termine dell'upgrade, nella finestra del terminale in cui hai eseguito il comando gcloud ... update
vedrai qualcosa di simile a quanto segue:
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.15.11 abm-admin-cluster RUNNING
Per ulteriori informazioni sui campi e sui flag, consulta il riferimento gcloud container bare-metal admin-clusters.
Esegui l'upgrade di un cluster utente
Console
Nella console, vai alla pagina Panoramica dei cluster di Google Kubernetes Engine.
Seleziona il progetto Google Cloud, quindi il cluster di cui vuoi eseguire l'upgrade.
Nel riquadro Dettagli, fai clic su Ulteriori dettagli.
Nella sezione Impostazioni di base del cluster, fai clic su
Esegui l'upgrade.Nell'elenco Scegli la versione di destinazione, seleziona la versione a cui vuoi eseguire l'upgrade.
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 del cluster.
Interfaccia a riga di comando gcloud
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 a cui il cluster è membro. Se hai creato il cluster utilizzandobmctl
, questo è l'ID progetto nel campogkeConnect.projectID
del file di configurazione del cluster.Quando imposti
--location=-
, significa che vengono elencati tutti i cluster in tutte le regioni. Se devi restringere l'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.15.11 abm-admin-cluster RUNNING
Se viene visualizzato un errore
PERMISSION_DENIED
, controlla l'ID progetto che hai inserito. Se l'ID progetto è corretto, eseguigcloud auth login
per accedere a Google Cloud CLI con l'account che ha accesso al progetto.Ottieni un elenco delle versioni disponibili per l'upgrade a:
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 in cui il cluster è membro.REGION
: la regione Google Cloud in cui l'API GKE On-Prem esegue 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 che non sia elencata in
- hasDependencies: true
. In questo esempio, l'unica versione disponibile in cui puoi eseguire l'upgrade del cluster utente è1.14.6
.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 di GKE su Bare Metal 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
è la stringaOPERATION_ID
dell'operazione a lunga esecuzione.Per verificare lo stato dell'operazione, copia il valore
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 il comando precedente ogni tanto per ottenere lo stato attuale.
Per ulteriori informazioni sui campi e sui flag, consulta il riferimento sui cluster gcloud container bare-metal.
Terraform
Per eseguire l'upgrade di un cluster con Terraform, utilizza la stessa configurazione che hai utilizzato per creare il cluster.
Passa alla directory in cui si trova il file di configurazione Terraform.
Ottieni un elenco delle versioni disponibili per l'upgrade a:
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 in cui il cluster utente è membro.REGION
: la regione Google Cloud in cui l'API GKE On-Prem esegue e archivia i relativi metadati.
Se viene visualizzato un errore
PERMISSION_DENIED
, controlla l'ID progetto che hai inserito. Se l'ID progetto è corretto, eseguigcloud auth login
per accedere a Google Cloud CLI con l'account che ha accesso al progetto.Nella configurazione di Terraform, passa a
bare_metal_version
alla versione di GKE su Bare Metal 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.Inizializza e crea il piano Terraform:
terraform init
Terraform installa tutte le librerie necessarie, come il provider Google Cloud.
Rivedi la configurazione e apporta modifiche, se necessario:
terraform plan
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.