Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Container Network Insights Agent é um assistente de diagnóstico alimentado por IA que o ajuda a identificar e resolver problemas de rede nos seus clusters do Azure Kubernetes Service (AKS). Descreva um problema em linguagem natural, como falhas de DNS, falhas de pacotes, serviços inacessíveis ou tráfego bloqueado. O agente recolhe provas do seu cluster e devolve um relatório estruturado com análise da causa raiz e orientações para remediação.
Ao contrário das ferramentas que operam apenas na camada Kubernetes, o Container Network Insights Agent também pode recolher estatísticas de rede ao nível do host através do seu plugin Linux Networking. O agente pode inspecionar os buffers de anel das NIC, os contadores de pacotes do kernel, a distribuição do SoftIRQ e a utilização dos buffers de socket em todos os nós do cluster. Isto revela problemas de baixo nível, como quedas de pacotes, gargalos de rede e saturação a nível de hardware, que de outra forma seriam difíceis de diagnosticar num ambiente Kubernetes.
O agente corre como uma aplicação web dentro do cluster, implementada como uma extensão de cluster AKS. Acedes a ela através do teu navegador. Fornece insights, análises e ações recomendadas. Revê as conclusões e aplica as alterações sugeridas por si próprio.
Observação
O Container Network Insights Agent é uma funcionalidade exclusiva da cloud para Azure Kubernetes Service (AKS). Não é suportado em AKS em modo híbrido, AKS em Azure Stack HCI, nem em clusters Kubernetes habilitados com Arc.
Importante
Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
O que pode fazer com o Agente de Insights da Rede de Containers?
O Container Network Insights Agent ajuda-o a resolver as categorias mais comuns e mais demoradas de problemas de rede AKS:
| Capacidade | O que faz |
|---|---|
| Resolução de problemas DNS | Diagnostica falhas no CoreDNS, políticas DNS mal configuradas, políticas de rede que bloqueiam o tráfego DNS, problemas de DNS NodeLocal e restrições de saída do Cilium FQDN |
| Análise de queda de pacotes | Investiga quedas de RX ao nível da NIC, perda de pacotes no kernel, overflow de buffer de socket, saturação de SoftIRQ e exaustão de buffer em anel entre nós do cluster. |
| Diagnóstico de rede Kubernetes | Identifica falhas na conectividade dos pods, configurações erradas nas portas de serviço, conflitos de políticas de rede, terminais em falta e análise de fluxo do Hubble |
| Consultas de recursos de cluster | Responde a perguntas sobre pods, serviços, implementações, nós e namespaces para lhe dar uma rápida consciência situacional |
Cada diagnóstico produz um relatório estruturado que inclui o que foi verificado, o que é saudável, o que falhou, a causa raiz identificada e os comandos exatos para corrigir e verificar o problema.
Quando usar o Agente Container Network Insights
Use o Agente Container Network Insights quando precisar
- Descreva o problema em inglês simples: Não é necessário construir comandos CLI ou saber qual a ferramenta que gere cada camada de rede. O agente determina automaticamente os passos de diagnóstico corretos.
- Rastreie questões entre Kubernetes e a rede do host numa só conversa: Passe das políticas de rede e do agendamento de pods para buffers circulares de NIC e contadores de kernel sem mudar de ferramenta ou aceder aos nós via SSH.
- Detetar problemas ativos, não apenas contadores obsoletos: medições baseadas em Delta distinguem problemas que ocorrem atualmente do ruído histórico.
- Obtenha análise automatizada de causa raiz com correções prontas a usar: O agente correlaciona evidências de múltiplas fontes de dados do cluster e entrega um relatório estruturado com comandos de remediação que pode copiar e executar.
- Resolver problemas em qualquer cluster AKS sem configuração adicional: DNS, entrega de pacotes e diagnósticos de rede Kubernetes funcionam logo de início. Permitir Serviços Avançados de Rede de Contentores (ACNS) para políticas de Cilium e análise de fluxos no Hubble.
O Container Network Insights Agent não foi concebido para
- Depuração de código de aplicação ou assistência ao desenvolvimento de software
- Armazenamento, PersistentVolume ou resolução de problemas em disco
- Configuração do RBAC, gestão de segredos ou auditoria de segurança (exceto políticas de rede)
- Agendamento de carga de trabalho, otimização de recursos ou gestão de custos
- Ambientes cloud não-Azure (AWS, GCP)
- Fazer alterações ao seu cluster (o agente fornece apenas recomendações; você aplica-as)
Como funciona
Quando 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
O Container Network Insights Agent corre como um pod dentro do seu cluster AKS. Interages com ele através de um navegador web via HTTPS. Dentro do cluster, o agente executa comandos de diagnóstico através do servidor AKS MCP e liga-se a cinco fontes de dados através de plugins especializados:
-
Servidor API Kubernetes: Consulta pods, serviços, nós, políticas de rede e outros recursos de cluster através
kubectldo servidor AKS MCP. - CoreDNS: Recolhe o estado de saúde e métricas do DNS através do plugin DNS.
- Agente Cilium: Inspeciona as políticas de rede Cilium e o estado do endpoint através do servidor AKS MCP através do plugin Kubernetes Networking.
- Hubble: Observa fluxos de rede em tempo real e identifica tráfego perdido através do servidor AKS MCP através do plugin Kubernetes Networking.
- Node Network Stack: Recolhe estatísticas de rede ao nível do host (buffers RX/TX, estado do buffer em anel, contadores softnet) através do plugin Linux Networking.
O agente comunica bidirecionalmente com o Azure OpenAI Service: envia a sua consulta em linguagem natural e evidências diagnósticas recolhidas para raciocínio, recebendo em troca insights diagnósticos estruturados.
O fluxo de trabalho de diagnóstico segue quatro passos:
- Classificar: O agente determina a categoria de problema (DNS, conectividade, política de rede, roteamento de serviços ou falhas de pacotes) com base na sua descrição.
-
Recolha de provas: O agente executa comandos de diagnóstico contra o seu cluster através do servidor AKS MCP, usando
kubectl,cilium, ehubble. Cada categoria de diagnóstico utiliza um fluxo de trabalho dedicado de recolha de provas para recolher automaticamente os dados corretos. - Analisar: O agente examina as evidências recolhidas para distinguir sinais saudáveis de anomalias. O agente baseia todas as conclusões na saída real do comando, nunca em especulação.
- Relatório: Recebe um relatório estruturado que inclui:
- Um resumo da questão e do seu estado
- Uma tabela de evidências que mostra cada verificação, o seu resultado e se foi aprovado ou falhado
- Análise do que está a funcionar e do que está avariado
- Identificação da causa raiz com citações específicas de evidências
- Comandos exatos para corrigir o problema e verificar a solução
Integrações
O Container Network Insights Agent funciona com as ferramentas de rede AKS que já utiliza:
| Integração | Como é utilizado |
|---|---|
| Servidor AKS MCP | Fornece a camada de execução para operações de cluster; encaminha kubectl, cilium, e hubble comandos do agente para o cluster |
| Kubectl | Consulta pods, serviços, endpoints, nós, políticas de rede e outros recursos Kubernetes |
| Cílio | Analisa o CiliumNetworkPolicy, o CiliumClusterWideNetworkPolicy e a saúde dos agentes Cilium. |
| Hubble | Observa os fluxos de rede entre pods e identifica tráfego perdido |
| CoreDNS | Verifica a saúde dos pods, endpoints de serviço, configuração e métricas Prometheus. |
| Azure OpenAI | Alimenta a IA conversacional que interpreta as suas perguntas e gera relatórios de diagnóstico |
Sugestão
Para o conjunto completo de funcionalidades de diagnóstico, incluindo análise de fluxo Hubble e diagnóstico de políticas Cilium, implemente o Container Network Insights Agent num cluster AKS com Azure CNI alimentado por Cilium e Advanced Container Networking Services (ACNS) ativados.
Modelo de segurança e limitações
Como o agente interage com o seu cluster
O Container Network Insights Agent recolhe dados de diagnóstico do seu cluster para gerar insights, relatórios e ações recomendadas. Executa operações de cluster através do servidor AKS MCP e utiliza uma conta de serviço Kubernetes dedicada (container-networking-agent-reader) com permissões mínimas atribuídas aos dados necessários para diagnósticos.
O Container Network Insights Agent não faz alterações ao seu cluster. Fornece comandos e recomendações de remediação, mas tu próprio as revês e aplicas.
Restrições de âmbito
O agente responde apenas a perguntas relacionadas com redes e Kubernetes e não responde a pedidos fora do tema. O sistema inclui também defesas de injeção rápida para evitar uso indevido.
Limites de sessões e conversas
| Limit | Predefinição | Notes |
|---|---|---|
| Janela de contexto do chat | ~15 intercâmbios | O agente elimina mensagens antigas do contexto de trabalho. Comece uma nova conversa sobre questões não relacionadas. |
| Mensagens por conversa | 100 | O agente remove automaticamente mensagens antigas ao atingir este limite |
| Conversas por utilizador | 20 | O sistema limpa as conversas menos usadas recentemente a 90% capacidade |
| Tempo limite de inatividade da sessão | 30 minutos | As sessões terminam após 30 minutos de inatividade |
| Limite de tempo absoluto da sessão | 8 horas | As sessões expiram após 8 horas, independentemente da atividade |
Concorrência
O Container Network Insights Agent suporta de 1 a 7 utilizadores concorrentes em condições típicas. O diagnóstico de perda de pacotes nos clusters maiores (25+ nós) poderá ser necessário limitar os utilizadores concorrentes para evitar a carga do servidor API. Para mais detalhes, consulte Orientação de escala.
Exemplos de cenários e prompts de exemplo
Resolução de problemas do DNS
Falhas de resolução DNS são um dos problemas de rede mais comuns no Kubernetes. Quando os pods não conseguem resolver nomes de serviços, domínios externos ou ambos, o Container Network Insights Agent executa um diagnóstico DNS abrangente que verifica a saúde do CoreDNS, a configuração, a resolução DNS a partir de múltiplos caminhos e as políticas de rede que possam bloquear o tráfego DNS.
Situações comuns:
- Registo
Name or service not knownouNXDOMAINerros dos pods - As aplicações esgotam o tempo ao tentar alcançar serviços pelo nome
- O DNS funciona para alguns pods, mas não para outros
- A resolução do domínio externo falha enquanto a resolução interna funciona (ou vice-versa)
Exemplos de prompts:
| O que estás a ver | Prompt |
|---|---|
| DNS completamente avariado | "Todo o DNS está avariado no cluster" |
| O Pod não consegue resolver nomes |
"Um pod no namespace my-app não pode resolver nenhum nome DNS" |
| Nome específico não resolvido |
"A resolução DNS para backend.default.svc.cluster.local está a falhar" |
| Falhas intermitentes de DNS |
"Os pods production têm falhas intermitentes nos DNS" |
| DNS externo bloqueado |
"DNS externo falha para pods em my-namespace" |
| Problemas com o DNS NodeLocal | "Consegues verificar se o DNS do NodeLocal está a funcionar?" |
O que o agente verifica:
O diagnóstico DNS verifica o estado dos pods CoreDNS, os endpoints de serviço e a configuração CoreDNS, incluindo ConfigMaps personalizados. Também testa a resolução DNS em múltiplos caminhos: mesmo espaço de nomes, espaço de nomes cruzados, FQDN e externo. O agente avalia as métricas do CoreDNS obtidas via Prometheus e as regras de políticas de rede, incluindo as políticas de saída Cilium toFQDN, que podem restringir de forma silenciosa a resolução de domínios externos.
Exemplos de causas raiz que o agente identifica:
- Pods CoreDNS não estão a correr ou prontos
- CoreDNS ConfigMap personalizado com regras de reescrita ou encaminhamento mal configuradas
- Política de rede que bloqueia a porta UDP/TCP 53 (tráfego DNS)
- Política Cilium toFQDNs que não tem um domínio obrigatório na sua lista de permissões
- NodeLocal DNS DaemonSet implementado sem uma Cilium LocalRedirectPolicy
- Aplicação configurada com o nome DNS de serviço errado
Resolução de problemas RX / Entrega de pacotes
As quedas de pacotes são difíceis de diagnosticar porque podem ocorrer em múltiplas camadas: hardware da placa de interface de rede (NIC), a pilha de rede do sistema operativo (kernel) ou buffers de sockets de aplicação. O Container Network Insights Agent implementa um pod de depuração leve em cada nó para recolher estatísticas de rede ao nível do host. Depois, utiliza medições delta para identificar onde os pacotes são perdidos.
Situações comuns:
- As aplicações indicam resets intermitentes de ligação ou tempos limite
- Ferramentas como
iperfmostram perda de pacotes entre nós - Picos de latência de rede aparecem em nós específicos
- Elevada utilização da CPU correlacionada com o processamento de rede
-
ethtool -Smostra contadores de drop RX a incrementar
Exemplos de prompts:
| O que estás a ver | Prompt |
|---|---|
| Quedas em um nó específico |
"Vejo quedas de pacotes no nó aks-nodepool1-12345678-vmss000000" |
| Picos de latência | "A minha aplicação está a sofrer picos de latência intermitentes" |
| Problemas de desempenho a nível de cluster | "O desempenho da rede está degradado em todo o cluster" |
| Perda de pacotes detetada | Estou a observar quebras de pacotes e alta latência. Os testes iperf mostram uma perda significativa de pacotes." |
| Verificação proativa de saúde |
"Verificar a saúde da rede no nó my-node" |
O que o agente verifica:
O diagnóstico de perda de pacotes examina a utilização do buffer de anel da NIC (ethtool), as estatísticas do kernel softnet (/proc/net/softnet_stat), a distribuição de SoftIRQ por CPU e a saturação do buffer de socket. Também revê estatísticas de interface de rede (/proc/net/dev), ajustáveis do buffer do kernel (tcp_rmem, rmem_max, netdev_max_backlog), configuração RPS/XPS/RFS e análise de interfaces específicas ao CNI. O agente utiliza medições delta (instantâneos antes e depois) para detetar descidas ativas versus contadores históricos.
Exemplos de causas raiz que o agente identifica:
- Esgotamento do buffer do anel NIC: contadores ativos
rx_droppeda aumentar - Descartes de pacotes do kernel: valores não-zero na coluna de descartes
- Desbordamento de buffer de socket: fila de receção de socket a crescer além dos limites do buffer
- Gargalo de CPU SoftIRQ: elevado
%softnuma única CPU com distribuição de interrupções desequilibrada - Todas as verificações foram concluídas com sucesso: o agente reporta "Nenhum problema detetado" em vez de adivinhar.
Importante
O diagnóstico de queda de pacotes implementa um DaemonSet de depuração (rx-troubleshooting-debug) no namespace do seu cluster kube-system. Este DaemonSet requer hostNetwork, hostPID, hostIPC, e NET_ADMIN capacidades para aceder a dados de rede ao nível do host. Funciona como um utilizador não root com um sistema de ficheiros root apenas de leitura. É partilhado entre sessões de diagnóstico e limpo automaticamente, mas pode persistir se o pod do agente falhar inesperadamente.
Consulte Problemas conhecidos para orientações sobre limpeza.
Resolução de problemas de rede Kubernetes
Quando os pods não conseguem comunicar com os serviços, as políticas de rede bloqueiam o tráfego esperado ou os serviços não têm endpoints, o Agente Container Network Insights investiga todo o caminho de rede. O agente verifica o agendamento e prontidão dos pods, o registo de endpoints de serviço, a avaliação da política de rede e a observação do fluxo do Hubble.
Situações comuns:
- Falhas na comunicação pod-a-pod ou pod-a-serviço
- Os serviços são inacessíveis a partir de certos namespaces
- As políticas de rede bloqueiam inesperadamente o tráfego
- Existem endpoints de serviço, mas os ligações continuam a falhar.
- O Hubble revela
DROPPEDo veredito sobre os fluxos entre cápsulas
Exemplos de prompts:
| O que estás a ver | Prompt |
|---|---|
| Serviço inacessível | "O meu pod cliente não consegue ligar-se ao serviço de backend em production. A ligação termina." |
| Trânsito bloqueado | "O meu pod de clientes já não consegue aceder ao serviço de backend. Já funcionava antes." |
| Sem pontos finais |
"O serviço não tem endpoints no namespace my-app" |
| Pod preso | "Implementei a minha aplicação mas o serviço não tem endpoints e o pod não tem IP" |
| Cápsulas não prontas | "As cápsulas não estão prontas no namespace staging" |
| Verificação proativa de saúde |
"Está tudo bem no espaço production de nomes — consegues confirmar?" |
O que o agente verifica:
O diagnóstico de rede Kubernetes examina o estado e o agendamento do pod, configuração do serviço e registo de endpoints, bem como políticas de rede (tanto Kubernetes NetworkPolicy como CiliumNetworkPolicy). Também analisa fluxos do Hubble, incluindo o tráfego descartado, e o mapeamento de portas de serviço para um pod. Uma configuração errada comum que o agente deteta é um serviço targetPort que não corresponde ao pod containerPort. Esta incompatibilidade causa timeouts de ligação, mesmo que os endpoints pareçam estar saudáveis.
Exemplos de causas raiz que o agente identifica:
- Política de rede (ou CiliumNetworkPolicy) que bloqueia o tráfego de entrada ou saída
- O serviço
targetPortnão corresponde ao podcontainerPort - As etiquetas do seletor de serviços não correspondem a nenhuma etiqueta de pod (pontos finais vazios)
- Pod preso em Pendente devido a pedidos de recursos não agendados
- Falha na sonda de prontidão, que faz com que os pods sejam excluídos dos endpoints do serviço
- Pods de agente Cilium não estão saudáveis
Observação
A análise de fluxo do Hubble (hubble observe) requer que os Advanced Container Networking Services (ACNS) estejam ativados no seu cluster. Em clusters que não possuem ACNS, o Container Network Insights Agent continua a fornecer diagnósticos completos através de kubectl e recursos padrão do Kubernetes, mas a visibilidade de fluxo não está disponível.
Problemas conhecidos e limitações do produto
Orientação de escala
| Tamanho do cluster | Utilizadores simultâneos recomendados | Notes |
|---|---|---|
| 1–3 nós | Até 7 | Ótimo para a maioria dos diagnósticos |
| 25 nós | Até 3 | O diagnóstico de pacotes caídos gera pacotes de dados por nó |
| 50 nós | 1 | Grandes pacotes de evidências aproximam-se dos limites do contexto dos modelos de IA |
A primeira consulta de um novo utilizador pode demorar mais tempo se todos os agentes do pool pré-aquecido (padrão: três agentes) estiverem em uso. As consultas subsequentes da mesma sessão utilizam o agente já inicializado.
Problemas conhecidos
| Issue | Descrição | Solução |
|---|---|---|
| Debug DaemonSet persiste após crash | Se o pod do Agente Container Network Insights falhar durante um diagnóstico de perda de pacotes, o rx-troubleshooting-debug DaemonSet pode permanecer em kube-system |
Executar kubectl delete ds rx-troubleshooting-debug -n kube-system |
| O primeiro diagnóstico de queda de pacotes é mais lento | O DaemonSet de depuração demora entre 30 a 60 segundos a agendar e a ficar pronto logo à primeira utilização | Os diagnósticos subsequentes reutilizam os pods existentes e são mais rápidos. |
| Os clusters sem Cilium têm diagnósticos limitados | A análise de políticas do Cilium e a monitorização de fluxos Hubble não estão disponíveis | O Agent continua a fornecer DNS completo, entrega de pacotes e diagnósticos padrão do Kubernetes |
| Clusters não-ACNS não possuem Hubble |
hubble observe comandos falham em clusters sem Advanced Container Networking Services |
Ative o ACNS ou confie em diagnósticos baseados em kubectl. |
| Os testes DNS são executados a partir do agent pod | Testes de resolução DNS são executados a partir do pod Container Network Insights Agent, que pode ter uma política DNS diferente do pod afetado | O agente anota a sua própria política DNS nas provas para comparação |
| Os dados da sessão estão em memória | O estado da sessão (histórico de chat, atribuições de agentes) perde-se se o pod reiniciar | Volte a iniciar sessão para iniciar uma nova sessão; Sem histórico de conversas persistentes |
| Janela de contexto do chat | O agente mantém apenas as últimas ~15 trocas no seu contexto de trabalho | Para questões não relacionadas, inicia uma nova conversa para evitar confusão de contexto |
Disponibilidade de extensão
Quando implementado como uma extensão AKS (microsoft.containernetworkingagent), o Container Network Insights Agent está disponível em: centralus, eastus, eastus2, uksouth, westus2.
Preços
O Container Network Insights Agent corre como um pod no seu cluster AKS. Os custos diretos incluem:
- Azure Utilização do OpenAI: O consumo de tokens depende da duração da conversa e da complexidade do diagnóstico. Consulte os preços do Azure OpenAI para as taxas atuais.
- Computação de nós AKS: O pod do Agente Container Network Insights e (para diagnóstico de queda de pacotes) o DaemonSet de depuração consomem recursos de computação do cluster.
O próprio Container Network Insights Agent não tem taxa de licenciamento separada durante a pré-visualização pública.
Aceder e utilizar o Agente Container Network Insights
O Container Network Insights Agent é um chatbot baseado em browser que funciona dentro do seu cluster AKS. Após a implementação, abra a URL da aplicação em qualquer navegador moderno para iniciar uma conversa. Não precisas de uma ferramenta de CLI na tua estação de trabalho nem de uma lâmina de portal para navegar. É uma interface de chat autónoma concebida para diagnósticos de rede.
Inscrever-se
Quando abre pela primeira vez a URL do Agente Container Network Insights, a aplicação pede-lhe para iniciar sessão. Dependendo de como o seu administrador configurou a implementação, inicia sessão com um nome de utilizador simples (ambientes de desenvolvimento) ou com as credenciais do Microsoft Entra ID (ambientes de produção).
Conceder permissões
Após iniciar sessão, a aplicação pode pedir que conceda permissões. Revise as permissões solicitadas e selecione Aceitar para continuar.
Interface de chat
Depois de autenticar, entra na interface de chat. O servidor mantém a sua sessão, por isso pode fechar e reabrir o separador do navegador dentro da janela de timeout da sessão sem perder a conversa.
A interface de chat é onde deves:
- Faça perguntas em linguagem natural: Escreva solicitações como "Porque é que o meu pod não consegue resolver o DNS?" ou "Verifique perdas de pacotes no nó aks-nodepool1-vmss000000". Não é necessária uma sintaxe especial.
- Receba relatórios de diagnóstico estruturados: As respostas incluem tabelas de evidências, análise de causa raiz e comandos de remediação que pode copiar e executar.
- Inicie novas conversas: Cada conversa mantém o seu próprio contexto. Muda de tema iniciando uma nova conversa.
- Submeta feedback: Após cada resposta diagnóstica, utilize os controlos de feedback incorporados (polegar para cima e polegar para baixo) para avaliar a qualidade do diagnóstico. O seu feedback ajuda a melhorar a precisão do diagnóstico futuro.
Comunicar problemas
Se encontrar um problema com o Agente Container Network Insights:
- Note o ID da sessão e o carimbo de data/hora do problema (visível na interface de chat)
- Verifique os endpoints de saúde:
/health,/ready,/live - Revisão dos registos de pods:
kubectl logs -l app=container-networking-agent -n kube-system - Apresente uma questão através do seu canal padrão de suporte do Azure
