El controlador Nginx-Ingress no funciona después de actualización de Kubernetes 1.24+ en Azure AKS
Mi cliente exige que nosotros tengamos versiones soportados de software instaladas, y por eso estoy obligado a actualizar los clústeres de Kubernetes de acuerdo de la política de soporte de las versiones de Kubernetes en Azure.
La última vez, la actualización hasta Kubernetes 1.24+ fue no muy limpia - el controlador Nginx-ingress falló, y todas nuestras aplicaciones pararon de responder.
Entonces, estoy recibiendo tiempos de espera cuando accediendo las aplicaciones, y obtengo estas mensajes de registro en podos de controlador:
Service 'XXX' does not have any active Endpoint.
Solución
El problema era que Azure AKS actualizaba en alguna forma incorrecta su balanceador de carga (Kubernetes 1.24 comenzó a usar comprobaciones de HTTP/S en lugar de TCP). Era necesario redistribuir el controlador de ingress con una anotación adicional:
service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz
Parece que reimplementación de la configuración actualizada obliga AKS a verificar la configuración de balanceador de carga y corregirlo para que sea correcto. Esto es lo que tuve antes de la actualización:
Y esto es en lo que se ha convertido (daos cuenta el columno Path):
azure (es), aks (es), kubernetes (es)
- Visto: 806