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 a ação.
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 exemplos de tarefas que referenciamos no Google Cloud conteúdo, consulte Papéis e tarefas comuns do usuário 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 o seguinte:
- Criar ou excluir o cluster.
- Fazer 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, você pode receber 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 dessa operação preexistente que está impedindo o início da nova operação.ACTIONING: a ação que está sendo realizada no cluster. Por exemplo,CreatingouUpdating.CLUSTER_NAME: o nome do cluster que a operação está segmentando.
Esses erros ocorrem porque o GKE limita o número de operações que podem ser executadas ao mesmo tempo para evitar conflitos. Geralmente, o GKE permite apenas uma operação no nível do cluster ou uma operação por pool de nós para ser executada simultaneamente. 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 que indica 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 jsonSubstitua:
LOCATION: a região ou zona do Compute Engine (por exemplo,us-central1ouus-central1-a) do cluster, dependendo se o cluster é 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
namede cada operação. Esse valor é o nome da operação que está impedindo o início da nova operação. Você precisa desse valor para a 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=LOCATIONSubstitua
OPERATION_NAMEpelo 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 novamente a operação que causou o erro.
A seguir
Se você não encontrar uma solução para o 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
google-kubernetes-enginetag para pesquisar problemas semelhantes. Você também pode participar do#kubernetes-enginecanal do Slack para mais suporte da comunidade. - Abrir problemas ou solicitações de recursos usando o Issue Tracker público.