Как заставить интерфейсное приложение общаться с бэкэнд-приложениями, не создавая вход для бэкэнда - PullRequest
0 голосов
/ 12 февраля 2019

Я развернул кластер kubernetes, используя kops.В текущем кластере используется входной контроллер nginx, который создает классический балансировщик нагрузки в AWS.У меня есть некоторые бэкэнд-приложения, которые общаются с внешним интерфейсом, и некоторые бэкэнд-сервисы, которые просто общаются друг с другом.Проблема заключается в том, что в настоящее время единственный способ заставить приложение внешнего интерфейса взаимодействовать с приложениями внутреннего уровня - создать вход для приложений внутреннего уровня, поскольку интерфейс отправляет запросы через доменное имя, так как он не понимает имена внутренних служб.Для бэкэндов это хорошо, так как они могут общаться внутри, просто используя имя службы и соответствующий порт.Как я могу достичь этого, не создавая вход для бэкэндов.Можно ли это сделать с помощью балансировщика нагрузки приложения или для этого нужен шлюз API?Как мне достичь этой архитектуры?Добавление диаграммы архитектуры, чтобы показать, чего я хочу достичь.Любая помощь приветствуется. enter image description here

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вам не нужно входить для подключения бэкэнда от внешнего интерфейса.Предполагая, что оба бэкэнда и фронтэнда работают в одном кластере kubernetes.Фронтенд-сервис может подключаться к бэкэнд-сервису с помощью сервиса dns

backend-service.<namespace>.svc.cluster.local
0 голосов
/ 12 февраля 2019

Из вашей "архитектурной схемы" похоже, что все ваши приложения находятся в кластере.Так что не нужно входить.Вы можете просто воспользоваться услугами kubernetes.

Ваше приложение веб-интерфейса должно иметь возможность вызывать конечные точки серверных служб, в противном случае вы допустили ошибку в конфигурации службы веб-интерфейса.

Если у вас нет возможности изменить URL-адрес, которыйприложение внешнего интерфейса вызывает внутренние службы, например, вы можете использовать службу kubernetes с CNAME и перенаправить ее на внутренние службы.

...