sql >> Base de Datos >  >> RDS >> PostgreSQL

La aplicación que se ejecuta en el trabajo cron de Kubernetes no se conecta a la base de datos en el mismo clúster de Kubernetes

Creo que el problema es que su pod intenta conectarse a la base de datos antes de que el sidecar istio esté listo. Y por lo tanto, la conexión no se puede establecer.

Istio ejecuta un contenedor de inicio que configura la tabla de enrutamiento de los pods para que todo el tráfico se enrute a través del sidecar. Entonces, si el sidecar no se está ejecutando y el otro módulo intenta conectarse a la base de datos, no se puede establecer ninguna conexión.

Hay dos soluciones.

Primero, su trabajo podría esperar, por ejemplo, 30 segundos antes de llamar a main.py con algún comando de suspensión.

Alternativamente, podría habilitar holdApplicationUntilProxyStarts . Por este contenedor principal no se iniciará hasta que el sidecar esté funcionando.