PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

L'application exécutée dans le travail cron Kubernetes ne se connecte pas à la base de données dans le même cluster Kubernetes

Je pense que le problème est que votre pod essaie de se connecter à la base de données avant que le side-car istio ne soit prêt. Et donc la connexion ne peut pas être établie.

Istio exécute un conteneur d'initialisation qui configure la table de routage des pods afin que tout le trafic soit acheminé via le side-car. Ainsi, si le side-car ne fonctionne pas et que l'autre pod tente de se connecter à la base de données, aucune connexion ne peut être établie.

Il existe deux solutions.

D'abord, votre travail peut attendre par exemple 30 secondes avant d'appeler main.py avec une commande de sommeil.

Vous pouvez également activer holdApplicationUntilProxyStarts . Par ce conteneur principal ne démarrera pas tant que le side-car ne sera pas en cours d'exécution.