Какая польза от размещения нескольких контейнеров в капсуле?
В чем преимущество наличия нескольких контейнеров в капсуле по сравнению с наличием отдельных контейнеров?
3 ответа
Если у вас есть несколько контейнеров в одном модуле, они могут говорить друг с другом как localhost
и может делиться подключенными томами.
Если у вас есть несколько контейнеров по одному контейнеру в каждом, вы можете перезапустить один, не перезапуская другой. Предполагая, что они контролируются развертыванием, вы можете добавить дополнительные реплики одного без необходимости масштабирования другого. Если версия или какая-либо другая характеристика одного из них изменится, вам не придется перезагружать другой. Вам нужно настроить службу для общения друг с другом, и они не смогут общаться через файловую систему.
Общий подход, который я всегда видел, состоит в том, чтобы всегда иметь по одному контейнеру на модуль в развертывании, если только у вас нет особой причины для необходимости дополнительного контейнера. Обычно это какая-то специальная "коляска", которая взаимодействует со службой учетных данных, управляет ведением журнала, или запускает сетевой прокси-сервер, или что-то еще, что является вторичным по отношению к основному действию модуля (и не является отдельной службой в свое право).
Помимо указанных моментов, процессор и память (под техническим предварительным просмотром) связаны с POD, поэтому, если у нас есть один контейнер в POD, можно легко понять и реализовать требование ресурса приложения внутри POD с более чем одним контейнером внутри POD мы могли бы столкнуться с проблемами / проблемами, когда мы хотим сделать горизонтальный масштаб
Во-вторых, развертывания (синий / зеленый, канарейка,A/B) также более согласованы с подходом единого контейнера /POD
Модуль может инкапсулировать приложение, состоящее из нескольких совместно расположенных контейнеров, которые тесно связаны между собой и должны совместно использовать ресурсы. Эти совместно расположенные контейнеры могут образовывать единую единую единицу обслуживания - один контейнер, обслуживающий файлы из общего тома в общем доступе, в то время как отдельный контейнер "sidecar" обновляет или обновляет эти файлы. Модуль упаковывает эти контейнеры и ресурсы хранения в единый управляемый объект.