Se os seus pods no Google Kubernetes Engine (GKE) estiverem bloqueados num estado CrashLoopBackOff
, significa que um ou mais contentores estão a ser iniciados repetidamente e, em seguida, a serem terminados. Este comportamento está provavelmente a tornar as suas apps instáveis ou completamente indisponíveis.
Use esta página para diagnosticar e resolver as causas subjacentes, que se enquadram frequentemente em categorias como limitações de recursos, problemas com sondagens de atividade, erros de apps ou erros de configuração. A resolução destes problemas ajuda a garantir que as suas apps são executadas de forma fiável e permanecem disponíveis para os seus utilizadores.
Estas informações são importantes para os programadores de aplicações que querem identificar e corrigir problemas ao nível da app, como erros de programação, pontos de entrada incorretos, problemas com ficheiros de configuração ou problemas de ligação a dependências.
Os administradores e os operadores da plataforma podem identificar e resolver problemas relacionados com a plataforma, como esgotamento de recursos (OOMKilled
), interrupções de nós ou sondas de atividade mal configuradas. Para mais informações sobre as funções comuns e as tarefas de exemplo
a que fazemos referência no Google Cloud conteúdo, consulte
Funções e tarefas comuns do utilizador do GKE.
Compreenda um evento CrashLoopBackOff
Quando o seu pod está bloqueado num estado CrashLoopBackOff
, um contentor no mesmo está a ser iniciado e a falhar ou a ser terminado repetidamente. Este CrashLoop aciona o Kubernetes para tentar reiniciar o contentor seguindo o respetivo restartPolicy
. Com cada reinício falhado, o atraso de BackOff antes da próxima tentativa aumenta exponencialmente (por exemplo, 10 s, 20 s, 40 s) até um máximo de cinco minutos.
Embora este evento indique um problema no seu contentor, também é um sinal de diagnóstico valioso. Um evento CrashLoopBackOff
confirma que muitos passos fundamentais da criação de pods, como a atribuição a um nó e a obtenção da imagem do contentor, já foram concluídos. Este conhecimento permite-lhe focar a sua investigação na app ou na configuração do contentor, em vez de na infraestrutura do cluster.
O estado CrashLoopBackOff
ocorre devido à forma como o Kubernetes, especificamente o kubelet, processa o encerramento do contentor com base na política de reinício do pod.
Normalmente, o ciclo segue este padrão:
- O contentor é iniciado.
- O contentor é terminado.
- O kubelet observa o contentor parado e reinicia-o de acordo com o
restartPolicy
do pod. - Este ciclo repete-se, com o contentor reiniciado após um atraso de retirada exponencial cada vez maior.
O restartPolicy
do Pod é a chave para este comportamento. A política predefinida, Always
, é a causa mais comum deste ciclo, porque reinicia um contentor se este for terminado por qualquer motivo, mesmo após uma saída bem-sucedida. É menos provável que a política OnFailure
cause um ciclo porque só é reiniciada em códigos de saída diferentes de zero, e a política Never
evita completamente um reinício.
Identifique os sintomas de um evento CrashLoopBackOff
Um Pod com o estado CrashLoopBackOff
é a indicação principal de um evento CrashLoopBackOff
.
No entanto, pode sentir alguns sintomas menos óbvios de um CrashLoopBackOff
evento:
- Zero réplicas em bom estado para uma carga de trabalho.
- Uma diminuição acentuada nas réplicas em bom estado.
- As cargas de trabalho com a escala automática horizontal de pods ativada estão a ser dimensionadas lentamente ou não estão a ser dimensionadas.
Se uma carga de trabalho system
(por exemplo, um agente de registo ou de métricas) tiver o estado CrashLoopBackOff
, também pode reparar nos seguintes sintomas:
- Algumas métricas do GKE não são comunicadas.
- Alguns painéis de controlo e gráficos do GKE têm lacunas.
- Problemas de conetividade na rede ao nível do pod.
Se observar algum destes sintomas menos óbvios, o passo seguinte deve ser
confirmar se ocorreu um evento CrashLoopBackOff
.
Confirme um evento CrashLoopBackOff
Para confirmar e investigar um evento CrashLoopBackOff
, recolha provas dos eventos do Kubernetes e dos registos da app do contentor. Estas duas fontes oferecem
vistas diferentes, mas complementares do problema:
- Os eventos do Kubernetes confirmam que um Pod está a falhar.
- Os registos da app do contentor podem mostrar-lhe o motivo pelo qual o processo no contentor está a falhar.
Para ver estas informações, selecione uma das seguintes opções:
Consola
Para ver eventos do Kubernetes e registos de apps, faça o seguinte:
Na Google Cloud consola, aceda à página Workloads.
Selecione a carga de trabalho que quer investigar. O separador Vista geral ou Detalhes apresenta mais informações sobre o estado da carga de trabalho.
Na secção Pods geridos, clique no nome do pod com problemas.
Na página Detalhes do pod, investigue o seguinte:
- Para ver detalhes sobre eventos do Kubernetes, aceda ao separador Eventos.
- Para ver os registos da app do contentor, aceda ao separador Registos. É nesta página que encontra mensagens de erro ou rastreios de pilha específicos da app.
kubectl
Para ver eventos do Kubernetes e registos de apps, faça o seguinte:
Veja o estado de todos os pods em execução no cluster:
kubectl get pods
O resultado é semelhante ao seguinte:
NAME READY STATUS RESTARTS AGE POD_NAME 0/1 CrashLoopBackOff 23 8d
No resultado, reveja as seguintes colunas:
Ready
: reveja quantos contentores estão prontos. Neste exemplo,0/1
indica que zero de um contentor esperado está num estado pronto. Este valor é um sinal claro de um problema.Status
: procure agrupamentos com o estadoCrashLoopBackOff
.Restarts
: um valor elevado indica que o Kubernetes está a tentar iniciar o contentor repetidamente e não está a conseguir.
Depois de identificar um pod com falhas, descreva-o para ver eventos ao nível do cluster relacionados com o estado do pod:
kubectl describe pod POD_NAME -n NAMESPACE_NAME
Substitua o seguinte:
POD_NAME
: o nome do pod que identificou no resultado do comandokubectl get
.NAMESPACE_NAME
: o espaço de nomes do Pod.
O resultado é semelhante ao seguinte:
Containers: container-name: ... State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: StartError Message: failed to create containerd task: failed to create shim task: context deadline exceeded: unknown Exit Code: 128 Started: Thu, 01 Jan 1970 00:00:00 +0000 Finished: Fri, 27 Jun 2025 16:20:03 +0000 Ready: False Restart Count: 3459 ... Conditions: Type Status PodReadyToStartContainers True Initialized True Ready False ContainersReady False PodScheduled True ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning Failed 12m (x216 over 25h) kubelet Error: context deadline exceeded Warning Failed 8m34s (x216 over 25h) kubelet Error: context deadline exceeded Warning BackOff 4m24s (x3134 over 25h) kubelet Back-off restarting failed container container-name in pod failing-pod(11111111-2222-3333-4444-555555555555)
Na saída, reveja os seguintes campos para detetar sinais de um evento
CrashLoopBackOff
:State
: o estado do contentor mostra provavelmenteWaiting
com o motivoCrashLoopBackOff
.Last State
: o estado do contentor terminado anteriormente. Procure um estadoTerminated
e reveja o código de saída para ver se houve uma falha (código de saída diferente de zero) ou uma saída bem-sucedida inesperada (código de saída zero).Events
: ações tomadas pelo próprio cluster. Procure mensagens sobre o início do contentor, seguidas de falhas de sondagem de atividade ou avisos de recuo, comoBack-off restarting failed container
.
Para saber mais sobre o motivo pelo qual o pod falhou, veja os registos da app:
kubectl logs POD_NAME --previous
A flag
--previous
obtém registos do contentor anterior terminado, que é onde pode encontrar o rastreio de pilha específico ou a mensagem de erro que revela a causa da falha do sistema. O contentor atual pode ser demasiado recente para ter registado registos.No resultado, procure erros específicos da app que fariam com que o processo fosse terminado. Se usar uma app personalizada, os programadores que a escreveram são os mais bem equipados para interpretar estas mensagens de erro. Se usar uma app pré-criada, estas apps oferecem frequentemente as suas próprias instruções de depuração.
Use o manual interativo de pods em ciclo de falhas
Depois de confirmar um evento CrashLoopBackOff
, comece a resolver problemas com o seguinte manual interativo:
Na Google Cloud consola, aceda à página GKE Interactive Playbook - Crashlooping Pods.
Na lista Cluster, selecione o cluster que quer resolver. Se não conseguir encontrar o cluster, introduza o nome do cluster no campo Filtro.
Na lista Espaço de nomes, selecione o espaço de nomes que quer resolver. Se não conseguir encontrar o seu espaço de nomes, introduza-o no campo Filtro.
Trabalhe em cada secção para ajudar a responder às seguintes perguntas:
- Identifique erros da app: que contentores estão a ser reiniciados?
- Investigue problemas de falta de memória: existe uma configuração incorreta ou um erro relacionado com a app?
- Investigue interrupções de nós: as interrupções no recurso de nó estão a causar reinícios de contentores?
- Investigue falhas de sondagem de atividade: as sondagens de atividade estão a parar os seus contentores?
- Correlacionar eventos de alteração: o que aconteceu por volta da altura em que os contentores começaram a falhar?
Opcional: para receber notificações sobre eventos
CrashLoopBackOff
futuros, na secção Sugestões de mitigação futuras, selecione Criar um alerta.
Se o problema persistir após usar o manual de soluções, leia o resto do guia
para mais informações sobre a resolução de eventos CrashLoopBackOff
.
Resolva um evento CrashLoopBackOff
As secções seguintes ajudam a resolver as causas mais comuns dos eventos CrashLoopBackOff
:
Resolva o esgotamento de recursos
Um evento CrashLoopBackOff
é frequentemente causado por um problema de falta de memória (OOM). Pode confirmar se esta é a causa se o resultado de kubectl describe
mostrar o seguinte:
Last State: Terminated
Reason: OOMKilled
Para obter informações sobre como diagnosticar e resolver eventos OOM, consulte o artigo Resolva problemas de eventos OOM.
Resolva falhas de sondagem de atividade
Uma
sondagem de atividade
é uma verificação do estado periódica realizada pelo kubelet
. Se a sondagem falhar um número especificado de vezes (o número predefinido é três), o kubelet
reinicia
o contentor, o que pode causar um evento CrashLoopBackOff
se as falhas de sondagem continuarem.
Confirme se a causa é uma sonda de atividade
Para confirmar se as falhas da sondagem de atividade estão a acionar o evento, consulte os registos do kubelet
.CrashLoopBackOff
Estes registos contêm frequentemente mensagens explícitas
que indicam falhas de sondagem e reinícios subsequentes.
Na Google Cloud consola, aceda à página Explorador de registos.
No painel de consulta, filtre os reinícios relacionados com a sondagem de atividade introduzindo a seguinte consulta:
resource.type="k8s_node" log_id("kubelet") jsonPayload.MESSAGE:"failed liveness probe, will be restarted" resource.labels.cluster_name="CLUSTER_NAME"
Substitua
CLUSTER_NAME
pelo nome do seu cluster.Reveja o resultado. Se uma falha da sondagem de atividade for a causa dos seus eventos
CrashLoopBackOff
, a consulta devolve mensagens de registo semelhantes às seguintes:Container probe failed liveness probe, will be restarted
Depois de confirmar que as sondas de atividade são a causa do evento CrashLoopBackOff
, avance para a resolução de problemas de causas comuns:
- Reveja a configuração da sonda de atividade.
- Inspecione a utilização da CPU e do I/O do disco.
- Resolva implementações de grande escala.
- Resolva erros temporários.
- Resolva o consumo de recursos da sonda.
Reveja a configuração da sonda de atividade
As sondas configuradas incorretamente são uma causa frequente de eventos CrashLoopBackOff
. Verifique as seguintes definições no manifesto da sua sondagem:
- Verifique o tipo de teste: a configuração do teste tem de corresponder à forma como a sua app
comunica o respetivo estado. Por exemplo, se a sua app tiver um URL de verificação de estado (como
/healthz
), use o tipo de sondahttpGet
. Se o estado for determinado pela execução de um comando, use o tipo de sondaexec
. Por exemplo, para verificar se uma porta de rede está aberta e a escutar, use o tipo de sondagemtcpSocket
. - Verifique os parâmetros da sondagem:
- Caminho (para o tipo de teste de sondagem
httpGet
): certifique-se de que o caminho HTTP está correto e que a sua app publica verificações de estado no mesmo. - Porta: verifique se a porta configurada na sondagem é realmente usada e exposta pela app.
- Comando (para o tipo de sonda
exec
): certifique-se de que o comando existe no contentor, devolve um código de saída de0
para êxito e é concluído no períodotimeoutSeconds
configurado. - Tempo limite: certifique-se de que o valor
timeoutSeconds
é suficiente para a app responder, especialmente durante o arranque ou sob carga. - Atraso inicial (
initialDelaySeconds
): verifique se o atraso inicial é suficiente para a app ser iniciada antes do início das sondagens.
- Caminho (para o tipo de teste de sondagem
Para mais informações, consulte o artigo Configure Liveness, Readiness and Startup Probes na documentação do Kubernetes.
Inspecione a utilização da CPU e de I/O do disco
A contenção de recursos resulta em limites de tempo excedidos da sondagem, o que é uma das principais causas de falhas da sondagem de atividade. Para ver se a utilização de recursos é a causa da falha da sondagem de atividade, experimente as seguintes soluções:
- Analisar a utilização da CPU: monitorize a utilização da CPU do contentor afetado e do nó no qual está a ser executado durante os intervalos de sondagem. Uma métrica
importante a acompanhar é
kubernetes.io/container/cpu/core_usage_time
. A utilização elevada da CPU no contentor ou no nó pode impedir que a app responda à sondagem a tempo. - Monitorize a E/S do disco: verifique as métricas de E/S do disco para o nó. Pode usar a métrica
compute.googleapis.com/guest/disk/operation_time
para avaliar a quantidade de tempo gasto nas operações de disco, que são categorizadas por leituras e escritas. A E/S de disco elevada pode abrandar significativamente o início do contentor, a inicialização da app ou o desempenho geral da app, o que leva a limites de tempo de sondagem.
Abordar implementações grandes
Em cenários em que um grande número de pods é implementado em simultâneo (por exemplo, por uma ferramenta de CI/CD como o ArgoCD), um aumento súbito de novos pods pode sobrecarregar os recursos do cluster, o que leva à exaustão dos recursos do plano de controlo. Esta falta de recursos atrasa o arranque da app e pode fazer com que as sondas de atividade falhem repetidamente antes de as apps estarem prontas.
Para resolver este problema, experimente as seguintes soluções:
- Implemente implementações faseadas: implemente estratégias para implementar pods em lotes ou durante um período mais longo para evitar sobrecarregar os recursos dos nós.
- Reconfigure ou dimensione os nós: se as implementações faseadas não forem viáveis, considere atualizar os nós com discos mais rápidos ou maiores, ou Persistent Volume Claims, para lidar melhor com o aumento da procura de E/S. Certifique-se de que o ajuste automático do cluster está configurado corretamente.
- Aguarde e observe: em alguns casos, se o cluster não tiver recursos insuficientes, as cargas de trabalho podem ser implementadas após um atraso significativo (por vezes, 30 minutos ou mais).
Resolva erros temporários
A app pode ter erros temporários ou abrandamentos durante o arranque ou a inicialização que fazem com que a sondagem falhe inicialmente. Se a app recuperar, considere aumentar os valores definidos nos campos initialDelaySeconds
ou failureThreshold
no manifesto da sua sondagem de atividade.
Resolva o consumo de recursos da sonda de endereço
Em casos raros, a execução da sondagem de atividade pode consumir recursos significativos, o que pode acionar restrições de recursos que podem levar à terminação do contentor devido a uma eliminação por falta de memória. Certifique-se de que os comandos de sondagem são simples. É mais provável que uma análise simples seja executada de forma rápida e fiável, o que lhe dá uma maior fidelidade na comunicação precisa do verdadeiro estado da sua app.
Resolva configurações incorretas de apps
As configurações incorretas da app causam muitos eventos CrashLoopBackOff
. Para
compreender por que motivo a sua app está a parar, o primeiro passo é examinar o respetivo código de saída.
Este código determina o caminho de resolução de problemas:
- O código de saída
0
indica uma saída bem-sucedida, o que é inesperado para um serviço de execução prolongada e aponta para problemas com o ponto de entrada do contentor ou o design da app. - Um código de saída diferente de zero indica uma falha da app, direcionando a sua atenção para erros de configuração, problemas de dependência ou erros no código.
Encontre o código de saída
Para encontrar o código de saída da sua app, faça o seguinte:
Descreva o Pod:
kubectl describe pod POD_NAME -n NAMESPACE_NAME
Substitua o seguinte:
POD_NAME
: o nome do pod problemático.NAMESPACE_NAME
: o espaço de nomes do Pod.
Na saída, reveja o campo
Exit Code
localizado na secçãoLast State
para o contentor relevante. Se o código de saída for0
, consulte o artigo Resolva problemas de saídas bem-sucedidas (código de saída 0). Se o código de saída for um número diferente de0
, consulte o artigo Resolva problemas de falhas da app (código de saída diferente de zero).
Resolva problemas com saídas bem-sucedidas (código de saída 0
)
Um código de saída de 0
significa normalmente que o processo do contentor terminou com êxito.
Embora este seja o resultado pretendido para uma tarefa baseada em trabalhos, pode indicar um problema para um controlador de execução prolongada, como uma implementação, um StatefulSet ou um ReplicaSet.
Estes controladores funcionam para garantir que um Pod está sempre em execução, pelo que tratam qualquer saída como uma falha a corrigir. O kubelet
aplica este comportamento ao seguir o restartPolicy
do pod (que é Always
por predefinição), reiniciando o contentor mesmo após uma saída bem-sucedida. Esta ação cria um ciclo que, em última análise, aciona o estado CrashLoopBackOff
.
Os motivos mais comuns para saídas bem-sucedidas inesperadas são os seguintes:
O comando do contentor não inicia um processo persistente: um contentor permanece em execução apenas enquanto o respetivo processo inicial (
command
ouentrypoint
) o fizer. Se este processo não for um serviço de execução prolongada, o contentor é terminado assim que o comando for concluído. Por exemplo, um comando como["/bin/bash"]
sai imediatamente porque não tem nenhum script para executar. Para resolver este problema, certifique-se de que o processo inicial do contentor inicia um processo que é executado continuamente.A app de trabalho é fechada quando uma fila de trabalho está vazia: muitas apps de trabalho são concebidas para verificar se existe uma tarefa numa fila e sair corretamente se a fila estiver vazia. Para resolver este problema, pode usar um Job controller (concebido para tarefas que são executadas até à conclusão) ou modificar a lógica da app para ser executada como um serviço persistente.
A app é fechada devido a uma configuração em falta ou inválida: a sua app pode ser fechada imediatamente se lhe faltarem instruções de arranque obrigatórias, como argumentos de linha de comandos, variáveis de ambiente ou um ficheiro de configuração crítico.
Para resolver este problema, inspecione primeiro os registos da sua app para ver mensagens de erro específicas relacionadas com o carregamento da configuração ou parâmetros em falta. Em seguida, verifique o seguinte:
- Argumentos ou ambiente da app: certifique-se de que todos os argumentos da linha de comandos e variáveis de ambiente necessários são transmitidos corretamente ao contentor, conforme esperado pela sua app.
- Presença do ficheiro de configuração: confirme se os ficheiros de configuração necessários estão nos caminhos esperados no contentor.
- Conteúdo do ficheiro de configuração: valide o conteúdo e o formato dos seus ficheiros de configuração quanto a erros de sintaxe, campos obrigatórios em falta ou valores incorretos.
Um exemplo comum deste problema é quando uma app está configurada para ler a partir de um ficheiro montado com um volume
ConfigMap
. Se oConfigMap
não estiver anexado, estiver vazio ou tiver chaves com nomes incorretos, uma app concebida para terminar quando a respetiva configuração estiver em falta pode parar com um código de saída de0
. Nestes casos, valide as seguintes definições: - O nomeConfigMap
na definição de volume do Pod corresponde ao respetivo nome real. - As chaves noConfigMap
correspondem ao que a sua app espera encontrar como nomes de ficheiros no volume montado.
Resolva problemas de falhas de apps (código de saída diferente de zero)
Quando um contentor termina com um código diferente de zero, o Kubernetes reinicia-o. Se o problema subjacente que causou o erro for persistente, a app volta a falhar e o ciclo repete-se, culminando num estado CrashLoopBackOff
.
O código de saída diferente de zero é um sinal claro de que ocorreu um erro na própria app, o que direciona os seus esforços de depuração para o respetivo funcionamento interno e ambiente. Os seguintes problemas causam frequentemente esta rescisão:
Erros de configuração: um código de saída diferente de zero aponta frequentemente para problemas com a configuração da app ou o ambiente em que está a ser executada. Verifique se a sua app tem estes problemas comuns:
- Ficheiro de configuração em falta: a app pode não conseguir localizar ou aceder a um ficheiro de configuração necessário.
- Configuração inválida: o ficheiro de configuração pode conter erros de sintaxe, valores incorretos ou definições incompatíveis, o que faz com que a app falhe.
- Problemas de autorizações: a app pode não ter as autorizações necessárias para ler ou escrever o ficheiro de configuração.
- Variáveis de ambiente: as variáveis de ambiente incorretas ou em falta podem fazer com que a app não funcione corretamente ou não seja iniciada.
entrypoint
oucommand
inválido: o comando especificado no campoentrypoint
oucommand
do contentor pode estar incorreto. Este problema pode ocorrer com imagens implementadas recentemente quando o caminho para o ficheiro executável está incorreto ou o próprio ficheiro não está presente na imagem do contentor. Esta configuração incorreta resulta frequentemente no código de saída128
.Atualizações de imagens não controladas (etiqueta
:latest
): se as imagens da sua carga de trabalho usarem a etiqueta:latest
, os novos pods podem extrair uma versão de imagem atualizada que introduza alterações significativas.Para ajudar a garantir a consistência e a reprodutibilidade, use sempre etiquetas de imagens específicas e imutáveis (por exemplo,
v1.2.3
) ou resumos SHA (por exemplo,sha256:45b23dee08...
) em ambientes de produção. Esta prática ajuda a garantir que o conteúdo de imagem exato é extraído sempre.
Problemas de dependência: a sua app pode falhar se não conseguir estabelecer ligação aos outros serviços dos quais depende ou se não conseguir autenticar ou tiver autorizações insuficientes para aceder aos mesmos.
Serviço externo indisponível: a app pode depender de serviços externos (por exemplo, bases de dados ou APIs) que estão inacessíveis devido a problemas de conetividade de rede ou interrupções de serviço. Para resolver este problema, ligue-se ao Pod. Para mais informações, consulte o artigo Depurar pods em execução na documentação do Kubernetes.
Depois de estabelecer ligação ao Pod, pode executar comandos para verificar o acesso a ficheiros, bases de dados ou testar a rede. Por exemplo, pode usar uma ferramenta como
curl
para tentar alcançar o URL de um serviço. Esta ação ajuda a determinar se um problema é causado por políticas de rede, DNS ou pelo próprio serviço.Falhas de autenticação: a app pode não conseguir autenticar-se com serviços externos devido a credenciais incorretas. Inspeccione os registos do contentor para ver mensagens como
401 Unauthorized
(credenciais inválidas) ou403 Forbidden
(autorizações insuficientes), que indicam frequentemente que a conta de serviço do pod não tem as funções do IAM necessárias para fazer chamadas de serviço Google Cloudexternas.Se usar a Federação de identidades de cargas de trabalho do GKE, verifique se o identificador principal tem as autorizações necessárias para a tarefa. Para mais informações sobre a concessão de funções de IAM a responsáveis através da Workload Identity Federation do GKE, consulte o artigo Configure a autorização e os responsáveis. Também deve verificar se a utilização de recursos do servidor de metadados do GKE não excedeu os respetivos limites.
Tempos limite: a app pode sofrer tempos limite quando aguarda respostas de serviços externos, o que provoca falhas de sistema.
Erros específicos da app: se a configuração e as dependências externas parecerem corretas, o erro pode estar no código da app. Inspecione os registos da app para verificar a existência destes erros internos comuns:
- Exceções não processadas: os registos da app podem conter rastreios de pilha ou mensagens de erro que indicam exceções não processadas ou outros erros relacionados com o código.
- Impasses ou bloqueios em direto: a app pode estar bloqueada num impasse, em que vários processos estão a aguardar a conclusão uns dos outros. Neste cenário, a app pode não sair, mas deixa de responder indefinidamente.
- Conflitos de portas: a app pode não ser iniciada se tentar associar-se a uma porta que já esteja a ser usada por outro processo.
- Bibliotecas incompatíveis: a app pode depender de bibliotecas ou dependências em falta ou incompatíveis com o ambiente de tempo de execução.
Para encontrar a causa principal, inspecione os registos do contentor para ver uma mensagem de erro ou um rastreio de pilha específicos. Estas informações ajudam a decidir se deve corrigir o código da app, ajustar os limites de recursos ou corrigir a configuração do ambiente. Para mais informações sobre registos, consulte o artigo Acerca dos registos do GKE.
O que se segue?
Se não conseguir encontrar uma solução para o seu problema na documentação, consulte a secção Obtenha apoio técnico para receber mais ajuda, incluindo aconselhamento sobre os seguintes tópicos:
- Abrindo um registo de apoio ao cliente através do contacto com o Cloud Customer Care.
- Receber apoio técnico da comunidade fazendo perguntas no StackOverflow e usando a etiqueta
google-kubernetes-engine
para pesquisar problemas semelhantes. Também pode juntar-se ao#kubernetes-engine
canal do Slack para receber mais apoio técnico da comunidade. - Abrir erros ou pedidos de funcionalidades através do rastreador de problemas público.