Это может показаться наивным вопросом, но я нигде не нашел его:
есть ли способ использовать одни и те же машины для запуска разных стеков служб? например имея
Stack A: service X, service Y
Stack B: service Z, service J, service K
для простоты предположим, что всем сервисам нужна только одна задача (т.е. без реплик).
возможно ли иметь, например:
Machine 1: task X, task Z
Machine 2: task Y, task J, task K
Если да, то как инициализируются / объединяются рои?
Большое спасибо
Название вашего вопроса и фактические вопросы кажутся не связанными:
- Могут ли хосты присоединиться к более чем одному рою?
У хоста будет один движок dockerd, и он будет находиться в едином рое. Dockerd может быть только в одном рое. Кто-то может сказать: «Вы можете установить движок докера дважды в разных местах», но это очень необычно, и я бы сказал, что это анти-шаблон, и докер не поддерживает, поэтому давайте просто скажем «нет».
- Есть ли способ использовать одни и те же машины для запуска разных стеков служб?
Да, это цель такого оркестратора, как Swarm. Вы можете запускать множество сервисов и стеков на одном или нескольких хостах.
(обратите внимание, что задача является реплика)
- Если да, то как инициализируются / объединяются рои?
Я не уверен насчет этого вопроса. Вы создаете рой на одном хосте. Это включает функции роя в движке докеров и позволяет создавать множество сетей, сервисов, стеков и т. Д. Затем вы можете при желании добавить больше узлов в этот рой, чтобы распределить работу. Один рой может иметь один или несколько узлов и один или несколько стеков, которые могут иметь одну или несколько служб, которые могут иметь одну или несколько реплик (задач).