Kubernetes связь между микросервисами - PullRequest
0 голосов
/ 06 февраля 2020

Разрабатываем приложение на основе микросервисов. Они будут развернуты в kubernetes с помощью Helm Package Manager, и все они сохранят свой собственный репозиторий и таблицу helm. Ниже приведены названия наших микросервисов.

Моя путаница заключается в том, что перед развертыванием я могу указать, что модуль бэкэнда должен взаимодействовать с пользовательским интерфейсом, API и модулями Auth. AUTH / что угодно, но как лучше всего управлять этим между модулями микросервисов.

Architecture

  1. Backend
  2. UI
  3. API
  4. Auth

1 Ответ

1 голос
/ 06 февраля 2020

Рекомендованный способ управления связью между микросервисами в Kubernetes - это использование Services .

По сути, вам нужно обернуть каждое из ваших микросервисов в кластерную IP-службу, тогда вы возможность доступа к нему с помощью его уникальной записи DNS / переменных среды / с помощью сервисной инфраструктуры me sh, например Linkerd

Вы можете иметь одну таблицу управления на микросервисе , Эта helmchart будет содержать файлы yaml для всего, что связано с этим микросервисом: развертывания, карты конфигурации, секреты и т. Д. c., Но также и для службы (для нее лучше иметь отдельный файл yaml).

Благодаря использованию сервисов бэкэнд-сервис легко связывается с остальными сервисами, потому что IP-адреса всех сервисов будут внедрены в переменные окружения бэкэнд-контейнера, как вы можете видеть здесь

Так что вам просто нужно обновить ваше бэкэнд-приложение, чтобы прочитать IP микросервиса, к которому вы хотите подключиться (из переменных env), и тогда вы сможете подключиться к нему.

...