Как динамически развернуть несколько серверов? - PullRequest
0 голосов
/ 29 апреля 2020

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

Каждый компонент docker - список следующих сервисов:

  • Интерфейс для администрирования
  • Интерфейс для администрирования
  • Интерфейс для внешних сервисов
  • Некоторая mongo копия базы данных
  • Некоторая redis копия базы данных
  • Некоторая smtp сервер
  • Некоторая minio реплика

Мы не хотим развертывать разные версии этих сервисов для каждого клиента, потому что мы хотим, чтобы все они имели одинаковую версию внутри docker, поэтому, когда мы обновим образ docker, он также обновит все images.

Затем нам понадобится система, которая поможет клиентам создавать учетные записи и создавать свои собственные компоненты (за кулисами мы будем динамически развертывать их) с помощью панели мониторинга.

Мы также хотим дифференцировать каждого клиента, используя заголовок (например, X-CLIENT-REALM=test-client) или просто контекстный путь (например, domain.com/_service1/api и domain.com/_service2/api).

Типичным примером будет быть пользователем, который войдет в панель управления, затем создаст службу test237, а затем за сценой будет создан и развернут компонент "test237" в domain.com/_test237. И затем получить доступ, используя затем X-CLIENT-REALM=test237.

Я понятия не имею, как это сделать. У кого-нибудь есть идеи, как это можно сделать?

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