Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Troubleshooting no Google Kubernetes Engine ficou simples com playbooks interativos

By Chimbu ChinnaduraiSep 12, 20233 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

Foto de Marta Sher no Shutterstock

No gerenciamento moderno de aplicações, o Kubernetes é a base da orquestração de contêineres. Ele automatiza a implantação, o escalonamento e o gerenciamento de software, transformando a forma como entregamos sistemas. Mas, à medida que a complexidade e a escala crescem, fazer troubleshooting e manter ecossistemas dinâmicos vira um desafio.

Vários fatores tornam o troubleshooting no Kubernetes complexo. A arquitetura de um cluster Kubernetes reúne diversos componentes que trabalham em conjunto, como pods, services, configurações e rede. Esses componentes costumam interagir de formas imprevisíveis, o que dificulta encontrar a causa raiz de um problema.

Os workloads do Kubernetes também evoluem o tempo todo para acompanhar novas demandas, o que gera problemas transitórios difíceis de diagnosticar em tempo real. Os métodos tradicionais de troubleshooting exigem investigação manual e análise de logs, métricas e configurações em vários componentes — um processo demorado e sujeito a erros.

É aí que entram os playbooks interativos do Google Kubernetes Engine (GKE). Com eles, o GKE oferece orientação estruturada e passo a passo para os problemas mais comuns, ajudando a resolver questões mais rápido e a melhorar o Mean Time to Resolution (MTTR).

Os playbooks ficam disponíveis nos dashboards de monitoramento do GCP e são adicionados automaticamente quando o primeiro workload é implantado no cluster. Veja abaixo a lista de playbooks interativos disponíveis e acompanhe as notas de versão do GKE para conhecer os novos playbooks.

Captura de tela do GCP Monitoring -> Dashboards

O playbook interativo usa dados do Cloud Monitoring e do Cloud Logging, então confira se a coleta de logs dos workloads não foi desativada no cluster GKE Standard (em clusters Autopilot, ela já vem habilitada por padrão).

O playbook interativo na prática

  • Implante no cluster um workload com falha que não inicia por problemas de configuração.
kubectl run sample-app --image simbu1290/gke-faulty-app:latest
  • Confira o status do workload no console.

Status do workload

  • Clique no status CrashLoopBackOff do sample app: uma tela com detalhes adicionais será aberta. Na seção de recomendações, aparece o playbook interativo relacionado ao erro.

  • Clique em View Interactive Playbook para ir até o dashboard do playbook no GCP Monitoring. Lá, você encontra mais detalhes sobre o erro e os próximos passos para investigar a possível causa raiz.

Visão geral do playbook interativo

Erro da aplicação de exemplo afetando a inicialização do contêiner

Também dá para identificar rapidamente outras causas de falhas com as opções de out-of-memory e liveness probe disponíveis no dashboard. O Correlate Change Events é um atalho prático para descobrir se alguma alteração recente em implantações pode ter afetado seu workload. Daí, basta comparar a versão atual com a anterior para encontrar a origem do problema.

O dashboard é personalizável: você adiciona ou remove componentes conforme a sua necessidade. Quem usa o GCP alerting pode criar alertas direto na seção Future Mitigation Tips.

Exemplo de configuração de política de alerta por e-mail

O workload afetado e o link do dashboard interativo já vêm na notificação do alerta, então você começa a investigação na hora.

Exemplo de notificação de alerta por e-mail

Resumindo: com os playbooks interativos recomendados, o time do GKE quer simplificar o troubleshooting dos problemas mais comuns e, no fim das contas, aumentar a produtividade. Mesmo que os playbooks interativos do GKE ofereçam uma orientação estruturada de altíssimo valor, ainda há situações em que falar com alguém de carne e osso, com expertise especializada, é indispensável.