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.
kubectlconfigurado 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
ingressClassNameno Kubernetes 1.22+.