Resolução de problemas de aplicativos no IBM Cloud Kubernetes Service
Nuvem privada virtual Infraestrutura clássica Satellite
As etapas a seguir ajudam a solucionar problemas do aplicativo dentro do cluster e localizar as causas raiz para erros ou problemas do aplicativo.
Revise o status do IBM Cloud
- Para ver se a IBM Cloud está disponível, verifique a página de status da IBM Cloud.
- Filtro para o componente Kubernetes Service.
- Revise a documentação de limitações e de problemas conhecidos.
- Para problemas em projetos de software livre que são usados pela IBM Cloud, consulte a Política de software livre e de terceiros da IBM. Por exemplo, é possível verificar problemas abertos do Kubernetes.
Obtenha seu estado e status do cluster e revise os problemas comuns
-
Liste o cluster e localize o
Statedele.ibmcloud ks cluster ls -
Revise o
Statedo cluster. Se o cluster estiver em um estado Crítico, Falha de exclusão ou Aviso ou se estiver preso no estado Pendente há muito tempo. Para obter mais informações, consulte estados de cluster. -
Revise o estado de cada nó do trabalhador. Para obter mais informações, consulte Estados do nó do trabalhador.
ibmcloud ks worker ls -c CLUSTER -
Analise as informações a seguir para depurar ou solucionar problemas do nó de trabalho.
Reunir detalhes e documentar o problema
Ao documentar os detalhes sobre o problema, seja o mais específico possível Por exemplo, Our app occasionally gets 502 Gateway errors when trying to retrieve transaction logs não é útil porque ele não é específico Certifique-se
de restringir o problema o máximo possível antes de documentá-lo. Ao documentar o problema, tente incluir o seguinte.
- Arquitetura do ambiente
- Certifique-se de ter documentado a arquitetura do seu ambiente para entender os componentes envolvidos. Para obter mais informações, consulte Documentando sua arquitetura de ambiente..
- Mensagens de erro e detalhes do componente..
- Forneça a mensagem de erro completa e inclua detalhes sobre qual componente está produzindo o erro.. Por exemplo, "Todos os três pods de aplicativos em clusterID ABCDEF ocasionalmente falham nas chamadas HTTPS para GET /transaction-logs
do balanceador de carga global com o erro
HTTP 502 Gateway Error: Web server received an invalid response while acting as a gateway or proxy server...". - IP de origem, IP de destino, porta e protocolo da conexão
- Por exemplo, " Todos os três pods de app no cluster Kubernetes com clusterID ABCDEF. Ocasionalmente, as chamadas HTTPS falham ao tentar GET /transaction-logs para o GLB com o erro O IP do pod de origem é
172.22.5.10e o IP de destino é150.40.40.35porta 433. O protocolo é HTTPS. Outros pods também usam esse endereço IP como os outros dois IPs do GLB150.40.40.55e150.40.40.75". - Data de início, hora e frequência do problema
- Analise os exemplos de mensagens a seguir.
- Esse problema afeta aproximadamente 2% de todas as tentativas de conexão.
- Esse problema ocorre apenas entre 19:00 e 21:00 UTC, e durante esses tempos afeta aproximadamente 5% de todas as tentativas de conexão.
- Esse problema ocorre ao se conectar a partir do ID do pod
XYZ. O problema começou em10/25/2023aproximadamente às 05:30 UTC.
- Ações de resolução de problemas já executadas.
- Documente o que foi experimentado até agora e os resultados dessas tentativas para ajudar a reduzir ainda mais o problema.
Executando testes para descartar ou descartar cada componente
- Tente recriar o problema fora do fluxo completo do aplicativo... Isso pode envolver o seguinte..
- Usando o
curlem um sistema separado ou em um pod de teste em um cluster para se conectar ao terminal de back-end ou serviço para descartar que o cliente pode ser a origem do problema. - Tentando se conectar a um terminal conhecido como
www.ibm.comdo cliente ou de um pod de teste no cluster. Se o terminal conhecido funcionar de forma consistente, mas o terminal de app real não funcionar, isso ajudará a reduzir o problema.
- Usando o
- Tente recriar o problema em um ambiente de teste usando um cluster de teste..
- Se não puder recriar o problema em um cluster de teste, será possível focar nas diferenças entre o cluster de teste e o cluster real como as possíveis origens do problema.
- Se você puder recriá-lo em um cluster de teste, provavelmente não será um problema com o próprio cluster. Além disso, você tem um ambiente no qual é possível testar para limitar ainda mais o problema sem impactar seu ambiente de produção
Reunindo mais dados
Depois de conhecer o fluxo do app, o erro específico que você está vendo, e de onde esse erro está vindo, é possível reunir dados mais detalhados dos componentes envolvidos.. Isso pode incluir os logs a seguir:
- Logs de pod e de processo nos componentes impactadas
- Logs do nó do cluster, como
syslogou/var/log/messagesPara IBM Cloud Kubernetes Service, você pode obtersysloge outros registros diretamente dos nós. - Informações de rastreamento do pacote Execução
tcpdumpé uma maneira comum de obter informações de rastreamento de pacotes.
Entre em contato com o Slack ou revise os fóruns do usuário para problemas semelhantes
- Poste no Kubernetes Service Slack.
- Se você for um usuário externo, poste no canal #general.
- Revise fóruns, como a ajuda do Kubernetes Service ou o Stack Overflow, para ver se outros usuários tiveram o mesmo problema. Ao usar os fóruns para fazer uma pergunta, identifique-a para que ela possa ser vista pelas equipes de desenvolvimento
do IBM Cloud.
- Se você tiver perguntas técnicas sobre desenvolvimento ou implementação de clusters ou apps com o IBM Cloud Kubernetes Service, poste sua pergunta no Stack Overflow e identifique-a com
ibm-cloudecontainers. - Consulte Obtendo ajuda para obter mais detalhes sobre o uso dos fóruns.
- Se você tiver perguntas técnicas sobre desenvolvimento ou implementação de clusters ou apps com o IBM Cloud Kubernetes Service, poste sua pergunta no Stack Overflow e identifique-a com
Próximas etapas
Se o problema persistir, entre em contato com o suporte. Abrir um caso de suporte. No caso de detalhes, certifique-se de incluir quaisquer arquivos de log relevantes, mensagens de erros ou saídas de comando...