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:
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
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.
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.
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 ayes
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
Nella console, vai alla pagina Cluster Anthos.
Seleziona il progetto Google Cloud e quindi il cluster di cui vuoi eseguire l'upgrade.
Nel riquadro Dettagli, fai clic su Altri dettagli.
Nella sezione Impostazioni di base del cluster, fai clic su
Esegui l'upgrade.Nella finestra di dialogo Attiva gli upgrade semplificati, leggi il testo per entrambe le caselle di controllo, selezionale e fai clic su Continua.
Nell'elenco Scegli versione di destinazione, seleziona la versione a cui vuoi eseguire l'upgrade. L'elenco selezionato include solo le ultime patch rilasciate.
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
Esegui questo comando per accedere con il tuo Account Google:
gcloud auth login
Aggiorna i componenti di Google Cloud CLI:
gcloud components update
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 utilizzandogkectl
, si tratta dell'ID progetto nel campogkeConnect.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 utilizzandogkectl
, questa è la regione che hai specificato quando hai registrato il cluster per la gestione con l'API Anthos On-Prem.
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 utilizzandogkectl
, si tratta dell'ID progetto nel campogkeConnect.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 utilizzandogkectl
, questa è la regione che hai specificato quando hai registrato il cluster per la gestione con l'API Anthos On-PremVERSION
: 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.
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
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
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