Der Nginx-Ingress-Controller funktioniert nach dem Upgrade von Kubernetes 1.24+ in Azure AKS nicht
Mein Kunde verlangt, dass wir unterstützte Softwareversionen installiert haben, und ich bin gezwungen, auch Kubernetes gemäß der Supportrichtlinie für Kubernetes-Releases in Azure zu aktualisieren.
Das letzte Upgrade von Kubernetes 1.24+ war nicht sehr sauber – der Nginx-Ingress-Controller schlug fehl und alle unsere Anwendungen reagierten nicht mehr.
Ich erhalte also Zeitüberschreitungen beim Zugriff auf Anwendungen und sehe diese Meldungen in Protokollen von Controller-Pods:
Service 'XXX' does not have any active Endpoint.
Lösung
Das Problem war, dass Azure AKS seinen Load Balancer etwas falsch aktualisierte (Kubernetes 1.24 begann damit, HTTP/S-Zustandsprüfungen anstelle von TCP zu verwenden). Es war erforderlich, den Ingress-Controller mit zusätzlicher Anmerkung erneut bereitzustellen:
service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz
Scheint, dass die erneute Bereitstellung der aktualisierten Konfiguration AKS dazu zwingt, die Load Balancer-Einstellungen erneut zu überprüfen und sie entsprechend dem aktuellen Verhalten zu korrigieren. Folgendes hatte ich vor dem Update:
Und hier ist, was danach (beachten Sie die Spalte Pfad):
azure (de), kubernetes (de), aks (de)
- Zugriffe: 741