Это может показаться наивным вопросом, но я нигде не нашел, чтобы он утверждался:
есть ли способ использовать одни и те же машины для запуска разных стеков служб? например, имея
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 может быть только в одном рое. Кто-то может сказать: «Вы можете установить Docker Engine дважды в разных местах», но это очень необычно, и я бы сказал, что это анти-шаблон, и не поддерживается докером, поэтому давайте просто скажем «нет».
- Есть ли способ использовать одни и те же машины для запуска разных стеков служб?
Да, это цель такого оркестратора, как Swarm. Вы можете запускать множество сервисов и стеков на одном или нескольких хостах.
(обратите внимание, что задача является репликой)
- Если да, то как инициализируются / объединяются рои?
Я не уверен в этом вопросе. Вы создаете рой на одном хосте. Это включает функции роя в движке докеров и позволяет создавать множество сетей, сервисов, стеков и т. Д. Затем вы можете при желании добавить больше узлов в этот рой, чтобы распределить работу. Один рой может иметь один или несколько узлов и один или несколько стеков, которые могут иметь одну или несколько служб, которые могут иметь одну или несколько реплик (задач).