Entendendo o Ingress do Kubernetes

No Kubernetes, os Services expõem pods dentro do cluster, mas não fornecem roteamento HTTP externo. O recurso Ingress define regras para rotear tráfego HTTP/HTTPS externo para serviços internos.

Pré-requisitos

  • Um cluster Kubernetes em execução (1.24+).
  • Um Ingress Controller instalado.
  • kubectl configurado com acesso ao cluster.

Solução de Problemas Passo a Passo

1. Verificar o Recurso Ingress

kubectl get ingress -A
kubectl describe ingress <nome-ingress> -n <namespace>

2. Verificar Serviço Backend

kubectl get endpoints <nome-servico> -n <namespace>

3. Inspecionar Logs do Controller

kubectl logs <pod-ingress-controller> -n ingress-nginx --tail=100

4. Solucionar 502 Bad Gateway

kubectl exec -it <pod-controller> -n ingress-nginx -- curl -v http://<servico>.<namespace>.svc.cluster.local:<porta>

5. Corrigir Problemas de Certificados TLS

kubectl get secret <nome-secret> -n <namespace>

Resumo

  • Diagnostique erros 502 verificando endpoints e disponibilidade de pods.
  • Verifique que os secrets TLS existam com certificados válidos.
  • Sempre especifique ingressClassName no Kubernetes 1.22+.

Artigos Relacionados