Aggiornamento di un cluster

Questo documento mostra come eseguire un aggiornamento del cluster che non includa una modifica della versione.

Un aggiornamento del cluster è una modifica alla configurazione del cluster.

Un upgrade del cluster è un caso speciale di aggiornamento del cluster che include una modifica alla versione del piano di controllo o a una versione del pool di nodi. Per informazioni sull'upgrade, consulta Upgrade di GKE su VMware.

Elementi che possono essere aggiornati

Alcune funzionalità e impostazioni del cluster possono essere aggiornate, mentre altre funzionalità e impostazioni non possono essere aggiornate dopo la creazione del cluster. Per capire quali funzionalità possono essere aggiornate, consulta le pagine di riferimento relative al file di configurazione del cluster di amministrazione e al 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 visualizzare gli elementi che possono essere aggiornati 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 visualizzare 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, supponi di voler aggiornare CPU e memoria master e di voler disabilitare anche la riparazione automatica.

Poi eseguirai due aggiornamenti separati: uno per la CPU master e la memoria e un altro per la riparazione automatica. Verifica che il primo aggiornamento sia andato a buon fine prima di eseguire il secondo.

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 con Terraform, puoi utilizzare Terraform per aggiornare il cluster. In quasi tutti i casi, devi utilizzare gkectl per aggiornare i cluster di amministrazione.

Gli esempi seguenti mostrano come aggiornare i cluster.

Gkectl

Il comando gkectl update ha una delle seguenti forme:

Esempio di cluster di amministrazione (gkectl update admin)

Supponi di voler 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

Quindi aggiorna il cluster di amministrazione:

gkectl update cluster --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)

Supponi di voler modificare il valore di stackdriver.vSphereDisableResourceMetrics da false a true in un cluster utente. Innanzitutto, modifica il file di configurazione del cluster utente 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 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"

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 file di configurazione del cluster utente

  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione

Console

  1. Nella console, vai alla pagina Cluster Anthos.

    Vai a Cluster Anthos

  2. Seleziona il progetto Google Cloud, quindi seleziona il cluster che vuoi aggiornare.

  3. Nel riquadro Dettagli, fai clic su Ulteriori dettagli.

  4. I campi aggiornabili nella console Google Cloud sono contrassegnati da un'icona a forma di matita. Fai clic su una delle icone a forma di matita. Nella finestra visualizzata, modifica i valori dei campi come preferisci e fai clic su FINE.

  5. Nella barra di avanzamento nella parte superiore della pagina, 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:

Aggiorna gli utenti amministratori su un cluster utente

Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste ricevute. Per configurare l'autorizzazione, devi configurare criteri di controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes su ciascun 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 chiamato cluster-1 nella regione us-west1. Supponiamo che Alice voglia aggiungere Trent come utente amministratore aggiuntivo. Alice può 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 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 attuale di utenti amministratore con l'elenco specificato nel comando. Nota inoltre che ogni flag --admin-users specifica un solo utente. Non puoi specificare più utenti in un unico flag.

Terraform

  1. 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:

  2. Aggiorna la configurazione eseguendo terraform apply.

Aggiorna gli utenti amministratori su un cluster utente

Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste ricevute. Per configurare l'autorizzazione, devi configurare criteri di controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes su ciascun 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 in un determinato cluster utenti. Supponiamo che Alice voglia aggiungere Trent come utente amministratore aggiuntivo. Alice può modificare la configurazione Terraform come segue, quindi eseguire terraform apply:

authorization {
  admin_users {
    username = "alice@example.com"
    username = "bob@example.com"
    username = "trent@example.com"
  }
}

L'aggiustamento precedente mantiene Alice e Bob nell'elenco degli utenti amministratore e aggiunge Trent all'elenco degli utenti amministratori. Tieni presente che Alice e Bob devono essere elencati nella nuova configurazione, poiché il comando terraform apply sovrascrive l'elenco corrente di utenti amministratore con l'elenco specificato nella configurazione.

Ulteriori informazioni

I documenti elencati in questa sezione forniscono dettagli aggiuntivi sull'aggiornamento dei cluster.

Aggiorna cluster/amministratore

I seguenti documenti forniscono dettagli sull'utilizzo di 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