Questa pagina descrive come aggiornare le impostazioni di GKE su cluster 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 per eseguire l'upgrade del cluster spiega come eseguire l'upgrade di una versione del 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 amministrativi del cluster.
- Per aggiornare la configurazione del logging del cluster.
- Per ruotare le chiavi di crittografia.
- Per aggiornare i gruppi di sicurezza del piano di controllo del cluster.
Puoi anche aggiornare altri campi nei cluster non elencati qui.
Per un elenco completo dei campi che puoi aggiornare, consulta la documentazione di gcloud container aws clusters update
e di projects.locations.awsClusters.patch
.
Prerequisiti
Per aggiornare i campi del cluster, devi disporre dell'autorizzazione
gkemulticloud.googleapis.com/awsClusters.update
Identity and Access Management.Per aggiornare i gruppi di sicurezza del cluster, il ruolo del piano di controllo del cluster deve avere l'autorizzazione
ec2:ModifyNetworkInterfaceAttribute
. Per maggiori informazioni, consulta Creare il ruolo del piano di controllo.Inoltre, per aggiornare i tag del cluster, il ruolo API del cluster deve avere le seguenti autorizzazioni AWS:
autoscaling:CreateOrUpdateTags
autoscaling:DeleteTags
ec2:CreateTags
ec2:DescribeLaunchTemplates
ec2:DescribeSecurityGroupRules
ec2:DeleteTags
elasticloadbalancing:AddTags
elasticloadbalancing:RemoveTags
Consulta Creazione di ruoli AWS IAM per scoprire come creare e aggiungere autorizzazioni al ruolo dell'API del cluster.
La procedura di aggiornamento
Il processo 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 le risorse, ad esempio aggiornando la descrizione di un cluster. GKE su AWS apporta queste modifiche immediatamente.
Altre modifiche richiedono il riavvio dei nodi del piano di controllo, ad esempio l'aggiornamento della versione di Kubernetes. Per questi aggiornamenti, GKE su AWS esegue un "aggiornamento in sequenza" costituito dai seguenti passaggi:
- Scegli un'istanza del piano di controllo da aggiornare. GKE su AWS aggiorna le eventuali istanze in stato non integro, se presenti, prima di quelle in stato integro.
- Crea un nuovo modello di avvio per l'istanza.
- Aggiorna il modello di lancio del gruppo di scalabilità automatica.
- Elimina l'istanza. AWS ricrea l'istanza e l'istanza si avvia con la nuova configurazione.
- Esegui i 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 fino a quando tutte le istanze non vengono riavviate o ricreate. Se il controllo di integrità non va a buon fine, GKE su AWS
mette il cluster in uno stato
DEGRADED
e interrompe l'aggiornamento. Per saperne di più, consulta la sezione seguente. - Elimina il modello di lancio originale.
Quando un aggiornamento non va a buon fine
Dopo un aggiornamento, GKE su AWS esegue un controllo di integrità sul cluster.
Se il controllo di integrità non va a buon fine, il cluster viene contrassegnato come DEGRADED
. Puoi visualizzare lo stato del cluster con il seguente comando di 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 regione Google Cloud che gestisce il cluster
Aggiorna il cluster
Puoi utilizzare la console Google Cloud, Google Cloud CLI o l'API GKE Multi-Cloud per aggiornare contemporaneamente più campi del cluster.
Scegli 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 maggiori informazioni, consulta Connessione e autenticazione al cluster.
Console
Nella console Google Cloud, vai alla pagina della panoramica dei cluster di Google Kubernetes Engine.
Seleziona il progetto Google Cloud 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 da modificare.Ad esempio, per concedere i privilegi amministrativi del cluster ad altri utenti, seleziona
Modifica accanto a Utenti amministratore 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 campi CLUSTER_NAME
e GOOGLE_CLOUD_LOCATION
, che indicano a GKE su AWS quale cluster aggiornare. Nel seguente comando, includi solo i campi da 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): la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
CLUSTER_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 privilegi amministrativi per questo cluster. I nomi in questa impostazione sostituiranno qualsiasi elenco precedente di utenti amministratore del cluster.ROOT_VOLUME_IOPS
: il numero massimo di 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 del volume rootSECURITY_GROUP_IDS
: gli ID gruppo di sicurezza AWS da aggiungere alle istanze del piano di controllo del clusterSECURITY_GROUP_IDS
: ID gruppo di sicurezza AWS da aggiungere alle istanze del piano di controllo del cluster
API
Quando aggiorni un cluster utilizzando l'API GKE Multi-Cloud, devi sempre includere i campi CLUSTER_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. Crei un file JSON con i campi che vuoi aggiornare. Includi solo i campi da aggiornare nel file JSON e in UPDATE_MASK
.
L'esempio seguente mostra come aggiornare il cluster tramite l'API.
Per ulteriori informazioni, incluso l'elenco dei campi che puoi aggiornare, consulta la documentazione relativa al metodo projects.locations.awsClusters.patch
.
Crea un file JSON denominato
cluster_update.json
con 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 tramite tutte le versioni secondarie quando esegui l'upgrade del clusterCLUSTER_DESCRIPTION
: la nuova descrizione del clusterUSERNAME1
,USERNAME2
,USERNAME3
: gli indirizzi email degli utenti a cui stai concedendo privilegi amministrativi su questo cluster. I nomi in questi campi sostituiranno qualsiasi elenco precedente di utenti amministratore del 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): il tuo endpoint di servizio Google CloudPROJECT_ID
(obbligatorio): il tuo progetto Google CloudGOOGLE_CLOUD_LOCATION
(obbligatorio): la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
CLUSTER_NAME
(obbligatorio): nome del clusterUPDATE_MASK
(obbligatorio): un elenco separato da virgole di uno o più dei seguenti flag, che indica i campi da aggiornare. In questo esempio, specifica quanto segue.- controlPlane.version
- description
- authorization.admin_users
Aggiorna i gruppi di sicurezza del cluster
Per aggiornare i gruppi di sicurezza del cluster, il ruolo del piano di controllo del cluster deve avere l'autorizzazione ec2:ModifyNetworkInterfaceAttribute
. Per maggiori informazioni, consulta Creare il ruolo del piano di controllo.
Puoi utilizzare il comando gcloud container aws clusters update
per aggiungere
altri gruppi di sicurezza al piano di controllo del cluster.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Sostituisci quanto segue:
CLUSTER_NAME
: nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
SECURITY_GROUP_IDS
: ID gruppo di sicurezza AWS da aggiungere alle istanze del piano di controllo del cluster
Rimuovi 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
: nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
Aggiorna le informazioni sul volume del cluster
Puoi aggiornare i volumi del piano di controllo del cluster con Google Cloud CLI. Per aggiornare le chiavi KMS del volume, consulta Rotazione delle chiavi.
Per aggiornare la dimensione, il tipo o il numero di IOPS del volume, esegui questo comando:
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
: nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
ROOT_VOLUME_IOPS
: le operazioni I/O del volume root al secondoROOT_VOLUME_SIZE
: le dimensioni del volume root, in GBROOT_VOLUME_TYPE
: il tipo di volume EBS AWS del volume root.
Aggiorna configurazione di logging
Puoi aggiornare le impostazioni di configurazione di Cloud Logging del cluster con Google Cloud CLI. Per aggiornare la configurazione del logging, esegui questo comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Sostituisci quanto segue:
CLUSTER_NAME
: nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
LOGGING_CONFIG
: [SYSTEM] o [SYSTEM,WORKCAR]
Passaggi successivi
- Per aggiornare le chiavi KMS del volume, consulta Rotazione delle chiavi.
- Per saperne di più sui campi aggiornabili, consulta la documentazione di riferimento di
gcloud container aws clusters update
. - Consulta la documentazione dell'API REST
projects.locations.awsClusters.patch
.