Quando tenti di modificare il cluster Google Kubernetes Engine (GKE) o i relativi pool di nodi, la tua azione potrebbe essere temporaneamente bloccata perché è in corso un'altra operazione. Questo problema può ritardare gli aggiornamenti critici, l'amministrazione del cluster e le implementazioni delle applicazioni.
Utilizza questa pagina per scoprire come identificare l'operazione in esecuzione. Comprendere l'operazione attiva ti aiuta a stimare il ritardo e a determinare quando riprovare l'azione.
Queste informazioni sono importanti sia per gli sviluppatori di applicazioni, che potrebbero riscontrare questi limiti durante il deployment o la modifica delle applicazioni, sia per gli amministratori e gli operatori della piattaforma, che gestiscono il ciclo di vita complessivo del cluster, gli upgrade e devono risolvere i problemi relativi alle attività amministrative bloccate. Per ulteriori informazioni sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti diGoogle Cloud , consulta Ruoli e attività comuni degli utenti GKE.
Informazioni sugli errori relativi alle operazioni simultanee
In GKE, un'operazione del cluster è un'azione che modifica lo stato del control plane del cluster o dei relativi node pool. Queste operazioni sono gestite da GKE e possono essere avviate da te o da GKE per scopi di manutenzione. Le operazioni comuni del cluster includono:
- Creazione o eliminazione del cluster.
- È in corso l'upgrade della versione del control plane del cluster.
- Creazione, aggiornamento, ridimensionamento o eliminazione dei node pool.
- Modificare le impostazioni a livello di cluster, ad esempio attivare o disattivare le funzionalità.
- Riparazioni automatiche del control plane avviate da GKE.
Quando esegui operazioni sui cluster, potresti visualizzare messaggi di errore simili ai seguenti:
Cluster is running incompatible operation OPERATION_NAME
Cluster is currently being created, deleted, updated or repaired and cannot be updated
Operation OPERATION_NAME is currently ACTIONING cluster CLUSTER_NAME. Please wait and try again once it is done
Questi errori possono includere i seguenti valori:
OPERATION_NAME
: l'ID univoco di un'operazione già in esecuzione sul tuo cluster. Utilizza questo nome per monitorare lo stato di questa operazione preesistente che impedisce l'avvio della nuova operazione.ACTIONING
: l'azione eseguita sul cluster. Ad esempio,Creating
oUpdating
.CLUSTER_NAME
: il nome del cluster a cui è destinata l'operazione.
Questi errori si verificano perché GKE limita il numero di operazioni che possono essere eseguite contemporaneamente per evitare conflitti. In genere, GKE consente l'esecuzione simultanea di una sola operazione a livello di cluster o di una sola operazione per pool di nodi. GKE esegue anche azioni automatiche proprie, come gli upgrade del control plane, che vengono conteggiate ai fini di questo limite e possono impedirti temporaneamente di avviare una nuova attività.
Risolvi gli errori relativi alle operazioni simultanee
Se ricevi un errore che indica che è in corso un'altra operazione, identifica l'attività in corso e attendi il completamento:
Se non conosci il nome dell'operazione di blocco, elenca tutte le operazioni in corso e in attesa per il tuo cluster:
gcloud container operations list \ --location=LOCATION \ --filter '(targetLink~/clusters/CLUSTER_NAME$ OR targetLink~/clusters/CLUSTER_NAME/) AND status!=DONE' \ --format json
Sostituisci quanto segue:
LOCATION
: la regione o la zona di Compute Engine (ad esempious-central1
ous-central1-a
) per il cluster, a seconda che il cluster sia regionale o zonale.CLUSTER_NAME
: il nome del cluster con l'operazione non riuscita.L'output è simile al seguente:
{ "name": "operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "operationType": "UPDATE_CLUSTER", "selfLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "startTime": "2001-01-01T00:00:00.000000000Z", "status": "RUNNING", "targetLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME", "zone": "LOCATION" }
Nell'output, esamina il campo
name
per ogni operazione. Questo valore è il nome dell'operazione che impedisce l'avvio della nuova operazione. Ti servirà per il passaggio successivo.Per ulteriori informazioni sugli altri campi nell'output, consulta la documentazione dell'API per
projects.locations.operations
.
Attendi il completamento dell'operazione:
gcloud container operations wait OPERATION_NAME \ --location=LOCATION
Sostituisci
OPERATION_NAME
con il nome di un'operazione di blocco da un messaggio di errore o dal passaggio precedente.Questo comando monitora attivamente l'operazione e viene chiuso al termine dell'operazione.
Dopo che l'operazione di blocco ha lo stato
DONE
, riprova a eseguire l'operazione che ha causato l'errore.
Passaggi successivi
Se non riesci a trovare una soluzione al tuo problema nella documentazione, consulta la sezione Richiedere assistenza per ulteriore aiuto, inclusi consigli sui seguenti argomenti:
- Aprire una richiesta di assistenza contattando l'assistenza clienti cloud.
- Ricevere assistenza dalla community
ponendo domande su StackOverflow e utilizzando il tag
google-kubernetes-engine
per cercare problemi simili. Puoi anche unirti al canale Slack#kubernetes-engine
per ulteriore assistenza della community. - Apertura di bug o richieste di funzionalità utilizzando lo strumento di monitoraggio dei problemi pubblico.