PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O aplicativo em execução no trabalho cron do Kubernetes não se conecta ao banco de dados no mesmo cluster do Kubernetes


Acho que o problema é que seu pod tenta se conectar ao banco de dados antes que o istio sidecar esteja pronto. E assim a conexão não pode ser estabelecida.

O Istio executa um contêiner de inicialização que configura a tabela de rotas dos pods para que todo o tráfego seja roteado pelo sidecar. Portanto, se o sidecar não estiver em execução e o outro pod tentar se conectar ao banco de dados, nenhuma conexão poderá ser estabelecida.

Existem duas soluções.

Primeiro, seu trabalho pode esperar, por exemplo, 30 segundos antes de chamar main.py com algum comando de sono.

Alternativamente, você pode habilitar holdApplicationUntilProxyStarts . Por este contêiner principal não será iniciado até que o sidecar esteja em execução.