Связь между модулями в разных пространствах имен - PullRequest
2 голосов
/ 14 апреля 2020

У меня есть модуль приложения, работающий в пространстве имен с именем frontend, и модуль базы данных, работающий в другом пространстве имен с именем backend. Мне нужно иметь связь между обоими модулями, находящимися в разных пространствах имен. Контейнер базы данных запущен и работает, но в то время как в контейнере приложения возникает ошибка crashloopbackoff.

Когда я увидел журналы модуля приложения, при разрешении имени хоста базы данных возникла ошибка, которая была предоставлена ​​через переменную среды PGHOST и была равна имени контейнера базы данных. Но похоже, что контейнер приложения не может разрешить хост базы данных.

Поэтому, как мне их подключить. Я полагаю, что проблема связана с различными пространствами имен. Так как мне их соединить и заставить их общаться.

ошибка:

> The Gemfile's dependencies are satisfied rake aborted!
> PG::ConnectionBad: could not translate host name "postgres" to
> address: Name or service not known

1 Ответ

2 голосов
/ 14 апреля 2020

Я предполагаю, что у вас есть служба типа ClusterIP с именем postgres в xyz пространстве имен. Затем вы можете получить к нему доступ из другого пространства имен, указав postgres.xyz

В Kubernets есть система DNS CoreDNS , которая преобразует имя хоста postgres.xyz в IP-адрес POD.

...