Questo documento mostra come eseguire un aggiornamento del cluster che non include una modifica della versione.
Un aggiornamento del cluster è una modifica alla configurazione del cluster.
L'upgrade di un cluster è un caso speciale di aggiornamento del cluster che include una modifica alla versione del control plane o a una versione del pool di nodi. Per informazioni sull'upgrade, consulta Upgrade di Google Distributed Cloud.
Esamina le regole firewall
Nella versione 1.29 e successive, i controlli preliminari lato server sono abilitati per impostazione predefinita. I controlli preliminari lato server richiedono regole firewall aggiuntive. In Regole firewall per i cluster di amministrazione, cerca "Controlli preliminari" e assicurati che tutte le regole firewall richieste siano configurate.
Con i controlli preliminari lato server, quando aggiorni un cluster utente utilizzando
gkectl
, i controlli preliminari vengono eseguiti sul cluster di amministrazione anziché localmente
sulla workstation di amministrazione. I controlli preflight lato server vengono eseguiti sul cluster di amministrazione quando utilizzi la console Google Cloud , Google Cloud CLI o Terraform per aggiornare un cluster.
Quando aggiorni un cluster di amministrazione, Google Distributed Cloud esegue il deployment di un cluster Kubernetes in Docker (kind) per ospitare temporaneamente i controller Kubernetes necessari per aggiornare il cluster di amministrazione. Questo cluster temporaneo è chiamato cluster di bootstrap. I controlli preflight lato server vengono eseguiti sul cluster di bootstrap quando aggiorni un cluster di amministrazione.
Elementi aggiornabili
Alcune funzionalità e impostazioni del cluster possono essere aggiornate, ma altre non possono essere aggiornate dopo la creazione del cluster. Per vedere quali funzionalità possono essere aggiornate, consulta le pagine di riferimento per il file di configurazione del cluster di amministrazione e il file di configurazione del cluster utente. I campi che possono essere aggiornati sono contrassegnati come Modificabili, mentre quelli che non possono essere aggiornati sono contrassegnati come Immutabili.
Puoi anche vedere quali funzionalità e impostazioni possono essere aggiornate eseguendo i comandi gkectl
.
Per vedere cosa può essere aggiornato in un cluster di amministrazione:
gkectl update admin --help
Output di esempio:
Update the admin cluster. Only the following updates are supported and they can only be updated one at a time: - Enabling/Disabling Vsphere Resource Metrics - Adding static IPs - Updating vCenter CA certificate - Registering Admin Cluster - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling Auto Repair - Enabling/Disabling Auto Resize for Addon Nodes - Enabling/Disabling GKE OnPrem API - Updating OS Image Type - Enabling/Disabling AntiAffinityGroups - Update Secrets Encryption Configuration - [Preview] Enabling/Disabling Cluster Backup - [Preview] Update Cluster Backup configs
Per vedere cosa può essere aggiornato in un cluster utente:
gkectl update cluster --help
Output di esempio:
Update a GKE On-Prem cluster. Only the following updates are supported and they can only be updated one at a time: - Adding static IPs - Updating node pool - Updating user master cpu and memory - Enabling/Disabling Vsphere Resource Metrics - Enabling/Disabling vSphere CSI deployment - Enabling/Disabling Auto Repair - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling GKE OnPrem API - Registering User Cluster - Updating vCenter CA certificate - Updating MetalLB Address Pools - Enabling/Disabling Auto Resizing on user master - Updating NodePoolUpdatePolicy - Enabling/Disabling AntiAffinityGroups - [Preview] Enabling/Disabling Node Network Policy - Updating Secrets Encryption - Enabling/Disabling DataplaneV2 forwardMode
Aggiorna una cosa alla volta
Aggiorna una sola funzionalità o impostazione alla volta. Ad esempio, supponiamo di voler aggiornare la CPU e la memoria master e di voler disattivare la riparazione automatica.
Quindi, esegui due aggiornamenti separati: uno per la CPU e la memoria master e un altro per la riparazione automatica. Verifica che il primo aggiornamento sia riuscito prima di eseguire il secondo aggiornamento.
Procedura di aggiornamento
Puoi utilizzare gkectl
, la console Google Cloud o Google Cloud CLI per apportare
aggiornamenti a un cluster utente. Se hai creato il cluster utente utilizzando Terraform, puoi utilizzare Terraform per aggiornarlo. In quasi tutti i casi, devi
utilizzare gkectl
per aggiornare i cluster di amministrazione.
Se utilizzi gkectl
per aggiornare un cluster, assicurati che la tua workstation amministrativa disponga della versione necessaria di gkectl
. In genere, utilizzi la stessa versione di gkectl
della versione del cluster che stai aggiornando. Durante l'aggiornamento vengono applicate le seguenti regole di versione:
La versione secondaria di
gkectl
non può essere inferiore alla versione secondaria del cluster. Ad esempio, l'aggiornamento di un cluster 1.30 utilizzando la versione 1.29 digkectl
non è consentito. Le versioni patch non sono importanti. Ad esempio, puoi utilizzaregkectl
versione 1.29.0-gke.1456 per aggiornare un cluster con una versione patch superiore, ad esempio 1.29.1000-gke.94.La versione secondaria
gkectl
non può essere superiore di più di due versioni secondarie rispetto alla versione del cluster. Ad esempio, se stai aggiornando un cluster 1.28, la versione digkectl
può essere 1.29 o 1.30. Tuttavia, non puoi utilizzare la versionegkectl
1.31 perché è tre versioni secondarie successive alla versione del cluster.Se aggiorni il cluster a un cluster avanzato, la versione
gkectl
deve essere la stessa della versione del cluster.
Se necessario, consulta la sezione Scaricare gkectl
per
ottenere una versione supportata di gkectl
.
Gli esempi riportati di seguito mostrano come aggiornare i cluster.
gkectl
Il comando gkectl update
assume uno dei seguenti formati:
gkectl update credentials
- Utilizza questa opzione per aggiornare le credenziali del cluster.gkectl update admin
: esegui questo comando dopo aver apportato una modifica al file di configurazione del cluster di amministrazione.gkectl update cluster
: esegui questo comando dopo aver apportato una modifica al file di configurazione del cluster utente.
Esempio di cluster di amministrazione (gkectl update admin
)
Supponiamo che tu voglia modificare il valore di
gkeOnPremAPI.enabled
da false
a true
in un cluster di amministrazione. Innanzitutto, modifica il file di configurazione del cluster di amministrazione e imposta il valore su true
:
gkeOnPremAPI: enabled: true
Poi aggiorna il cluster di amministrazione:
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
Esempio di cluster utente (gkectl update cluster
)
Supponiamo che tu voglia modificare il valore di
stackdriver.vSphereDisableResourceMetrics
da false
a true
in un cluster di utenti. Innanzitutto, modifica il file di configurazione del cluster utente e imposta il valore su true
:
stackdriver: disableVsphereResourceMetrics: true
Poi aggiorna il cluster utente:
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
Esempio di cluster utente (gkectl update credentials
)
Supponiamo di voler modificare le credenziali utilizzate da un cluster utente per chiamare vCenter Server.
Il file di configurazione del cluster utente ha un campo
vCenter.credentials.fileRef.path
che rimanda a un
file di configurazione delle credenziali.
Nel file di configurazione delle credenziali, aggiorna i valori di username
e
password
. Ad esempio:
items: - name: "vcenter-creds" username: "new-vcenter-account" password: "U$icUKEW#INE"
Poi aggiorna le credenziali:
gkectl update credentials vsphere \ --config USER_CLUSTER_CONFIG \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Sostituisci quanto segue:
USER_CLUSTER_CONFIG: il percorso del file di configurazione del cluster utente
ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione
Console
Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Seleziona il progetto Google Cloud , quindi il cluster che vuoi aggiornare.
Nel riquadro Dettagli, fai clic su Altri dettagli.
I campi che possono essere aggiornati nella console Google Cloud hanno un'icona a forma di matita. Fai clic su una delle icone a forma di matita. Nella casella che si apre, modifica i valori dei campi come preferisci e fai clic su FINE.
Nella parte superiore della pagina, nella barra di avanzamento, fai clic su Mostra dettagli. Attendi il completamento dell'aggiornamento.
Interfaccia a riga di comando gcloud
Esegui il comando di aggiornamento applicabile. Specifica solo i flag per la configurazione che vuoi modificare:
Cluster di amministrazione:
gcloud container vmware admin-clusters update
Cluster utenti:
gcloud container vmware clusters update
Pool di nodi in un cluster utente:
gcloud container vmware node-pools update
Aggiorna gli utenti amministratore su un cluster utente
Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste
che riceve. Per configurare l'autorizzazione, devi configurare i criteri di controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes su ogni cluster. Un utente amministratore è
un utente a cui è stato concesso il ruolo cluster-admin
nel cluster utente. Questo
ruolo concede all'utente l'accesso amministrativo completo al cluster.
Supponiamo che Alice e Bob siano gli unici utenti amministratore del cluster utente denominato cluster-1 nella regione us-west1. Supponiamo che Alice voglia aggiungere Trent come utente amministratore aggiuntivo. Alice potrebbe eseguire il seguente comando:
gcloud container vmware clusters update cluster-1 \ --project example-project-id-12345 \ --location us-west1 \ --admin-users alice@example.com \ --admin-users bob@example.com \ --admin-users trent@example.com
Il comando precedente mantiene Alice e Bob nell'elenco degli utenti amministratori
e aggiunge Trent all'elenco degli utenti amministratori. Tieni presente che Alice e Bob
devono essere elencati nel comando, perché il comando sovrascrive l'elenco
corrente degli utenti amministratori con l'elenco specificato nel
comando. Tieni presente inoltre che ogni flag --admin-users
specifica un solo
utente. Non puoi specificare più utenti in un singolo flag.
Terraform
Modifica i valori dei campi applicabili nel file di configurazione Terraform che hai utilizzato per creare il cluster o il pool di nodi. Per descrizioni dettagliate dei campi, consulta la documentazione di riferimento di Terraform:
Aggiorna la configurazione eseguendo
terraform apply
.
Aggiorna gli utenti amministratore su un cluster utente
Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste
che riceve. Per configurare l'autorizzazione, devi configurare i criteri di controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes su ogni cluster. Un utente amministratore è
un utente a cui è stato concesso il ruolo cluster-admin
nel cluster utente. Questo
ruolo concede all'utente l'accesso amministrativo completo al cluster.
Supponiamo che Alice e Bob siano gli unici utenti amministratori in un determinato cluster di utenti. Supponiamo che Alice voglia aggiungere Trent come utente amministratore
aggiuntivo. Alice potrebbe modificare la configurazione di Terraform nel modo seguente e
poi eseguire terraform apply
:
authorization { admin_users { username = "alice@example.com" username = "bob@example.com" username = "trent@example.com" } }
La modifica precedente mantiene Alice e Bob nell'elenco degli utenti
amministratori e aggiunge Trent all'elenco degli utenti amministratori. Tieni presente che Alice
e Bob devono essere elencati nella nuova configurazione, perché il
comando terraform apply
sovrascrive l'elenco attuale degli utenti amministratori
con l'elenco specificato nella configurazione.
Ulteriori informazioni
I documenti elencati in questa sezione forniscono ulteriori dettagli sull'aggiornamento dei cluster.
Aggiorna cluster/amministratore
I seguenti documenti forniscono dettagli sull'utilizzo di
gkectl update admin
e gkectl update cluster
per aggiornare le funzionalità e
le impostazioni:
Aggiorna credenziali
I seguenti documenti forniscono dettagli sull'utilizzo di gkectl update credentials
per aggiornare chiavi e certificati:
Passaggi successivi
Eseguire l'upgrade di un cluster