2

Я нахожусь в процессе создания Docker Swarm для стека приложений Magento. Основная причина использования Swarm заключается в том, что стек приложения будет работать в многоузловой среде.Должен ли стек приложения состоять из одного или нескольких роевых кластеров?

Ниже перечислены услуги, что стек приложений будет запускать -

  1. лак (Accelerator)
  2. Nginx (веб-сервер)
  3. Redis (Кэширование/сеансов)
  4. MySQL (хранение)

Должно ли каждое из указанных выше 4 услуг быть частью отдельных кладок роя (т.е. 4 разных ройных кластера)? Или, должен ли быть только один рой-кластер для всего стека приложений вместе с каким-то механизмом (возможно, с использованием Swarm-фильтров), для развертывания служб только для определенного набора узлов?

Какая практика?

ответ

0

Должно ли каждое из вышеуказанных 4 услуг быть частью отдельных роевых кластеров (т. Е. 4 разных ройных кластера)?

Такой же кластер рой (для всей службы доступа к одной и той же сети докеров), особенно при использовании режима роя.
См. "Deploy a multi services application with swarm mode" от капитана докеров Luc Juggery.
Он создает сеть докеров и хранилище kv (не требуется при использовании режима роя) и запускает 4 службы, все подключенные к одной и той же сети.

docker-machine ssh manager1 docker network create -d overlay appnet 
docker-machine ssh manager1 docker service create --name redis --network appnet redis:3.0.7-alpine 
docker-machine ssh manager1 docker service create --name mongo --network appnet mongo:3.2 
... 

Но мода «режим роя» к группе тех услуг (опять же, в том же роя кластера) через Distributed Application Bundle, показано в «My first try with DAB (aka Distributed Application Bundle)».
Он использует docker-compose bundle, чтобы преобразовать существующий файл докеры в файл.
Примечание: пучки все еще являются экспериментальными в докерах 1.12.

+0

Спасибо, что поделились этими ссылками. Рой сервис и пакет выглядят многообещающими с точки зрения автоматизации. Но у меня есть вопрос: если все мои узлы являются частью одного роя, как я могу контролировать, какая служба развертывается на каком узле? Пример. Служба MySQL должна обращаться только к узлам базы данных. –

+0

Вы должны уметь определять сродство в разделе среды (по крайней мере, так было в файлах версии 2, возможно, оно было изменено, поэтому обратитесь к документации по горячей настройке конфигурации для версии вашего конфигурационного файла) –

+0

@PatrickCornelissen Я не вижу сродства: контейнер больше в текущей версии докера. – VonC

Смежные вопросы