Я использую следующую среду: Debian 9 с Docker CE:
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
# docker --version
Docker version 17.09.0-ce, build afdb6d4
#
docker node ls
:
# docker node ls | grep elk12
2keku0oj8zhsy6uyvyl4gd4d7 elk12 Down Active Reachable
tbwbpkl5qys4wwxbisga3y2oe * elk12 Ready Active Reachable
# docker node inspect elk12
[]
Status: Error response from daemon: node elk12 is ambiguous (2 matches found), Code: 1
#
Я не могу использовать docker node rm elk12
, поскольку я согласно выше результат у меня 2.
Как продолжить удаление "нижнего" узла из списка, желательно, не затрагивая рабочий кластер). Я даже не верю, что у меня вообще есть этот узел (возможно, некоторые остатки от давних времен) ...
Пожалуйста, сообщите.
ОБНОВЛЕНИЕ:
# docker node rm 2keku0oj8zhsy6uyvyl4gd4d7
Error response from daemon: rpc error: code = FailedPrecondition desc = node 2keku0oj8zhsy6uyvyl4gd4d7 is a cluster manager and is a member of the raft cluster. It must be demoted to worker before removal
# docker node demote 2keku0oj8zhsy6uyvyl4gd4d7
Manager 2keku0oj8zhsy6uyvyl4gd4d7 demoted in the swarm.
# docker node rm 2keku0oj8zhsy6uyvyl4gd4d7
2keku0oj8zhsy6uyvyl4gd4d7
# docker node ls | grep elk12
tbwbpkl5qys4wwxbisga3y2oe elk12 Ready Active Reachable
#
Проблема, с которой вы сталкиваетесь с дублированным узлом с тем же именем, но другим идентификатором, объясняется здесь , вероятно, узел, который покинул рой и присоединился к нему, менеджер restart ...
Если вы хотите удалить дублированный узел и избавиться от этого неоднозначного предупреждения, вы можете использовать хэш-идентификатор, а не имя:
docker node rm 2keku0oj8zhsy6uyvyl4gd4d7
Если вы хотите удалить другой узел с именем elk12, кажется что узел является менеджером, поэтому вам следует действовать с осторожностью, поскольку вы можете столкнуться с проблемами, если не будет достаточно менеджеров для достижения консенсуса . Если вы чувствуете, что удалить этот управляющий узел безопасно, потому что у вас достаточно узлов, работающих в качестве менеджеров в вашем рое, вы должны выполнить следующее: