Quando você tenta modificar o cluster do Google Kubernetes Engine (GKE) ou os pools de nós dele, sua ação pode ser bloqueada temporariamente porque outra operação está em execução. Esse problema pode atrasar atualizações críticas, administração de clusters e implantações de aplicativos.
Use esta página para saber como identificar a operação em execução. Entender a operação ativa ajuda a estimar o atraso e determinar quando tentar novamente.
Essas informações são importantes para desenvolvedores de aplicativos, que podem encontrar esses limites ao implantar ou modificar aplicativos, e para administradores e operadores de plataforma, que gerenciam o ciclo de vida geral do cluster, upgrades e precisam resolver problemas de tarefas administrativas bloqueadas. Para mais informações sobre os papéis comuns e as tarefas de exemplo referenciados no conteúdo doGoogle Cloud , consulte Funções e tarefas de usuário comuns do GKE.
Entender erros de operação simultânea
No GKE, uma operação de cluster é uma ação que modifica o estado do plano de controle do cluster ou dos pools de nós. Essas operações são gerenciadas pelo GKE e podem ser iniciadas por você ou pelo GKE para fins de manutenção. As operações comuns de cluster incluem:
- Criar ou excluir o cluster.
- Fazendo upgrade da versão do plano de controle do cluster.
- Criar, atualizar, redimensionar ou excluir pools de nós.
- Modificar as configurações no nível do cluster, como ativar ou desativar recursos.
- Reparos automáticos do plano de controle iniciados pelo GKE.
Ao realizar operações nos clusters, talvez você veja mensagens de erro semelhantes a estas:
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
Esses erros podem incluir os seguintes valores:
OPERATION_NAME
: o ID exclusivo de uma operação que já está em execução no cluster. Use esse nome para acompanhar o status da operação preexistente que está impedindo o início da nova.ACTIONING
: a ação que está sendo realizada no cluster. Por exemplo,Creating
ouUpdating
.CLUSTER_NAME
: o nome do cluster que a operação está segmentando.
Esses erros ocorrem porque o GKE limita quantas operações podem ser executadas ao mesmo tempo para evitar conflitos. Em geral, o GKE permite apenas uma operação no nível do cluster ou uma operação por pool de nós para execução simultânea. O GKE também realiza ações automáticas próprias, como upgrades do plano de controle, que contam para esse limite e podem impedir temporariamente que você inicie uma nova tarefa.
Resolver erros de operação simultânea
Se você receber um erro indicando que outra operação está em andamento, identifique a tarefa em andamento e aguarde a conclusão dela:
Se você não souber o nome da operação de bloqueio, liste todas as operações em andamento e pendentes do cluster:
gcloud container operations list \ --location=LOCATION \ --filter '(targetLink~/clusters/CLUSTER_NAME$ OR targetLink~/clusters/CLUSTER_NAME/) AND status!=DONE' \ --format json
Substitua:
LOCATION
: a região ou zona do Compute Engine (por exemplo,us-central1
ouus-central1-a
) do cluster, dependendo se ele é regional ou zonal.CLUSTER_NAME
: o nome do cluster com a operação com falha.O resultado será assim:
{ "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" }
Na saída, revise o campo
name
de cada operação. Esse valor é o nome da operação que está impedindo o início da nova operação. Você vai precisar desse valor na próxima etapa.Para mais informações sobre os outros campos na saída, consulte a documentação da API para
projects.locations.operations
.
Aguarde a conclusão da operação:
gcloud container operations wait OPERATION_NAME \ --location=LOCATION
Substitua
OPERATION_NAME
pelo nome de uma operação de bloqueio de uma mensagem de erro ou da etapa anterior.Esse comando monitora ativamente a operação e sai quando ela é concluída.
Depois que a operação de bloqueio tiver o status
DONE
, tente de novo a operação que causou o erro.
A seguir
Se você não encontrar uma solução para seu problema na documentação, consulte Receber suporte para mais ajuda, incluindo conselhos sobre os seguintes tópicos:
- Abrir um caso de suporte entrando em contato com o Cloud Customer Care.
- Receber suporte da comunidade fazendo perguntas no StackOverflow e usando a tag
google-kubernetes-engine
para pesquisar problemas semelhantes. Você também pode participar do canal do Slack#kubernetes-engine
para receber mais suporte da comunidade. - Abrir bugs ou solicitações de recursos usando o Issue Tracker público.