Solucionar problemas de um aplicativo usando o AKS desktop Insights (versão prévia)

O AKS Desktop inclui um conjunto integrado de ferramentas de resolução de problemas chamado Insights, desenvolvido com base no Inspektor Gadget, uma ferramenta de depuração de código aberto baseada em eBPF (Extended Berkeley Packet Filter). Sem modificar o código ou reiniciar nada, ele permite que você entenda o tráfego de rede entre pods, rastreie falhas de DNS e explore processos em execução para detectar atividades inesperadas ou pesadas de recursos, tudo por meio de uma interface do usuário intuitiva com alguns cliques.

Este artigo explica como habilitar o Insights e usá-lo para diagnosticar problemas comuns de aplicativo em seu cluster do AKS.

Importante

As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

Pré-requisitos

  • O desktop do AKS está instalado e conectado ao seu cluster AKS. Consulte Configurar um cluster do AKS para a área de trabalho do AKS ou implantar aplicativos com o AKS Automatic usando a área de trabalho do AKS.
  • Permissões de administrador do cluster ou permissões equivalentes de Controle de Acesso Baseado em Função (RBAC) no cluster AKS de destino. Instalar o Inspektor Gadget requer a criação de um ClusterRole, um ClusterRoleBinding e um DaemonSet privilegiado.
  • Os nós de cluster devem executar o Linux com a versão do kernel ≥ 5.4. Pools de nós do Windows não são suportados.
  • Se o cluster usar o Azure Policy ou o OPA Gatekeeper com segurança restrita do pod, adicione uma isenção para o gadget namespace para permitir pods privilegiados.
  • O cluster de destino deve ser um cluster do AKS Standard.

Habilitar Insights na área de trabalho do AKS

  1. Inicie o aplicativo AKS Desktop e certifique-se de que você está logado e conectado ao cluster AKS.

  2. Na navegação à esquerda, selecione Configurações.

  3. No menu Configurações, selecione Plug-ins.

  4. Localize o plug-in Insights na lista e ative a alternância Habilitar.

    Captura de tela da habilitação do plug-in insights na área de trabalho do AKS.

Acesse o Insights para o seu projeto

Na navegação à esquerda, selecione o Projeto com o qual você deseja usar o Insights. A guia Insights agora estará visível no modo de exibição Projeto.

Captura de tela da guia Insights na área de trabalho do AKS.

Implantar o Inspektor Gadget no cluster

Na guia Insights, você será solicitado a implantar o Inspektor Gadget no cluster se ele ainda não estiver instalado.

  1. Selecione Implantar Inspektor Gadget. O AKS Desktop implanta o Inspektor Gadget DaemonSet no namespace gadget em seu cluster.
  2. Aguarde até que a implantação seja concluída. Um indicador de status confirma quando o Inspektor Gadget está pronto.

Exibir dados do Insights

Depois que o Inspektor Gadget é implantado, a guia Insights é preenchida com dados de observabilidade ao vivo do cluster. Veja o que você pode fazer com o Insights para obter o conjunto completo de recursos.

Captura de tela da tela de visão geral do Insights na área de trabalho do AKS.

O que você pode fazer com o Insights

Solução de problemas de desempenho com processos

A exibição Processos mostra todos os processos em execução nos pods do cluster em tempo real, juntamente com o uso de E/S de CPU, memória e disco. Use-o para:

  • Identifique quais pods estão consumindo memória ou CPU excessiva.
  • Identifique atividades anormais de E/S em bloco, como, por exemplo, um número excepcionalmente alto de leituras ou gravações em disco, o que pode indicar um aplicativo mal configurado, um gravador de log descontrolado ou um gargalo no armazenamento.
  • Detecte processos inesperados que não devem ser executados em um contêiner.

Captura de tela da visualização Processos do Insights no AKS Desktop, mostrando métricas de CPU, memória e E/S por pod.

Visibilidade da rede com o Protocolo de Controle de Transmissão (TCP)

O Trace TCP captura eventos de conexões TCP em tempo real no nível do kernel usando o eBPF, sem a necessidade de um proxy ou sidecar. Use-o para:

  • Veja quais pods estão abrindo conexões de saída e para quais IPs e portas de destino.
  • Detecte conexões inesperadas ou não autorizadas que possam indicar um problema de segurança ou configuração incorreta.
  • Relacione anomalias de rede com pods ou cargas de trabalho específicas.

Captura de tela da visualização “Insights Trace TCP” no AKS Desktop, mostrando conexões TCP em tempo real entre pods e com sistemas externos.

Note

Você deve parar o rastreamento quando terminar, selecione o botão de parada vermelha no canto superior direito do rastreamento.

Resolver problemas de DNS com o Trace DNS

Trace DNS captura todas as consultas e respostas DNS feitas por pods em seu cluster. Use-o para:

  • Identifique as consultas DNS que não estão sendo resolvidas, uma causa comum de falhas de conectividade de pod para serviço.
  • Medir a latência DNS para determinar se o CoreDNS (o servidor DNS no cluster) ou um resolvedor DNS upstream está lento.
  • Verifique a integridade do CoreDNS e se a resolução DNS externa está funcionando corretamente.

Captura de tela da visão de rastreamento de DNS do Insights na área de trabalho do AKS, mostrando consultas DNS, respostas e latência por pod.

Note

Você deve parar o rastreamento quando terminar, selecione o botão de parada vermelha no canto superior direito do rastreamento.

Desinstalar Inspektor Gadget

Remova o Inspektor Gadget do cluster excluindo o gadget namespace. Isso remove todos os dados e funcionalidades do Insights, portanto, faça isso somente quando você não precisar mais de nenhum dos recursos do Insights.

kubectl delete ns gadget

Warning

Esse comando remove todos os recursos no gadget namespace, não apenas aqueles criados pelo Inspektor Gadget.

Solução de problemas com o Insights

A tabela a seguir descreve os problemas comuns que você pode encontrar ao usar o Insights junto com suas resoluções:

Issue Resolução
A guia Insights não está visível Verifique se o plug-in insights está habilitado. Vá paraPlug-ins de > e ative o Insights.
Falha na implantação do Inspektor Gadget Verifique se você tem permissões RBAC suficientes para criar DaemonSets e ClusterRoles no cluster.
Nenhum dado é exibido após a implantação Confirme se os nós de cluster estão executando um kernel linux com suporte (≥ 5.4). Verifique se há erros nos logs de pod do Inspektor Gadget.