Dockerfile / Docker Compose для нескольких проектов с разными портами - PullRequest
0 голосов
/ 03 мая 2018

Мне нужны ваши предложения для разработки решения. У меня есть решение (.NET Core) с 5 проектами API.

Solution 
   Project 1
   Project 2 
   Project 3 
   Project 4 
   Project 5 

, который работает на разных портах, как

http://localhost:10500/api/values , 
http://localhost:10501/api/values .. so on
http://localhost:10504/api/values

(меняется только номер сообщения)

Требование состоит в том, чтобы докеризировать это решение и запустить его в кластере Kubernetes через Kube Ingress, какой способ реализации лучше?

1) Создать один образ, развернуть решение и выставить несколько портов?

2) Использовать Docker COmpose и построить порт экспорта proj1, построить проект 2, открыть порт 2 и т. Д.?

Любые идеи высоко ценится, пожалуйста?

1 Ответ

0 голосов
/ 03 мая 2018

Я думаю, что правильное решение зависит от требований. Выбор варианта 1 будет иметь следующие последствия:

  • один контейнер со всеми службами, в случае сбоя все службы не работают
  • масштабирование: каждый сервис будет масштабироваться, даже если только один из них должен обрабатывать большую часть трафика.
  • обновления: изменения в одной службе приводят к «повторному развертыванию» всех остальных в контейнере.
  • мониторинг: сбор метрик для каждой службы может быть получен на основе запущенных контейнеров, если все службы выполняются в одном контейнере, вы можете отслеживать их все как один или вам необходимо реализовать собственный способ разделения журналов.

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

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