Присоедините узлы к swarm

Когда вы впервые создаёте swarm, вы переводите один Docker Engine в режим swarm. Чтобы в полной мере воспользоваться режимом swarm, вы можете добавить узлы в swarm:

  • Добавление рабочих узлов увеличивает пропускную способность. Когда вы развертываете службу на swarm, Engine планирует задачи на доступных узлах, независимо от того, являются ли они рабочими узлами или управляющими узлами. Когда вы добавляете работников в свой swarm, вы увеличиваете масштаб swarm для обработки задач, не влияя на консенсус менеджера.

  • Узлы-менеджеры повышают отказоустойчивость. Узлы диспетчера выполняют функции оркестровки и управления кластером для swarm. Среди узлов-менеджеров один ведущий узел выполняет задачи оркестровки. Если ведущий узел выходит из строя, оставшиеся управляющие узлы выбирают нового лидера и возобновляют оркестровку и обслуживание состояния swarm. По умолчанию узлы-менеджеры также выполняют задачи.

Docker Engine присоединяется к swarm в зависимости от join-token, который вы предоставляете команде docker swarm join. Узел использует токен только во время присоединения. Если вы впоследствии поменяете токен, это не повлияет на существующие узлы swarm. См. Запускает Docker Engine в режиме swarm..

Присоединяйтесь как рабочий узел

Чтобы получает команду присоединения, включая токен присоединения для рабочих узлов, выполняет следующую команду на узле менеджера:

$ docker swarm join-token worker

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    192.168.99.100:2377

Запускает команду из выходных данных на воркере, чтобы присоединиться к swarm:

$ docker swarm join \
  --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
  192.168.99.100:2377

This node joined a swarm as a worker.

Команда docker swarm join делает следующее:

  • переключает Docker Engine на текущем узле в режим swarm.

  • запрашивает сертификат TLS у менеджера.

  • называет узел именем хоста машины

  • присоединяет текущий узел к swarm по адресу прослушивания менеджера на основе токена swarm.

  • устанавливает для текущего узла доступность Active, что означает, что он может получать задачи от планировщика.

  • расширяет оверлейную сеть ingress до текущего узла.

Присоединяйтесь в качестве управляющего узла

Когда вы запускаете docker swarm join и передаете токен менеджера, Docker Engine переключается в режим swarm так же, как и для рабочих. Узлы-менеджеры также участвуют в консенсусе плота. Новые узлы должны быть Reachable, но существующий менеджер остаётся swarm Leader.

Docker рекомендует три или пять управляющих узлов на кластер для реализации высокой доступности. Поскольку узлы менеджера режима swarm обмениваются данными с помощью Raft, должно быть нечетное количество менеджеров. swarm может продолжать функционировать после того, как будет доступен кворум более половины узлов менеджера.

Дополнительные сведения о менеджерах swarm и администрировании swarm см. в Администрирование и поддержка swarm Docker Engines.

Чтобы получает команду присоединения, включая токен присоединения для узлов диспетчера, выполняет следующую команду на узле диспетчера:

$ docker swarm join-token manager

To add a manager to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
    192.168.99.100:2377

Запускает команду из вывода на новом узле менеджера, чтобы присоединить его к swarm:

$ docker swarm join \
  --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
  192.168.99.100:2377

This node joined a swarm as a manager.

Узнать больше