Присоединение рабочего узла к кластеру
На предыдущем этапе мы инициализировали кластер Docker Swarm, и в выводе была предоставлена команда для присоединения рабочего узла. В реальной ситуации вы бы выполнили эту команду на отдельной машине, которую хотите добавить в кластер как рабочий узел. Однако, так как мы используем одну виртуальную машину LabEx, мы будем симулировать присоединение рабочего узла, выполнив команду присоединения на той же машине.
Сначала получим команду присоединения для рабочего узла. Вы можете получить токен присоединения и команду, запустив docker swarm join-token worker
на управляющем узле (которым является наша текущая виртуальная машина).
docker swarm join-token worker
Вывод будет похож на следующий:
To add a worker to this swarm, run the following command on the worker node:
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Скопируйте полную команду docker swarm join --token ...
из вывода. Эта команда содержит уникальный токен, а также IP - адрес и порт управляющего узла кластера.
Теперь выполните скопированную команду, чтобы присоединить текущий узел к кластеру как рабочий узел.
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Замените токен и IP - адрес значениями, полученными из команды docker swarm join-token worker
.
Вы должны увидеть вывод, указывающий, что узел присоединился к кластеру как рабочий узел:
This node joined a swarm as a worker.
Чтобы убедиться, что узел присоединился к кластеру, вы можете вывести список узлов в кластере с точки зрения управляющего узла. Поскольку наша единственная виртуальная машина выступает как управляющий и рабочий узел одновременно, мы можем использовать команду docker node ls
.
docker node ls
Вывод покажет узлы в кластере. Вы должны увидеть две записи для одного и того же идентификатора узла, одна с статусом "Ready" и ролью "Manager", а другая с статусом "Ready" и ролью "Worker".
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
xxxxxxxxxxxx * labex-vm Ready Active Leader 20.10.21
xxxxxxxxxxxx labex-vm Ready Active 20.10.21
Это подтверждает, что узел успешно присоединился к кластеру как рабочий узел.