Принудительное удаление недоступного узла из кластера
На этом этапе вы научитесь принудительно удалять из кластера узел, который недоступен или не отвечает. Это необходимо, когда узел отказал и не может быть корректно удален.
Сначала выведем список узлов в кластере еще раз, чтобы получить идентификатор узла.
docker node ls
Определите ID
узла, который вы хотите принудительно удалить. В нашей текущей настройке это единственный узел, то есть управляющий узел (manager).
Для принудительного удаления узла используйте команду docker node rm
с флагом --force
, за которым следует идентификатор узла. Замените <node_id>
на фактический идентификатор.
docker node rm --force <node_id>
Вы должны увидеть вывод, указывающий, что узел был удален.
Node <node_id> removed from swarm
Теперь выведем список узлов в кластере еще раз, чтобы подтвердить, что узел был удален.
docker node ls
Вы увидите сообщение об ошибке, потому что вы удалили единственный узел (управляющий узел) из кластера, и текущий демон Docker больше не является частью кластера.
Error: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to a swarm.
Это подтверждает, что узел был успешно удален из кластера, даже если это был управляющий узел. Принудительное удаление управляющего узла следует осуществлять с осторожностью, так как это может повлиять на доступность вашего кластера, если нет других управляющих узлов.