PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die im Kubernetes-Cron-Job ausgeführte Anwendung stellt keine Verbindung zur Datenbank im selben Kubernetes-Cluster her

Ich denke, das Problem ist, dass Ihr Pod versucht, eine Verbindung zur Datenbank herzustellen, bevor der Istio-Sidecar bereit ist. Und somit kann die Verbindung nicht aufgebaut werden.

Istio führt einen Init-Container aus, der die Pod-Routing-Tabelle konfiguriert, sodass der gesamte Datenverkehr durch das Sidecar geleitet wird. Wenn also der Sidecar nicht läuft und der andere Pod versucht, sich mit der Datenbank zu verbinden, kann keine Verbindung hergestellt werden.

Es gibt zwei Lösungen.

Zuerst könnte Ihr Job zB 30 Sekunden warten, bevor er main.py aufruft mit einem Schlafbefehl.

Alternativ können Sie holdApplicationUntilProxyStarts aktivieren . Dadurch wird der Hauptcontainer erst gestartet, wenn der Sidecar läuft.