Docker Служба в Swarm не может подключиться к AWS RDS при публикации порта - PullRequest
0 голосов
/ 31 марта 2020

Компания, в которой я работаю, недавно решила развернуть новое приложение с docker swarm на AWS с использованием экземпляров EC2. Мы создали кластер из трех экземпляров EC2 в качестве узлов (один менеджер, два рабочих) и используем стек для развертывания сервисов.
Проблема заключается в том, что одна из служб, приложение django, запускается по таймауту при попытке подключения к базе данных postgres, которая работает на RDS в том же VP C. Но ТОЛЬКО когда служба публикует порт.
Служба, которая не публикует sh любой порт, может нормально подключаться к БД.

Конечная точка RDS разрешается на правильный IP-адрес, поэтому это не должно быть проблемой DNS, и контейнеры могут подключаться к inte rnet. Сервисы также могут общаться друг с другом на разных узлах.
Также не должно быть проблем с определением группы безопасности базы данных, потому что сами экземпляры EC2 могут получить соединение с БД.

Кроме того, службы могут подключаться к вещам, запущенным в других экземплярах в VP C.
Кажется, что это как-то связано с роем (и оверлейными сетями), так как запуск приложения в обычном контейнере с мостовой сетью не вызывает никаких проблем.
Стек, похоже, не является проблемой, потому что даже при создании служб вручную проблема все еще сохраняется.

Мы используем Docker CE версию 19.03.8, в Ubuntu 18.04.4 LTS и docker - составьте версию 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...