Questa pagina descrive come aggiornare le impostazioni del cluster GKE su AWS. Puoi utilizzare queste istruzioni per aggiornare qualsiasi impostazione aggiornabile nel cluster, inclusa la versione di Kubernetes. Poiché l'upgrade della versione è una delle operazioni di aggiornamento del cluster più comuni, una pagina separata Eseguire l'upgrade della versione di un cluster descrive come eseguire l'upgrade della versione di un cluster.
Motivi per aggiornare un cluster
Potresti aggiornare un cluster per uno dei seguenti motivi:
- Per aggiornare la descrizione del cluster.
- Per aggiornare le annotazioni del cluster.
- Per aggiornare l'elenco degli utenti amministratori del cluster.
- Per aggiornare la configurazione di logging del cluster.
- Per ruotare le chiavi di crittografia.
- Per aggiornare i gruppi di sicurezza del control plane del cluster.
Puoi anche aggiornare altri campi nei cluster non elencati qui.
Per un elenco completo dei campi che puoi aggiornare, consulta la
gcloud container aws clusters update
e la
projects.locations.awsClusters.patch
documentazione.
Prerequisiti
Per aggiornare uno qualsiasi dei campi del cluster, devi disporre dell'autorizzazione Identity and Access Management
gkemulticloud.googleapis.com/awsClusters.update.Per aggiornare i gruppi di sicurezza del cluster, il ruolo del control plane del cluster deve disporre dell'autorizzazione
ec2:ModifyNetworkInterfaceAttribute. Per saperne di più, vedi Creare il ruolo del control plane.Inoltre, per aggiornare i tag del cluster, il ruolo API del cluster deve disporre delle seguenti autorizzazioni AWS:
autoscaling:CreateOrUpdateTagsautoscaling:DeleteTagsec2:CreateTagsec2:DescribeLaunchTemplatesec2:DescribeSecurityGroupRulesec2:DeleteTagselasticloadbalancing:AddTagselasticloadbalancing:RemoveTags
Leggi Creare ruoli IAM AWS per scoprire come creare e aggiungere autorizzazioni al ruolo API del cluster.
La procedura di aggiornamento
La procedura con cui GKE su AWS aggiorna un cluster varia a seconda del tipo di aggiornamento. Per alcune modifiche, GKE su AWS può aggiornare un cluster senza riavviare o ricreare risorse, ad esempio aggiornando la descrizione di un cluster. GKE su AWS applica queste modifiche immediatamente.
Altre modifiche richiedono il riavvio dei nodi del control plane, ad esempio l'aggiornamento della versione di Kubernetes. Per questi aggiornamenti, GKE su AWS esegue un "aggiornamento in sequenza" composto dai seguenti passaggi:
- Scegli un'istanza del control plane da aggiornare. GKE su AWS aggiorna le istanze non integre, se presenti, prima di quelle integre.
- Crea un nuovo modello di avvio per l'istanza.
- Aggiorna il modello di avvio del gruppo di scalabilità automatica.
- Elimina l'istanza. AWS ricrea l'istanza e l'istanza si avvia con la nuova configurazione.
- Esegui controlli di integrità sulla nuova istanza.
- Se i controlli di integrità hanno esito positivo, seleziona un'altra istanza ed esegui gli stessi
passaggi. Ripeti questo ciclo finché non vengono riavviate o ricreate tutte le istanze. Se il controllo di integrità non riesce, GKE su AWS
imposta il cluster in stato
DEGRADEDe interrompe l'aggiornamento. Per saperne di più, consulta la sezione seguente. - Elimina il modello di avvio originale.
Quando un aggiornamento non riesce
Dopo un aggiornamento, GKE su AWS esegue un controllo di integrità sul cluster.
Se il controllo di integrità non riesce, il cluster viene contrassegnato come DEGRADED. Puoi visualizzare lo stato del cluster con il seguente comando Google Cloud CLI:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION: la Google Cloud regione che gestisce il cluster
Aggiornare il cluster
Puoi utilizzare la Google Cloud console, Google Cloud CLI o l' API GKE Multi-Cloud per aggiornare più campi del cluster contemporaneamente.
Scegliere un metodo di aggiornamento
Puoi aggiornare la maggior parte dei campi tramite la console, gcloud CLI o l'API GKE Multi-Cloud. Alcuni campi possono essere aggiornati solo tramite un meccanismo o l'altro. Se vuoi utilizzare la console per aggiornare un cluster, devi prima scegliere e configurare un metodo di autenticazione per accedere al cluster. Per saperne di più, vedi Connettersi ed eseguire l'autenticazione al cluster.
Console
Nella Google Cloud console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Seleziona il Google Cloud progetto in cui si trova il cluster.
Nell'elenco dei cluster, seleziona il nome del cluster, quindi seleziona Visualizza dettagli nel riquadro laterale.
Nella scheda Dettagli, seleziona Modifica nel campo che vuoi modificare.
Ad esempio, per concedere privilegi amministrativi del cluster ad altri utenti seleziona Modifica accanto a Utenti amministratori e inserisci l'indirizzo email dell'utente.
Al termine delle modifiche, seleziona Fine.
gcloud
Quando aggiorni un cluster utilizzando gcloud CLI, devi sempre includere i campiCLUSTER_NAME e GOOGLE_CLOUD_LOCATION, che indicano a GKE su AWS quale cluster aggiornare. Nel comando seguente, includi solo i campi che vuoi aggiornare; rimuovi gli altri campi prima di eseguire il comando.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--root-volume-iops=ROOT_VOLUME_IOPS \
--root-volume-size=ROOT_VOLUME_SIZE \
--root-volume-type=ROOT_VOLUME_TYPE \
--security-group-ids=SECURITY_GROUP_IDS
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION(obbligatorio): laregione supportata Google Cloud che gestisce il cluster, ad esempious-west1CLUSTER_VERSION: la nuova versione del cluster supportataUSERNAME_LIST: un elenco separato da virgole di nomi utente, ad esempio, "kai@example.com,hao@example.com,kalani@example.com". Questi sono gli indirizzi email degli utenti a cui stai concedendo i privilegi amministrativi su questo cluster. I nomi in questa impostazione sostituiranno qualsiasi elenco precedente di utenti amministratori nel cluster.ROOT_VOLUME_IOPS: le operazioni di I/O massime al secondo del volume rootROOT_VOLUME_SIZE: le dimensioni del volume root, in GBROOT_VOLUME_TYPE: il tipo di volume EBS AWS del volume rootSECURITY_GROUP_IDS: gli ID dei gruppi di sicurezza AWS da aggiungere alle istanze del control plane del clusterSECURITY_GROUP_IDS: gli ID dei gruppi di sicurezza AWS da aggiungere alle istanze del control plane del cluster
API
Quando aggiorni un cluster utilizzando l'API GKE Multi-Cloud, devi sempre includere i campiCLUSTER_NAME e GOOGLE_CLOUD_LOCATION nella richiesta HTTP. Questi campi indicano a GKE su AWS quale cluster aggiornare. Devi anche includere l'endpoint API nella richiesta. Crea un file JSON con i campi che vuoi aggiornare. Includi solo i campi che vuoi aggiornare nel file JSON e in UPDATE_MASK.
L'esempio seguente mostra come aggiornare il cluster tramite l'API.
Per saperne di più, incluso l'elenco dei campi che puoi aggiornare, consulta
la
projects.locations.awsClusters.patch
documentazione del metodo.
Crea un file JSON denominato
cluster_update.jsoncon i campi che vuoi aggiornare.{ "controlPlane": { "version": "CLUSTER_VERSION", }, "description": "CLUSTER_DESCRIPTION", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }Sostituisci quanto segue:
CLUSTER_VERSION: la nuova versione del cluster supportata. Tieni presente che devi eseguire l'upgrade di tutte le versioni secondarie quando esegui l'upgrade del cluster.CLUSTER_DESCRIPTION: la nuova descrizione del clusterUSERNAME1,USERNAME2,USERNAME3: gli indirizzi email degli utenti a cui stai concedendo i privilegi amministrativi su questo cluster. I nomi in questi campi sostituiranno qualsiasi elenco precedente di utenti amministratori nel cluster.
Aggiorna queste impostazioni tramite l'API GKE Multi-Cloud con il seguente comando.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Sostituisci quanto segue:
ENDPOINT(obbligatorio): l' Google Cloud endpoint del servizioPROJECT_ID(obbligatorio): il tuo Google Cloud progettoGOOGLE_CLOUD_LOCATION(obbligatorio): laregione supportata Google Cloud che gestisce il cluster, ad esempious-west1CLUSTER_NAME(obbligatorio): il nome del clusterUPDATE_MASK(obbligatorio): un elenco separato da virgole di uno o più dei seguenti flag, che indicano i campi che vuoi aggiornare. In questo esempio, specifica quanto segue.- controlPlane.version
- description
- authorization.admin_users
Aggiornare i gruppi di sicurezza del cluster
Per aggiornare i gruppi di sicurezza del cluster, il ruolo del control plane del cluster deve disporre dell'autorizzazione ec2:ModifyNetworkInterfaceAttribute. Per saperne di più,
vedi
Creare il ruolo del control plane.
Puoi utilizzare il comando gcloud container aws clusters update per aggiungere altri gruppi di sicurezza al control plane del cluster.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION: laregione supportata che gestisce il cluster, ad esempious-west1Google CloudSECURITY_GROUP_IDS: gli ID dei gruppi di sicurezza AWS da aggiungere alle istanze del control plane del cluster
Rimuovere i gruppi di sicurezza del cluster
Puoi rimuovere tutti i gruppi di sicurezza non predefiniti dal cluster con Google Cloud CLI. Per aggiornare un cluster, esegui:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION: laregione supportata che gestisce il cluster, ad esempious-west1Google Cloud
Aggiornare le informazioni sui volumi del cluster
Puoi aggiornare i volumi del control plane del cluster con Google Cloud CLI. Per aggiornare le chiavi KMS dei volumi, vedi Rotazione delle chiavi.
Per aggiornare le dimensioni, il tipo o le IOPS al secondo del volume, esegui il comando seguente:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--root-volume-iops=ROOT_VOLUME_IOPS
--root-volume-size=ROOT_VOLUME_SIZE
--root-volume-type=ROOT_VOLUME_TYPE
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION: laregione supportata che gestisce il cluster, ad esempious-west1Google CloudROOT_VOLUME_IOPS: le operazioni di I/O al secondo del volume rootROOT_VOLUME_SIZE: le dimensioni del volume root, in GBROOT_VOLUME_TYPE: il tipo di volume EBS AWS del volume root.
Aggiornare la configurazione di logging
Puoi aggiornare le impostazioni di configurazione di Cloud Logging del cluster con Google Cloud CLI. Per aggiornare la configurazione di logging, esegui il comando seguente:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Sostituisci quanto segue:
CLUSTER_NAME: il nome del clusterGOOGLE_CLOUD_LOCATION: laregione supportata che gestisce il cluster, ad esempious-west1Google CloudLOGGING_CONFIG: [SYSTEM] o [SYSTEM,WORKLOAD]
Passaggi successivi
- Per aggiornare le chiavi KMS dei volumi, vedi Rotazione delle chiavi.
- Per saperne di più sui campi aggiornabili, consulta la
gcloud container aws clusters updatedocumentazione di riferimento. - Consulta la
projects.locations.awsClusters.patchdocumentazione dell'API REST.