Запустите 3 компонента приложения в 3 разных модулях. - PullRequest
0 голосов
/ 06 марта 2019

У меня есть приложение без сохранения состояния с 3 компонентами, скажем, x, y, z в одной и той же кодовой базе.Каждый компонент будет запущен путем проверки переменной среды.Я хочу развернуть его на Kubernetes на GCP , используя kind: Deployment yaml config с 3-мя модулями реплик.Как я могу убедиться, что каждый компонент имеет отдельный выделенный модуль?Можно ли это сделать на одном файле развертывания?

Ответы [ 3 ]

0 голосов
/ 06 марта 2019

Как предложил Иван выше, разверните три развертывания по одному для x, y и z.

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

0 голосов
/ 08 марта 2019

Насколько я понимаю, ваши требования гласили, что у вас есть три кода приложения процессов в одном решении. Убедитесь, что три компонента, которые вы упомянули, являются независимыми компонентами процесса или просто интерфейсом, обслуживанием, DAL и т. Д. Или даже уровнями, например. типичное приложение 3-уровневой архитектуры с интерфейсом web, API и бэкэнд-уровнем, но для простоты давайте назовем три микросервиса или службы ...

В зависимости от ситуации, лучшие практики докерства, шаблон kubernetes hosted microservices рекомендует:

  1. контейнер для одного приложения процесса (не одноразового)

  2. хотя может быть несколько контейнеров на одну капсулу, рекомендуется хранить по одной на каждую капсулу - вы можете иметь три контейнера внутри капсулы

  3. Вы можете иметь три модуля по одному для каждого приложения компонента, при условии, что эти приложения могут быть преобразованы в три отдельных независимых процесса.
  4. Наличие одного файла yaml на службу и включение всех связанных объектов внутри, разделенных --- в отдельной строке
  5. Три контейнера внутри одного модуля или три пакета на услугу будут легко доступны друг другу

Надеюсь, это поможет.

0 голосов
/ 06 марта 2019

Как отметил @Ivan Aracki в комментариях, лучшим способом было бы выделить каждый компонент приложения с соответствующим объектом развертывания, чтобы гарантировать назначение Pod здесь.

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