PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

L'applicazione in esecuzione nel lavoro cron Kubernetes non si connette al database nello stesso cluster Kubernetes

Penso che il problema sia che il tuo pod tenta di connettersi al database prima che il sidecar istio sia pronto. E quindi non è possibile stabilire la connessione.

Istio esegue un contenitore init che configura la tabella di instradamento dei pod in modo che tutto il traffico venga instradato attraverso il sidecar. Quindi, se il sidecar non è in esecuzione e l'altro pod tenta di connettersi al db, non è possibile stabilire alcuna connessione.

Ci sono due soluzioni.

Innanzitutto il tuo lavoro potrebbe attendere, ad esempio, 30 secondi prima di chiamare main.py con qualche comando di sospensione.

In alternativa puoi abilitare holdApplicationUntilProxyStarts . Da questo contenitore principale non si avvierà fino a quando il sidecar non sarà in esecuzione.