Репликация папок в кластере докеров

Так что я новичок в docker, и в частности в docker swarm. Я только что установил jenkins и хочу, чтобы он работал на всех узлах независимо от он работает только с одним экземпляром на одной машине или 10 экземплярами на 5 машинах.

Проблема, конечно же, в том, «откуда Дженкинс знает, какие у меня определения сборки». Вероятно, есть особый способ решить эту проблему для Дженкинса, но я вижу, что в будущем у меня возникнут аналогичные проблемы. Это заставило меня задуматься, есть ли простой способ настроить репликацию в файловой системе / томе? предпочтительно в конфигурации главный / подчиненный, которая будет работать в среде роя докеров?

1
задан 24 January 2018 в 21:58
1 ответ

Даже если у вас есть волшебное решение для репликации данных, оно не решит проблему полностью. Обратите внимание, я не эксперт по Jenkins.

Похоже, что вам нужно сохранить данные для вашего контейнера Jenkins.

Существует как минимум два способа заставить приложение с постоянными потребностями в данных (например, база данных, Jenkins и т. Д.) Работать в кластере контейнеров:

  1. Используйте встроенную в приложение кластеризацию. Может ли Дженкинс сделать мультимастер? Выполнение этого типа высокой доступности не сильно меняет в оркестраторе контейнеров. Если приложение (Jenkins) поддерживает HA, то обычно лучше это сделать. Как и в случае с репликами Mongodb или кластерами elasticsearch ... лучше всего создать отдельные службы роя с одним контейнером каждый и подключить их друг к другу, как до использования Swarm.

  2. Используйте Swarm для хранения постоянных данных и пусть он воссоздает отказавшие контейнеры. Храните данные Jenkins в томах докеров, поддерживающих Swarm. Для этого потребуется общее хранилище и подключаемый модуль тома, например REX-Ray или любой из тех, что есть на store.docker.com , для хранения всего, что необходимо подключать к работающему экземпляру Дженкинс, чтобы заставить его работать. Затем, между томами докеров, конфигурациями Swarm и секретами Swarm, когда служба, запускающая контейнер Jenkins, умирает или должна быть повторносоздайте контейнер, он обеспечит наличие томов / конфигураций / секретов на любом узле, на котором запускается задача (контейнер). Это не настоящий HA, но близко.

0
ответ дан 4 December 2019 в 04:15

Теги

Похожие вопросы