Aggiorna i parametri del cluster AWS

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 distinta dedicata all'upgrade del cluster illustra 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 di utenti amministrativi del cluster.
  • Per aggiornare la configurazione di 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 projects.locations.awsClusters.patch.

Prerequisiti

  • Per aggiornare uno dei 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 ulteriori informazioni, consulta 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:CreateOrUpdateTags
    • autoscaling:DeleteTags
    • ec2:CreateTags
    • ec2:DescribeLaunchTemplates
    • ec2:DescribeSecurityGroupRules
    • ec2:DeleteTags
    • elasticloadbalancing:AddTags
    • elasticloadbalancing:RemoveTags

    Leggi Creare ruoli IAM AWS per scoprire come creare e aggiungere autorizzazioni al ruolo API del tuo 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 aggiornare 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:

  1. Scegli un'istanza del piano di controllo da aggiornare. GKE su AWS aggiorna le istanze non integre, se presenti, prima di quelle integre.
  2. Crea un nuovo modello di lancio per l'istanza.
  3. Aggiorna il modello di avvio del gruppo di scalabilità automatica.
  4. Elimina l'istanza. AWS ricrea l'istanza, che si avvia con la nuova configurazione.
  5. Esegui i controlli di integrità sulla nuova istanza.
  6. Se i controlli di integrità vanno a buon fine, seleziona un'altra istanza ed esegui gli stessi passaggi. Ripeti questo ciclo finché tutte le istanze non vengono riavviate o ricreate. Se il controllo di integrità non riesce, GKE su AWS imposta il cluster in uno stato DEGRADED e interrompe l'aggiornamento. Per ulteriori informazioni, consulta la sezione che segue.
  7. 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 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 cluster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud regione che gestisce il tuo 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.

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 determinato meccanismo. Se vuoi utilizzare la console per aggiornare un cluster, devi prima scegliere e configurare un metodo di autenticazione per accedere al cluster. Per ulteriori informazioni, consulta Connessione al cluster e autenticazione.

Console

  1. Nella Google Cloud console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.

    Vai ai cluster GKE

  2. Seleziona il Google Cloud progetto in cui si trova il cluster.

  3. Nell'elenco dei cluster, seleziona il nome del cluster, quindi Visualizza dettagli nel riquadro laterale.

  4. Nella scheda Dettagli, seleziona Modifica nel campo che vuoi modificare.

    Ad esempio, per concedere privilegi amministrativi del cluster ad altri utenti, selezionare Modifica accanto a Utenti amministratore e inserire l'indirizzo email dell'utente.

  5. Al termine delle modifiche, seleziona Fine.

gcloud

Quando aggiorni un cluster utilizzando gcloud CLI, devi sempre includere i campiCLUSTER_NAME eGOOGLE_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 cluster
  • GOOGLE_CLOUD_LOCATION (obbligatorio): la regione Google Cloud supportata che gestisce il cluster, ad esempio us-west1
  • CLUSTER_VERSION: la nuova versione del cluster supportata
  • USERNAME_LIST: un elenco separato da virgole di nomi utente, ad esempio "kai@example.com,hao@example.com,kalani@example.com". Si tratta degli 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 amministratore nel cluster.
  • ROOT_VOLUME_IOPS: le operazioni I/O massime al secondo del volume principale
  • ROOT_VOLUME_SIZE: la dimensione del volume principale, in GB
  • ROOT_VOLUME_TYPE: il tipo di volume EBS AWS del volume root
  • SECURITY_GROUP_IDS: gli ID gruppo di sicurezza AWS da aggiungere alle istanze del control plane del cluster
  • SECURITY_GROUP_IDS: gli 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 campiCLUSTER_NAME eGOOGLE_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 da aggiornare. Includi solo i campi che vuoi aggiornare nel file JSON e in UPDATE_MASK.

Il seguente esempio mostra come aggiornare il cluster tramite l'API. Per ulteriori informazioni, incluso l'elenco dei campi che puoi aggiornare, consulta la documentazione del metodo projects.locations.awsClusters.patch.

  1. 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 di tutte le versioni secondarie durante l'upgrade del cluster
    • CLUSTER_DESCRIPTION: la descrizione del nuovo cluster
    • USERNAME1,USERNAME2,USERNAME3: gli indirizzi email degli utenti a cui granti i privilegi amministrativi su questo cluster. I nomi in questi campi sostituiranno qualsiasi elenco precedente di utenti amministratore nel cluster.
  2. 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 Google Cloud endpoint del servizio
  • PROJECT_ID (obbligatorio): il tuo Google Cloud progetto
  • GOOGLE_CLOUD_LOCATION (obbligatorio): la regione Google Cloud supportata che gestisce il cluster, ad esempio us-west1
  • CLUSTER_NAME (obbligatorio): il nome del cluster
  • UPDATE_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 ulteriori informazioni, consulta Creare il ruolo del control plane.

Puoi utilizzare il comando gcloud container aws clusters update per aggiungere gruppi di sicurezza aggiuntivi 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 cluster
  • GOOGLE_CLOUD_LOCATION: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempio us-west1
  • SECURITY_GROUP_IDS: gli ID gruppo di sicurezza AWS da aggiungere alle istanze del piano di controllo del cluster

Rimuovere i gruppi di sicurezza del cluster

Puoi rimuovere tutti i gruppi di sicurezza non predefiniti dal cluster con lGoogle 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 cluster
  • GOOGLE_CLOUD_LOCATION: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempio us-west1

Aggiornare 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 le dimensioni, il tipo o le IOPS del volume, esegui il seguente 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: il nome del cluster
  • GOOGLE_CLOUD_LOCATION: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempio us-west1
  • ROOT_VOLUME_IOPS: le operazioni I/O del volume principale al secondo
  • ROOT_VOLUME_SIZE: la dimensione del volume principale, in GB
  • ROOT_VOLUME_TYPE: il tipo di volume EBS AWS del volume root.

Aggiorna la configurazione del logging

Puoi aggiornare le impostazioni di configurazione di Cloud Logging del tuo cluster con Google Cloud CLI. Per aggiornare la configurazione di registrazione, esegui il seguente comando:

gcloud container aws clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --logging=LOGGING_CONFIG \

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_CLOUD_LOCATION: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempio us-west1
  • LOGGING_CONFIG: [SYSTEM] o [SYSTEM,WORKLOAD]

Passaggi successivi