Присоединение узла к кластеру в качестве рабочего узла
На этом этапе мы узнаем, как присоединить узел к существующему кластеру Docker Swarm в качестве рабочего узла (worker). Рабочий узел - это машина, которая запускает службы, развернутые в кластере. Он получает и выполняет задачи, назначенные узлами-менеджерами (manager).
Перед присоединением узла к кластеру вам необходимо иметь запущенный узел-менеджер Docker Swarm. В рамках этого практического занятия (лабораторной работы) мы предполагаем, что кластер уже инициализирован и у вас есть токен присоединения для рабочих узлов.
Сначала имитируем наличие токена присоединения. В реальной ситуации вы получите этот токен с узла-менеджера с помощью команды docker swarm join-token worker
. В рамках этого практического занятия мы будем использовать заглушку для токена.
Предположим, что команда присоединения, предоставленная менеджером, выглядит примерно так:
docker swarm join --token SWMTKN-1-abcdefghijklmnopqrstuvwxyz-1234567890abcdef --advertise-addr <THIS_NODE_IP> <MANAGER_IP>:2377
В этой команде:
docker swarm join
: Это команда для присоединения узла к кластеру.
--token SWMTKN-1-abcdefghijklmnopqrstuvwxyz-1234567890abcdef
: Это уникальный токен, который аутентифицирует узел в кластере.
--advertise-addr <THIS_NODE_IP>
: Этот флаг указывает IP-адрес, который присоединяющийся узел будет использовать для объявления себя другим узлам в кластере. Замените <THIS_NODE_IP>
на фактический IP-адрес узла, который вы присоединяете.
<MANAGER_IP>:2377
: Это адрес узла-менеджера в кластере. Присоединяющийся узел подключается к этому адресу, чтобы присоединиться к кластеру. Замените <MANAGER_IP>
на фактический IP-адрес узла-менеджера. Порт по умолчанию для кластера - 2377.
Поскольку мы работаем в среде одной виртуальной машины (VM) в рамках этого практического занятия, мы имитируем процесс присоединения с помощью упрощенной команды. Мы будем использовать 127.0.0.1
в качестве IP-адреса менеджера и заглушку для токена.
Выполните следующую команду, чтобы имитировать присоединение к кластеру в качестве рабочего узла. Обратите внимание, что в этой настройке с одной виртуальной машиной эта команда не присоединит узел к реальному кластеру, но продемонстрирует структуру команды.
docker swarm join --token SWMTKN-1-abcdefghijklmnopqrstuvwxyz-1234567890abcdef 127.0.0.1:2377
Вы должны увидеть вывод, указывающий, что узел пытается присоединиться к кластеру. В реальной ситуации, если присоединение прошло успешно, вы увидите сообщение вроде "Этот узел присоединился к кластеру в качестве рабочего узла".