O Pod não tem acesso à internet.

O que é um problema de conectividade de internet em um Pod?

Um problema de conectividade com a Internet em um Pod ocorre quando um Pod está em execução, mas não consegue acessar serviços externos ou a Internet. Isso geralmente é causado por problemas com o plugin CNI, DNS, políticas de rede, regras de firewall ou configuração de NAT.

Dica: se o Pod consegue se comunicar com outros Pods, mas não consegue acessar a internet, o problema geralmente está relacionado ao tráfego de saída, NAT, regras de firewall ou DNS .

Sintomas
  • Os pods não podem acessar sites externos ou APIs.
  • As solicitações de internet falham ou expiram.
  • As consultas de DNS não funcionam.
  • O aplicativo não consegue se conectar a serviços externos.
Causas comuns
Causa Descrição
Falha no Plugin CNI O plugin de rede (Calico, Cilium, Flannel, etc.) não está funcionando corretamente.
Firewall O tráfego de saída está bloqueado.
Problema no Gateway NAT O roteamento da Internet ou o NAT está configurado incorretamente.
Falha no DNS O pod não consegue resolver nomes de domínio.
Política de Rede O tráfego de saída está bloqueado pelas políticas de rede.
Como diagnosticar
  1. Teste a conectividade com a Internet

Execute o seguinte comando dentro do Pod:

BASH
kubectl exec -it <pod> -n <namespace> -- curl -I https://google.com

Se a solicitação falhar, o Pod não tem acesso à internet.

  1. Verifique a resolução de DNS
BASH
kubectl exec -it <pod> -n <namespace> -- nslookup google.com

ou

BASH
kubectl exec -it <pod> -n <namespace> -- dig google.com

Se a resolução de DNS falhar, verifique o serviço CoreDNS.

  1. Verificar o status do plug-in CNI
BASH
kubectl get pods -n kube-system

Verifique se os Pods do seu plugin CNI (Calico, Cilium, Flannel, etc.) estão em estado de execução.

  1. Verificar as políticas de rede
BASH
kubectl get networkpolicy

Analise as políticas para garantir que o tráfego de saída (egress) seja permitido.

  1. Verifique o NAT e o firewall.

Confira isso:

  • O gateway NAT ou gateway da Internet está configurado corretamente.
  • As regras do firewall ou do grupo de segurança permitem tráfego de saída.
Como consertar
  • Verifique se o plugin CNI (Calico, Cilium, Flannel) está funcionando corretamente.
  • Corrija as regras de saída da NetworkPolicy se o tráfego estiver bloqueado.
  • Verifique a rota padrão do nó, a configuração NAT e as regras do firewall.
  • Certifique-se de que o CoreDNS esteja em execução e que a resolução de DNS esteja funcionando.
  • Reinicie os componentes CNI, se necessário.
  • Verifique as regras do firewall ou do grupo de segurança.
Comandos importantes
BASH
kubectl exec -it <pod> -n <namespace> -- curl -I https://google.com
kubectl exec -it <pod> -n <namespace> -- nslookup google.com
kubectl get pods -n kube-system
kubectl get networkpolicy
Pontos-chave
  • ´curl´ Falha + ´nslookup´ funciona → Provavelmente um problema de rede, NAT ou firewall.
  • ´nslookup´Falha → Muito provavelmente um problema de DNS/CoreDNS.
  • Os pods do CNI não estão em execução → É provável que a rede dentro do cluster esteja com problemas.
  • Políticas de rede negam saída → Os pods não podem acessar serviços externos até que a política seja atualizada.

Próximo Artigo Artigo anterior