Pull to refresh

Comments 5

Кстати, мы нашли причину умирания консула и почти её победили.
Вся проблема была в wan-запросах про количество нод в других датацентрах ( /catalog/nodes?dc=otherdc ), это приводило к фризу обоих мастеров и принудительной перезагрузке.
Код сбора информации был переделан ( теперь мы забираем эти данные локально с нод ) и проблема зависания консулов стала чуть менее критичной.

Так что, кто будет строить большую федерацию — имейте это ввиду.
Если puppet — этот тот puppet agent, о котором я думаю, не проще ли через него пинать consul раз в n минут и перезапускать при отказе/зависании?
Меньше человеческих рук = меньше потенциальных проблем.
Сложнее. Потому, что паппет запускается со splay раз в 30 минут, а консул может зависнуть сразу и насовсем. Поэтому у нас в кроне раз в минуту запускается тестер, который умеет находить все консулы, проверять, что они не зависли и убивать их по -9, если да.
На мой взгляд, так можно убрать мастер-токен над Consul подальше от живых людей, с другой…
Пожалуй, вы правы, это ненужное усложнение — puppet тоже может зависнуть.
Он и убран. Консулы проверяются локально на каждом хосте в отдельности с r/o токеном по известным эндпойнтам. Если хоть один не ответил — срабатывает alert() который вызывает systemctl kill, который уже сам рестартует сервис и всех его дочек, включая befw. Как-то так.

А мастер-токен знаем только мы и никому его не даем.
Sign up to leave a comment.