Kubernetes Ingress Verstehen
In Kubernetes exponieren Services Pods innerhalb des Clusters, bieten aber kein externes HTTP-Routing. Die Ingress-Ressource definiert Regeln für das Routing von externem HTTP/HTTPS-Verkehr.
Voraussetzungen
- Ein laufender Kubernetes-Cluster (1.24+).
- Ein installierter Ingress Controller.
kubectlmit Cluster-Zugang konfiguriert.
Schritt-für-Schritt-Fehlerbehebung
1. Ingress-Ressource Prüfen
kubectl get ingress -A
kubectl describe ingress <ingress-name> -n <namespace>
2. Backend-Service Verifizieren
kubectl get endpoints <service-name> -n <namespace>
3. Controller-Logs Inspizieren
kubectl logs <controller-pod> -n ingress-nginx --tail=100
4. 502 Bad Gateway Beheben
kubectl exec -it <controller-pod> -n ingress-nginx -- curl -v http://<service>.<namespace>.svc.cluster.local:<port>
Zusammenfassung
- Diagnostizieren Sie 502-Fehler durch Überprüfung von Endpoints und Pod-Verfügbarkeit.
- Stellen Sie sicher, dass TLS-Secrets mit gültigen Zertifikaten existieren.
- Spezifizieren Sie immer
ingressClassNameab Kubernetes 1.22+.