Questo documento mostra come eseguire un aggiornamento del cluster che non include un e la modifica in tempo reale.
Un aggiornamento del cluster è una modifica alla configurazione del cluster.
Un upgrade di un cluster è un caso speciale di aggiornamento di un cluster che include una una modifica alla versione del piano di controllo o una modifica a una versione del pool di nodi. Per per informazioni sull'upgrade, consulta Upgrade di Google Distributed Cloud.
Rivedi le regole firewall
Dalla versione 1.29 in poi, i controlli preflight lato server sono abilitati per impostazione predefinita. I controlli preflight lato server richiedono regole firewall aggiuntive. Nella Regole firewall per i cluster di amministrazione, cerca "Controlli preflight" e assicurati che tutte le regole firewall obbligatorie siano configurato.
Con i controlli preflight lato server, quando aggiorni un cluster utente utilizzando
gkectl
, i controlli preflight vengono eseguiti sul cluster di amministrazione anziché localmente
sulla workstation di amministrazione. I controlli preflight lato server vengono eseguiti sull'amministratore
cluster 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 Kubernetes in Docker (kind) per ospitare temporaneamente i controller Kubernetes necessari per aggiornare l'amministratore in un cluster Kubernetes. Questo cluster temporaneo è chiamato cluster di bootstrap. Lato server I controlli preflight vengono eseguiti sul cluster di bootstrap quando aggiorni un amministratore in un cluster Kubernetes.
Che cosa può essere aggiornato
Alcune funzionalità e impostazioni del cluster possono essere aggiornate, ma altre funzionalità e non è possibile aggiornare le impostazioni dopo la creazione del cluster. Per scoprire quali funzionalità essere aggiornati, consulta le pagine di riferimento per file di configurazione del cluster di amministrazione e ai file di configurazione del cluster utente. I campi che possono essere aggiornati sono contrassegnati come Meditabili e quelli che non possono essere aggiornate sono contrassegnate come immutabili.
Puoi anche vedere quali funzionalità e impostazioni possono essere aggiornate eseguendo gkectl
tramite comandi SQL.
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 un elemento alla volta
Aggiorna una sola funzionalità o impostazione alla volta. Ad esempio, supponiamo che tu voglia aggiorna CPU e memoria master e vuoi anche disabilitare riparazione automatica.
Quindi, devi eseguire due aggiornamenti separati: uno per la CPU master e la memoria e un'altra riparazione automatica. Verifica che il primo aggiornamento sia riuscito prima di farlo il secondo aggiornamento.
Procedura di aggiornamento
Puoi utilizzare gkectl
, la console Google Cloud o Google Cloud CLI per creare
a un cluster utente. Se hai creato il cluster utente utilizzando Terraform,
puoi usare Terraform per aggiornare il cluster. In quasi tutti i casi, è necessario
utilizza gkectl
per aggiornare i cluster di amministrazione.
Gli esempi seguenti mostrano come aggiornare i cluster.
Gkectl
Il comando gkectl update
assume uno dei seguenti formati:
gkectl update credentials
- Da utilizzare per aggiornare le credenziali del cluster.gkectl update admin
- Esegui questo comando dopo aver apportato una modifica alla file di configurazione del cluster di amministrazione.gkectl update cluster
- Esegui questo comando dopo aver apportato una modifica alla file di configurazione del cluster utente.
Esempio di cluster di amministrazione (gkectl update admin
)
Supponiamo di voler modificare il valore
gkeOnPremAPI.enabled
da false
a true
in un cluster di amministrazione. Innanzitutto, modifica il cluster di amministrazione
di configurazione e imposta il valore su true
:
gkeOnPremAPI: enabled: true
Quindi 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 cluster di amministrazione File kubeconfig
ADMIN_CLUSTER_CONFIG: il percorso della configurazione del cluster di amministrazione file
Esempio di cluster utente (gkectl update cluster
)
Supponiamo di voler modificare il valore
stackdriver.vSphereDisableResourceMetrics
da false
a true
in un cluster utente. Innanzitutto, modifica il cluster utente
di configurazione e imposta il valore su true
:
stackdriver: disableVsphereResourceMetrics: true
Quindi aggiorna il cluster utente:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Sostituisci quanto segue:
ADMIN_CLUSTER_KUBECONFIG: il percorso del cluster di amministrazione File kubeconfig
USER_CLUSTER_CONFIG: il percorso della configurazione del cluster utente file
Esempio di cluster utente (gkectl update credentials
)
Supponiamo di voler modificare le credenziali utilizzate da un cluster utente per chiamare Server vCenter.
Il file di configurazione del cluster utente contiene
vCenter.credentials.fileRef.path
campo che punta 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"
Quindi, aggiorna le credenziali:
gkectl update credentials vsphere \ --config USER_CLUSTER_CONFIG \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Sostituisci quanto segue:
USER_CLUSTER_CONFIG: il percorso del cluster utente file di configurazione
ADMIN_CLUSTER_KUBECONFIG: il percorso del cluster di amministrazione File kubeconfig
Console
Nella console, vai alla panoramica dei cluster Google Kubernetes Engine .
Seleziona il progetto Google Cloud, quindi seleziona il cluster che vuoi aggiornare.
Nel riquadro Dettagli, fai clic su Altri dettagli.
I campi che possono essere aggiornati nella console Google Cloud sono contrassegnati da un'icona a forma di matita . Fai clic su una delle icone a forma di matita. Modifica campo nella finestra visualizzata i valori in base alle tue esigenze e fai clic su FINE.
Nella parte superiore della pagina, fai clic su Mostra dettagli nella barra di avanzamento. Attendi per completare l'aggiornamento.
Interfaccia a riga di comando gcloud
Esegui il comando di aggiornamento applicabile. Specifica solo i flag per configurazione che desideri modificare:
Cluster di amministrazione:
gcloud container vmware admin-clusters update
Cluster utente:
gcloud container vmware clusters update
Pool di nodi su 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 Kubernetes
criteri di controllo dell'accesso
basato sui ruoli (RBAC, Role-Based Access Control) in ciascun cluster. Un utente amministratore è
un utente a cui è stato concesso il ruolo cluster-admin
nel cluster utente. Questo
concede all'utente l'accesso amministrativo completo al cluster.
Supponiamo che Alice e Bob siano gli unici utenti amministratori del cluster utente chiamato cluster-1 nella regione us-west1. Supponiamo che Alice voglia aggiungere Trent come utente amministratore aggiuntivo. Alice può eseguire questo 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 amministratori. Nota che Alice e Bob
deve essere elencato nel comando, perché il comando sovrascrive
di utenti amministratore con l'elenco specificato
. Nota inoltre che ogni flag --admin-users
specifica solo
un utente. Non puoi specificare più utenti in un singolo flag.
Terraform
Modifica i valori dei campi applicabili in Terraform di configurazione 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 Kubernetes
criteri di controllo dell'accesso
basato sui ruoli (RBAC, Role-Based Access Control) in ciascun cluster. Un utente amministratore è
un utente a cui è stato concesso il ruolo cluster-admin
nel cluster utente. Questo
concede all'utente l'accesso amministrativo completo al cluster.
Supponiamo che Alice e Bob siano gli unici amministratori di un determinato utente
in un cluster Kubernetes. Supponiamo inoltre che Alice voglia aggiungere Trent come amministratore aggiuntivo.
utente. Alice può regolare la configurazione di Terraform come segue:
quindi esegui 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 delle
e aggiunge Trent all'elenco degli amministratori. Nota che Alice
e Roberto devono essere elencati nella nuova configurazione, perché
Il comando terraform apply
sovrascrive l'elenco corrente di utenti amministratore
all'elenco specificato nella configurazione.
Ulteriori informazioni
I documenti elencati in questa sezione forniscono ulteriori dettagli sull'aggiornamento cluster.
Aggiorna cluster/amministratore
I seguenti documenti forniscono dettagli sull'utilizzo
gkectl update admin
e gkectl update cluster
per aggiornare funzionalità e
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