Consul - EnsureRegistration failed (node name is reserved by node)
Projev
Node neregistruje nove sluzby, zda se jako by byl read only
V logu vidim hlasky tohoto typu
agent.fsm: EnsureRegistration failed: error="failed inserting node: Error while renaming Node ID: "f8d2e4a9-c59e-ac74-444a-dbdc74c3c5e6": Node name n1.de1.easy2.cloud is reserved by node
c021f413-c73a-5127-927b-6592779d4da6 with name n1.de1.easy2.cloud (5.9.19.233)"
...
Popis
Je to chyba objevujici se snad ve vsech verzich consula, na internetu jsem nenasel konkretni priciny, ale v nasem pripade to asi vzniklo deregistraci a registraci nodu, kde nedoslo ke kompletni deregistraci, protoze nove id bylo to aktualni.
Reseni
Restart nodu nepomaha a pouhe odebrani nodu uz take nestaci (ani z rozbiteho, ani z leader nodu)
Nezapomen snapshot
Nez zacnu cokoli delat tak pro jistotu, udelam snapshot consula, sice v nem nemame nic co se nedoplni samo z nomada, ale opatrnost je zde urcite ku prospechu.
consul snapshot save safety-first.snap
Ale dobre funguje toto:
-
zjistim ktery node je leader
consul operator raft list-peers -
Je nutne stopnout consula na rozbitem node, v prikladu vyse je to n1.de1
systemctl stop consul -
Zazalohuji si pro jistotu data consula, ale je nepravdepodobne, ze je pouziju
cp -a /opt/consul /opt/BACKUP_consul -
Smazu puvodni data (opatrne)
rm -rf /opt/consul/* -
prihlasim se na leader node a provedu odebrani rozbiteho nodu
consul force-leave -prune n1.de1.easy2.cloud -
pockam az se vse dokonci a overim stav clusteru
consul members # nebo varianta ukazujici i ID a info o leaderovi consul operator raft list-peers - pokud je node odebrany a zbytek clusteru funguje, pristoupim k poslednimu kroku