Aggiorna i parametri del cluster Azure
Questa pagina descrive come aggiornare le impostazioni del cluster GKE su 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 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 aggiornare le dimensioni delle VM del cluster.
- Per aggiornare AzureClient del cluster.
- Per 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 projects.locations.azureClusters.patch
.
Prerequisiti
Per aggiornare uno dei campi del cluster, devi disporre dell'autorizzazione
gkemulticloud.googleapis.com/azureClusters.update
Identity and Access Management.
La procedura di aggiornamento
La procedura 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 risorse, ad esempio aggiornare 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:
- Scegli un'istanza del piano di controllo da aggiornare. GKE su Azure aggiorna le eventuali istanze non integre prima di quelle integre.
- Elimina l'istanza. GKE on Azure ricrea l'istanza, che si avvia con la nuova configurazione.
- Esegui i controlli di integrità sulla nuova istanza.
- 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 on Azure colloca il cluster in uno stato
DEGRADED
e interrompe l'aggiornamento. Per ulteriori informazioni, consulta la sezione che segue.
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 riesce, il cluster viene contrassegnato come DEGRADED
. Puoi visualizzare lo stato del cluster con il seguente comando Google Cloud CLI:
gcloud container azure 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 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
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 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, selezionare
Modifica accanto a Utenti amministratore e inserire 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
eGOOGLE_CLOUD_LOCATION
, che indicano a GKE su Azure quale cluster aggiornare. Nel comando seguente, includi solo i campi che vuoi 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 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". 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.CLIENT_NAME
: il tuo AzureClientVM_SIZE
: la nuova dimensione VM supportata
Per aggiornare l'autenticazione del cluster da AzureClient a federazione delle identità per i carichi di lavoro, esegui il seguente 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 campiCLUSTER_NAME
eGOOGLE_CLOUD_LOCATION
nella richiesta HTTP. Questi campi indicano a GKE su Azure 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.azureClusters.patch
.
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 di tutte le versioni secondarie durante l'upgrade del clusterCLUSTER_DESCRIPTION
: la descrizione del nuovo clusterUSERNAME1
,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.CLIENT_NAME
: il nome del tuo AzureClientTENANT_ID
: l'ID tenant AzureAPPLICATION_ID
: l'ID applicazione Azure creato in Creare un'applicazione Azure Active DirectoryVM_SIZE
: la nuova dimensione della VM
- Quando utilizzi la federazione delle identità per i carichi di lavoro, il file JSON dovrebbe avere il seguente aspetto:
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 Google Cloud endpoint del servizioPROJECT_ID
(obbligatorio): il tuo Google Cloud progettoGOOGLE_CLOUD_LOCATION
(obbligatorio): la regione Google Cloud supportata che gestisce il cluster, ad esempious-west1
CLUSTER_NAME
(obbligatorio): il 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
- control_plane.vm_size
- azure_client
- azure_services_authentication.tenant_id
- azure_services_authentication.application_id
Per aggiornare l'autenticazione del cluster da AzureClient a
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 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 azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempious-west1
LOGGING_CONFIG
: [SYSTEM] o [SYSTEM,WORKLOAD]
Passaggi successivi
- Per aggiornare le chiavi KMS del volume, consulta Rotazione delle chiavi
- Per ulteriori informazioni sui campi aggiornabili, consulta la documentazione di riferimento di
gcloud container azure clusters update
. - Consulta la documentazione dell'API REST di
projects.locations.azureClusters.patch
.