Compartilhar via


O que é o Container Network Insights Agent para AKS? (Versão prévia pública)

O Container Network Insights Agent é um assistente de diagnóstico alimentado por IA que ajuda você a identificar e resolver problemas de rede em seus clusters de AKS (Serviço de Kubernetes do Azure). Descreva um problema em linguagem natural, como falhas de DNS, quedas de pacotes, serviços inacessíveis ou tráfego bloqueado. O agente coleta evidências do seu cluster e retorna um relatório estruturado com análise de causa raiz e diretrizes de correção.

Ao contrário das ferramentas que operam apenas na camada do Kubernetes, o Container Network Insights Agent também pode coletar estatísticas de rede no nível do host por meio de seu plug-in de Rede do Linux. O agente pode inspecionar os buffers de anel da NIC, os contadores de pacotes do kernel, a distribuição de SoftIRQ e a utilização do buffer de soquete em todos os nós do cluster. Isso apresenta problemas de baixo nível, como quedas de pacotes, gargalos de rede e saturação no nível do hardware que, de outra forma, são difíceis de diagnosticar em um ambiente do Kubernetes.

O agente é executado como um aplicativo Web no cluster implantado como uma extensão de cluster do AKS. Você o acessa por meio do navegador. Ele fornece insights, análises e ações recomendadas. Examine as descobertas e aplique as alterações sugeridas por conta própria.

Observação

O Container Network Insights Agent é um recurso somente de nuvem para AKS (Serviço de Kubernetes do Azure). Não é compatível com AKS híbrido, AKS no Azure Stack HCI ou clusters Kubernetes habilitados para Arc.

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:

O que você pode fazer com o agente Container Network Insights?

O Container Network Insights Agent ajuda você a solucionar as categorias mais comuns e demoradas de problemas de rede do AKS:

Capacidade O que faz
Solução de problemas de DNS Diagnostica falhas do CoreDNS, políticas DNS configuradas incorretamente, políticas de rede bloqueando o tráfego DNS, problemas de DNS nodeLocal e restrições de saída do Cilium FQDN
Análise de descarte de pacotes Investiga quedas de RX no nível da NIC, perda de pacotes do kernel, estouro de buffer de soquete, saturação de SoftIRQ e esgotamento do buffer de anel em nós do cluster
Diagnóstico de rede do Kubernetes Identifica falhas de conectividade de pods, configurações incorretas de portas de serviço, conflitos de políticas de rede, endpoints ausentes e a análise de fluxo feita pelo Hubble.
Consultas de recursos de cluster Responde a perguntas sobre pods, serviços, implantações, nós e namespaces para fornecer uma visão geral rápida do cenário

Cada diagnóstico produz um relatório estruturado que inclui o que foi verificado, o que está íntegro, o que falhou, a causa raiz identificada e os comandos exatos para corrigir e verificar o problema.

Quando usar o Agente de Insights de Rede de Contêineres

Usar o Agente de Insights de Rede de Contêiner quando precisar

  • Descrever o problema em inglês sem formatação: não é necessário construir comandos da CLI ou saber qual ferramenta manipula cada camada de rede. O agente determina automaticamente as etapas de diagnóstico corretas.
  • Rastreie problemas em todo o Kubernetes e na rede do host em uma única conversa: acesse desde políticas de rede e agendamento de pods até buffers de anel de NIC e contadores de kernel sem precisar trocar de ferramenta ou acessar os nós via SSH.
  • Detecte problemas ativos, não apenas contadores obsoletos: as medidas baseadas em Delta distinguem problemas que ocorrem no momento do ruído histórico.
  • Obter análise de causa raiz automatizada com correções prontas para uso: o agente correlaciona evidências de várias fontes de dados de cluster e fornece um relatório estruturado com comandos de correção que você pode copiar e executar.
  • Solucione problemas em qualquer cluster do AKS sem configuração adicional: DNS, descarte de pacotes e diagnóstico de rede do Kubernetes funcionam de forma nativa. Ative o ACNS (Advanced Container Networking Services) para a política do Cilium e a análise de fluxos do Hubble.

O Agente de Insights de Rede de Contêiner não foi projetado para

  • Depuração de código de aplicativos ou assistência no desenvolvimento de software
  • Solução de problemas de armazenamento, PersistentVolume ou disco
  • Configuração do RBAC, gerenciamento de segredos ou auditoria de segurança (exceto políticas de rede)
  • Agendamento de carga de trabalho, otimização de recursos ou gerenciamento de custos
  • Ambientes de nuvem não Azure (AWS, GCP)
  • Fazendo alterações no cluster (o agente fornece apenas recomendações; você as aplica)

Como funciona

Quando você descreve um problema de rede, o Container Network Insights Agent segue um fluxo de trabalho de diagnóstico estruturado:

You describe the issue → Agent classifies it → Collects evidence from the cluster → Analyzes findings → Reports results

Diagrama de arquitetura mostrando o agente do Container Network Insights dentro de um cluster AKS, suas conexões com fontes de dados do cluster e sua integração com o Serviço Azure OpenAI.

O Container Network Insights Agent é executado como um pod dentro do seu cluster AKS. Você interage com ele por meio de um navegador da Web por HTTPS. Dentro do cluster, o agente executa comandos de diagnóstico por meio do servidor MCP do AKS e se conecta a cinco fontes de dados por meio de plug-ins especializados:

  • Servidor de API do Kubernetes: consulta pods, serviços, nós, políticas de rede e outros recursos do cluster via kubectl por meio do servidor AKS MCP.
  • CoreDNS: coleta métricas e status de integridade DNS por meio do plug-in DNS.
  • Agente do Cilium: inspeciona as políticas de rede do Cilium e o estado do endpoint através do servidor MCP do AKS usando o plug-in de Rede do Kubernetes.
  • Hubble: monitora fluxos de rede em tempo real e identifica o tráfego perdido por meio do servidor AKS MCP por meio do plugin de rede do Kubernetes.
  • Pilha de Rede do Nó: coleta estatísticas de rede em nível de host (buffers RX/TX, estado do buffer de anel, contadores softnet) por meio do plugin de rede do Linux.

O agente se comunica bidirecionalmente com o serviço Azure OpenAI: envia sua consulta em linguagem natural junto com evidências de diagnóstico coletadas para o raciocínio e recebe insights estruturados de diagnóstico em troca.

O fluxo de trabalho de diagnóstico segue quatro etapas:

  1. Classificar: o agente determina a categoria de problema (DNS, conectividade, política de rede, roteamento de serviço ou quedas de pacote) com base em sua descrição.
  2. Coletar evidências: o agente executa comandos de diagnóstico em seu cluster por meio do servidor MCP do AKS, usando kubectl, ciliume hubble. Cada categoria de diagnóstico usa um fluxo de trabalho de coleta de evidências dedicado para coletar os dados certos automaticamente.
  3. Analisar: O agente examina as evidências coletadas para separar sinais íntegros de anomalias. O agente baseia todas as conclusões na saída de comando real, nunca na especulação.
  4. Relatório: Você recebe um relatório estruturado que inclui:
  • Um resumo do problema e seu status
  • Uma tabela de evidências mostrando cada verificação, seu resultado e se ela passou ou falhou
  • Análise do que está funcionando e o que está quebrado
  • Identificação de causa raiz com citações de evidência específicas
  • Comandos exatos para corrigir o problema e verificar a correção

Integrações

O Container Network Insights Agent funciona com as ferramentas de rede do AKS que você já usa:

Integração Como ele é usado
Servidor MCP do AKS Fornece a camada de execução para operações de cluster; encaminha os comandos kubectl, cilium e hubble do agente para o cluster.
kubectl Consulta pods, serviços, endpoints, nós, políticas de rede e outros recursos do Kubernetes
Cílio Analisa a CiliumNetworkPolicy, a CiliumClusterWideNetworkPolicy e a saúde do agente Cilium.
Hubble Observa os fluxos de rede entre pods e identifica o tráfego descartado
CoreDNS Verifica a saúde do pod, os endpoints de serviço, a configuração e as métricas do Prometheus
Azure OpenAI Habilita a IA de conversa que interpreta suas perguntas e gera relatórios de diagnóstico

Dica

Para o conjunto completo de recursos de diagnóstico, incluindo a análise de fluxo do Hubble e o diagnóstico de política do Cilium, implante o Container Network Insights Agent em um cluster do AKS com Azure CNI alimentado pelo Cilium e Advanced Container Networking Services (ACNS) habilitados.

Modelo de segurança e limitações

Como o agente interage com seu cluster

O Container Network Insights Agent coleta dados de diagnóstico do cluster para gerar insights, relatórios e ações recomendadas. Ele executa operações de cluster por meio do servidor MCP do AKS e usa uma conta de serviço do Kubernetes dedicada (container-networking-agent-reader) com permissões mínimas com escopo para os dados necessários para diagnóstico.

O Agente do Container Network Insights não faz alterações no cluster. Ele fornece comandos e recomendações de correção, mas você mesmo os analisa e os aplica.

Restrições de escopo

O agente responde apenas às perguntas relacionadas à rede e ao Kubernetes e não responde a solicitações fora do tópico. O sistema também inclui defesas de injeção de prompt para evitar o uso indevido.

Limites de sessão e conversa

Limit Default Observações
Janela de contexto de chat ~15 transações O agente descarta mensagens mais antigas do contexto de trabalho. Inicie uma nova conversa para problemas não relacionados.
Mensagens por conversa 100 O agente remove automaticamente mensagens mais antigas ao atingir esse limite
Conversas por usuário 20 O sistema limpa conversas de menor uso recente quando atinge 90% da capacidade
Tempo limite ocioso da sessão 30 minutos As sessões expiram após 30 minutos de inatividade
Tempo limite absoluto da sessão 8 horas As sessões expiram após 8 horas, independentemente da atividade

Concorrência

O Container Network Insights Agent dá suporte a usuários simultâneos de 1 a 7 em condições típicas. O diagnóstico de queda de pacotes em clusters maiores (mais de 25 nós) pode exigir a limitação de usuários simultâneos para evitar a carga do servidor de API. Para obter detalhes, consulte as diretrizes de escala.

Exemplos de cenários e prompts ilustrativos

Solução de problemas do DNS

Falhas de resolução de DNS são um dos problemas de rede mais comuns no Kubernetes. Quando os pods não conseguem resolver nomes de serviço, domínios externos ou ambos, o Container Network Insights Agent executa um diagnóstico DNS abrangente que verifica a saúde e a configuração do CoreDNS, a resolução de DNS a partir de vários caminhos, e as políticas de rede que podem bloquear o tráfego DNS.

Situações comuns:

  • Os pods registram erros Name or service not known ou NXDOMAIN
  • Os aplicativos atingem o tempo limite ao acessar serviços por nome
  • O DNS funciona para alguns pods, mas não para outros
  • A resolução de domínio externo falha enquanto a resolução interna funciona (ou vice-versa)

Prompts de exemplo:

O que você está vendo Rápido
DNS completamente quebrado "Todo DNS está quebrado no cluster"
O pod não pode resolver nomes "Um pod no namespace my-app não pode resolver nomes DNS"
Nome específico não está sendo resolvido "A resolução de DNS para backend.default.svc.cluster.local está falhando"
Falhas de DNS intermitentes "Pods em production têm falhas de DNS intermitentes"
DNS externo bloqueado "O DNS externo falha para pods em my-namespace"
Problemas de DNS nodeLocal "Você pode verificar se o DNS NodeLocal está funcionando?"

O que o agente verifica:

O diagnóstico de DNS verifica a integridade do pod do CoreDNS, os pontos de extremidade de serviço e a configuração do CoreDNS, incluindo ConfigMaps personalizados. Ele também testa a resolução DNS em diferentes caminhos: mesmo namespace, entre namespaces, FQDN e externo. O agente avalia as métricas do CoreDNS Prometheus e as regras de política de rede, incluindo as políticas de saída toFQDN do Cilium que podem restringir silenciosamente a resolução de domínios externos.

Exemplos de causas raízes que o agente identifica:

  • Pods CoreDNS não estão em execução ou não estão prontos
  • ConfigMap CoreDNS personalizado com regras de reescrita ou encaminhamento mal configuradas
  • Política de rede bloqueando a porta UDP/TCP 53 (tráfego DNS)
  • A política toFQDN do Cilium não inclui um domínio obrigatório em sua lista de permissões
  • DaemonSet de DNS NodeLocal implantado sem uma LocalRedirectPolicy do Cilium
  • Aplicativo configurado com o nome DNS de serviço incorreto

Solução de problemas de remoção de pacotes/RX

A remoção de pacotes é difícil de diagnosticar porque pode ocorrer em várias camadas: hardware da NIC, pilha de rede do kernel ou buffers de soquete do aplicativo. O Container Network Insights Agent implanta um pod de depuração leve em cada nó para coletar estatísticas de rede em nível de host. Em seguida, ele usa medidas delta para identificar onde os pacotes são perdidos.

Situações comuns:

  • Os aplicativos relatam reinicializações ou tempos limite de conexão intermitentes
  • Ferramentas como iperf mostram perda de pacotes entre nós
  • Picos de latência de rede aparecem em nós específicos
  • Alto uso da CPU correlacionado ao processamento de rede
  • ethtool -S mostra contadores de remoção de RX incrementais

Prompts de exemplo:

O que você está vendo Rápido
Quedas em um nó específico "Eu vejo remoções de pacotes no nó aks-nodepool1-12345678-vmss000000"
Picos de latência "Meu aplicativo está enfrentando picos de latência intermitentes"
Problemas de desempenho em todo o cluster "O desempenho da rede está degradado em todo o cluster"
Perda de pacote detectada Estou observando quedas de pacotes e alta latência. Os testes iperf mostram uma perda significativa de pacotes."
Verificação proativa de saúde "Verificar a integridade da rede no nó my-node"

O que o agente verifica:

O diagnóstico de remoção de pacote examina a utilização do buffer de anel da NIC (ethtool), as estatísticas de softnet do kernel (/proc/net/softnet_stat), a distribuição por CPU do SoftIRQ e a saturação do buffer do soquete. Ele também analisa estatísticas de interface de rede (/proc/net/dev), ajustes de buffer do kernel (tcp_rmem, rmem_max, netdev_max_backlog), configurações de RPS/XPS/RFS e análise de interface específica do CNI. O agente utiliza medições delta (instantâneos de antes e depois) para detectar remoções ativas em comparação com os contadores históricos.

Exemplos de causas raízes que o agente identifica:

  • Esgotamento do buffer de anel da NIC: incremento de contadores rx_dropped ativos
  • Remoção de pacotes do kernel: valores diferentes de zero na coluna de remoções /proc/net/softnet_stat
  • Estouro de buffer do soquete: a fila de recebimento do soquete está crescendo além dos limites do buffer
  • Gargalo da CPU do SoftIRQ: alto %soft em uma única CPU com distribuição de interrupção desequilibrada
  • Todas as verificações foram aprovadas: o agente reporta "Nenhum problema detectado" em vez de fazer uma suposição

Importante

O diagnóstico de remoção de pacotes implanta um DaemonSet de depuração (rx-troubleshooting-debug) no namespace kube-system do seu cluster. Esse DaemonSet requer hostNetwork, hostPIDe hostIPCNET_ADMIN recursos para acessar dados de rede no nível do host. Ele é executado como um usuário não raiz, com um sistema de arquivos raiz somente leitura. É compartilhado entre as sessões de diagnóstico e limpo automaticamente, mas pode persistir se o pod do agente falhar inesperadamente. Consulte problemas conhecidos para diretrizes de limpeza.

Solução de problemas de rede do Kubernetes

Quando os pods não podem se comunicar com serviços, as políticas de rede bloqueiam o tráfego esperado ou os serviços não têm pontos de extremidade, o Container Network Insights Agent investiga o caminho de rede completo. O agente verifica o agendamento e a prontidão dos pods, o registro do ponto de extremidade de serviço, a avaliação da política de rede e a observação do fluxo do Hubble.

Situações comuns:

  • Falha na comunicação entre pods ou entre pods e serviços
  • Os serviços são inacessíveis em determinados namespaces
  • Políticas de rede bloqueiam o tráfego inesperadamente
  • Os pontos de extremidade de serviço existem, mas as conexões ainda expiram
  • O Hubble mostra o veredito DROPPED sobre fluxos entre os pods

Prompts de exemplo:

O que você está vendo Rápido
Serviço inacessível "Meu pod cliente não consegue se conectar ao serviço de back-end em production. A conexão expira.
Tráfego bloqueado "Meu pod cliente não pode mais acessar o serviço de back-end. Estava funcionando antes."
Nenhum ponto de extremidade "O serviço não tem pontos de extremidade no namespace my-app"
Pod preso "Eu implantei meu aplicativo, mas o serviço não tem pontos de extremidade e o pod não tem um IP"
Pods não estão prontos "Os pods não estão prontos no namespace staging"
Verificação proativa de saúde "Tudo parece bem no namespace production — você pode verificar?"

O que o agente verifica:

O diagnóstico de rede do Kubernetes examina o status do pod, o agendamento, a configuração de serviço, o registro de endpoint e as políticas de rede (tanto o Kubernetes NetworkPolicy quanto o CiliumNetworkPolicy). Ele também analisa os fluxos do Hubble, incluindo o tráfego descartado e o mapeamento de portas de serviço para pod. Uma configuração incorreta comum que o agente captura é um serviço targetPort que não corresponde ao pod containerPort. Essa incompatibilidade causa timeouts de conexão, embora os endpoints pareçam saudáveis.

Exemplos de causas raízes que o agente identifica:

  • Política de rede (ou CiliumNetworkPolicy) bloqueando o tráfego de entrada ou saída
  • O serviço targetPort não corresponde ao containerPort do pod
  • Os rótulos do seletor de serviço não correspondem a nenhum rótulo de pod (pontos de extremidade vazios)
  • O pod ficou preso no estado Pendente devido a solicitações de recursos não agendáveis
  • A investigação de preparação falhou, resultando na exclusão dos pods dos pontos de extremidade de serviço
  • Pods do agente Cilium não estão saudáveis

Observação

A análise de fluxo do Hubble (hubble observe) exige que os ACNS (Serviços Avançados de Rede de Contêiner) sejam habilitados em seu cluster. Em clusters sem ACNS, o Container Network Insights Agent ainda fornece diagnóstico completo usando kubectl e recursos padrão do Kubernetes, mas a visibilidade no nível de fluxo não está disponível.

Problemas conhecidos e limitações do produto

Diretrizes de escala

Tamanho do cluster Usuários simultâneos recomendados Observações
1 a 3 nós Até 7 Ideal para a maioria dos diagnósticos
25 nós Até 3 O diagnóstico de remoção de pacotes gera conjuntos de evidências por nó
50 nós 1 Grandes pacotes de evidências abordam limites de contexto do modelo de IA

A primeira consulta de um novo usuário pode demorar mais se todos os agentes no pool pré-aquecido (padrão: três agentes) estiverem em uso. As consultas subsequentes da mesma sessão usam o agente já inicializado.

Problemas conhecidos

Questão Descrição Workaround
Debug DaemonSet persiste após crash Se o pod do Container Network Insights Agent falhar durante um diagnóstico de remoção de pacotes, o DaemonSet rx-troubleshooting-debug poderá permanecer no kube-system Execute kubectl delete ds rx-troubleshooting-debug -n kube-system
O diagnóstico da primeira queda de pacote é mais lento O DaemonSet de depuração leva de 30 a 60 segundos para ser agendado e ficar pronto no primeiro uso Os diagnósticos subsequentes reutilizam os pods existentes e são mais rápidos
Os clusters não-Cilium apresentam diagnósticos reduzidos A análise de política de Cilium e a observação do fluxo do Hubble não estão disponíveis O agente ainda fornece DNS completo, detecção de remoção de pacotes e diagnósticos padrão do Kubernetes
Clusters que não são ACNS não possuem Hubble hubble observe os comandos falham em clusters sem os Serviços Avançados de Rede de Contêiner Habilite o ACNS ou utilize diagnósticos baseados em kubectl
Testes DNS executados no pod do agente Os testes de resolução DNS são executados no pod do Container Network Insights Agent, que pode ter uma política de DNS diferente do pod afetado O agente indica sua própria política de DNS nas evidências para comparação
Os dados da sessão estão na memória O estado da sessão (histórico de chat, atribuições de agente) será perdido se o pod for reiniciado Faça logon novamente para iniciar uma nova sessão; nenhum histórico de conversa persistente
Janela de contexto de chat O agente retém apenas as últimas ~15 interações em seu contexto de trabalho Para problemas não relacionados, inicie uma nova conversa para evitar confusão de contexto

Disponibilidade da extensão

Quando implantado como uma extensão do AKS (microsoft.containernetworkingagent), o Agente do Container Network Insights está disponível em: centralus, eastus, eastus2, uksouth, westus2.

Preços

O Container Network Insights Agent é executado como um pod no seu cluster do AKS. Os custos diretos incluem:

  • Uso do Azure OpenAI: consumo de token depende do comprimento da conversa e da complexidade do diagnóstico. Consulte preços do Azure OpenAI para obter as taxas atuais.
  • Computação de nó do AKS: o pod do Container Network Insights Agent e (para diagnóstico de remoção de pacotes) o DaemonSet de depuração consomem recursos computação do cluster.

O próprio Container Network Insights Agent não possui taxa de licenciamento separada durante a versão preliminar pública.

Acessar e usar o Agente de Insights de Rede de Contêiner

O Container Network Insights Agent é um chatbot baseado em navegador executado dentro do cluster do AKS. Após a implantação, abra a URL do aplicativo em qualquer navegador moderno para iniciar uma conversa. Você não precisa de uma ferramenta de CLI em sua estação de trabalho nem de um portal para navegar. É uma interface de chat autônoma projetada para diagnóstico de rede.

Inscrever-se

Quando você abre pela primeira vez a URL do Agente do Container Network Insights, o aplicativo solicita que você entre. Dependendo de como o administrador configurou a implantação, você entra com um nome de usuário simples (ambientes de desenvolvimento) ou suas credenciais de Microsoft Entra ID (ambientes de produção).

Captura de tela da página de inscrição do Agente do Container Network Insights, na qual os usuários inserem credenciais para acessar o assistente de diagnóstico.

Conceder permissões

Depois de entrar, o aplicativo pode solicitar que você conceda permissões. Examine as permissões solicitadas e selecione Aceitar para continuar.

Captura de tela da página de autorização de permissão do Agente do Container Network Insights solicitando o consentimento do usuário.

Interface de chat

Depois de autenticar, você entrará na interface de chat. O servidor mantém sua sessão, para que você possa fechar e reabrir a guia do navegador dentro da janela de tempo limite da sessão sem perder a conversa.

Captura de tela da interface de chat do Agente do Container Network Insights mostrando um prompt do usuário e uma resposta de diagnóstico estruturada.

A interface de chat é onde você:

  • Faça perguntas em linguagem natural: digite prompts como "Por que meu pod não consegue resolver DNS?" ou "Confira quedas de pacote no nó aks-nodepool1-vmss000000". Nenhuma sintaxe especial é necessária.
  • Receber relatórios de diagnóstico estruturados: as respostas incluem tabelas de evidências, análise de causa raiz e comandos de correção que você pode copiar e executar.
  • Inicie novas conversas: cada conversa mantém seu próprio contexto. Alterne os tópicos iniciando uma nova conversa.
  • Enviar feedback: após cada resposta diagnóstica, utilize os controles de feedback integrados (polegar para cima e polegar para baixo) para avaliar a qualidade do diagnóstico. Seus comentários ajudam a melhorar a precisão futura do diagnóstico.

Problemas de relatório

Se você encontrar um problema com o Agente do Container Network Insights:

  1. Anote o ID da sessão e o carimbo de data/hora do problema (visível na interface de chat)
  2. Verifique os pontos de extremidade de integridade: /health, /ready, /live
  3. Revisar os logs do pod: kubectl logs -l app=container-networking-agent -n kube-system
  4. Arquive um problema por meio do canal de Suporte do Azure padrão

Próximas Etapas