Преимущество размещения базы данных и приложения в одной и той же капсуле Kubernetes - PullRequest
0 голосов
/ 15 декабря 2018

Я знаю только минимум Кубернетеса.Тем не менее, я хотел знать, будет ли какая-то польза от запуска двух контейнеров в одном модуле:

  • 1 Контейнер, на котором выполняется приложение (например, приложение NodeJS)
  • 1 Контейнер, на котором выполняетсясоответствующая локальная база данных (например, база данных PouchDB)

Повысит ли это производительность или обратные стороны соединения двух контейнеров преодолеют какие-либо преимущества?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Бобы , предназначены для сборки контейнеров с одинаковым жизненным циклом.Контейнеры внутри одного модуля содержат несколько пространств имен (например, сети) и томов.Таким образом, связывание приложения с базой данных может показаться хорошей идеей, поскольку приложение может просто подключаться к базе данных через localhost и т. Д. Но это не так!Как отметил Диего Велес, одним из первых ограничений, с которыми вы можете столкнуться, является масштабирование вашего приложения.Если вы объединяете свое приложение с базой данных, вы будете вынуждены масштабировать свою базу данных всякий раз, когда масштабируете свое приложение, что не является оптимальным и лишает вас возможности воспользоваться одним из основных преимуществ использования контейнерного оркестратора, такого как kubernetes.Вот некоторые хорошие примеры использования:

  • Контейнер с приложением + контейнер с агентом для метрик приложения, агентами ci и т. Д.
  • Контейнер CI / CD (например, агенты jenkins) + контейнер (ы)) с инструментами для CI / CD.
  • Контейнер с приложением + контейнер с прокси-сервером (как в примере с использованием шаблона коляски).
0 голосов
/ 15 декабря 2018

Допустим, вам нужно масштабировать ваше приложение (модуль), что произойдет, если БД также будет масштабироваться, и это приведет к ошибке, поскольку она не является кластером, а представляет собой только один узел.

...