Aggiorna i parametri del cluster Azure

Questa pagina descrive come aggiornare le impostazioni di GKE nelle impostazioni del cluster Azure. 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 aggiornare le dimensioni della VM del cluster.
  • per aggiornare AzureClient del cluster.
  • Aggiornare l'autenticazione del cluster da AzureClient alla federazione delle identità per i carichi di lavoro.

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 azure clusters update e di projects.locations.azureClusters.patch.

Prerequisiti

  • Per aggiornare i campi del cluster, devi disporre dell'autorizzazione gkemulticloud.googleapis.com/azureClusters.update Identity and Access Management.

La procedura di aggiornamento

Il processo con cui GKE su Azure aggiorna un cluster varia a seconda del tipo di aggiornamento. Per alcune modifiche, GKE su Azure può aggiornare un cluster senza riavviare o ricreare le risorse, ad esempio aggiornando la descrizione di un cluster. GKE su Azure apporta queste modifiche immediatamente.

Altre modifiche richiedono il riavvio dei nodi del piano di controllo, ad esempio l'aggiornamento delle dimensioni della VM o della versione di Kubernetes. Per questi aggiornamenti, GKE su Azure esegue un "aggiornamento in sequenza" costituito dai seguenti passaggi:

  1. Scegli un'istanza del piano di controllo da aggiornare. GKE su Azure aggiorna le istanze in stato non integro, se presenti, prima di quelle in stato integro.
  2. Elimina l'istanza. GKE su Azure ricrea l'istanza e l'istanza si avvia con la nuova configurazione.
  3. Esegui i controlli di integrità sulla nuova istanza.
  4. 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 Azure mette il cluster in uno stato DEGRADED e interrompe l'aggiornamento. Per saperne di più, consulta la sezione seguente.

Quando un aggiornamento non va a buon fine

Dopo un aggiornamento, GKE su Azure 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 azure clusters describe CLUSTER_NAME \
  --location=GOOGLE_CLOUD_LOCATION

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster
  • GOOGLE_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

  1. Nella console Google Cloud, vai alla pagina della panoramica dei cluster di Google Kubernetes Engine.

    Vai ai cluster GKE

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

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

  4. 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.

  5. 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 Azure quale cluster aggiornare. Nel seguente comando, includi solo i campi da aggiornare; rimuovi gli altri campi prima di eseguire il comando.

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION \
    --admin-users=USERNAME_LIST \
    --client=CLIENT_NAME \
    --vm-size=VM_SIZE 

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". 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.
  • CLIENT_NAME: il tuo AzureClient
  • VM_SIZE: la nuova dimensione VM supportata

Per aggiornare l'autenticazione del cluster da AzureClient alla federazione delle identità per i carichi di lavoro, esegui questo comando:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --azure-tenant-id="${TENANT_ID}" \
    --azure-application-id="${APPLICATION_ID}" \
    --clear-client

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 Azure 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.azureClusters.patch.

  1. Crea un file JSON denominato cluster_update.json con i campi che vuoi aggiornare.

    • Quando utilizzi la federazione delle identità per i carichi di lavoro, il file JSON dovrebbe avere il seguente aspetto:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureServicesAuthentication": {
          "tenantId": "TENANT_ID",
          "applicationId": "APPLICATION_ID"
        },
        "authorization": {
            "adminUsers": [
                {
                "username": USERNAME1,
                "username": USERNAME2,
                "username": USERNAME3
                }
            ]
        }
      }
      
    • Quando utilizzi il client Azure, il file JSON dovrebbe avere il seguente aspetto:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureClient": "CLIENT_NAME",
        "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 cluster
    • CLUSTER_DESCRIPTION: la nuova descrizione del cluster
    • USERNAME1,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.
    • CLIENT_NAME: il nome del tuo AzureClient
    • TENANT_ID: l'ID tenant di Azure
    • APPLICATION_ID: l'ID applicazione Azure creato in Creare un'applicazione Azure Active Directory
    • VM_SIZE: la nuova dimensione VM
  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/azureClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
    

Sostituisci quanto segue:

  • ENDPOINT (obbligatorio): il tuo endpoint di servizio Google Cloud
  • PROJECT_ID (obbligatorio): il tuo progetto Google Cloud
  • GOOGLE_CLOUD_LOCATION (obbligatorio): la regione Google Cloud supportata che gestisce il cluster, ad esempio us-west1
  • CLUSTER_NAME (obbligatorio): 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
    • control_plane.vm_size
    • azure_client
    • azure_services_authentication.tenant_id
    • azure_services_authentication.application_id

Per aggiornare l'autenticazione del cluster da AzureClient alla federazione delle identità per i carichi di lavoro, aggiungi azure_client, azure_services_authentication.tenant_id e azure_services_authentication.application_id nel campo update_mask.

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 azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --logging=LOGGING_CONFIG \

Sostituisci quanto segue:

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

Passaggi successivi