Comments 5
Кстати, мы нашли причину умирания консула и почти её победили.
Вся проблема была в wan-запросах про количество нод в других датацентрах ( /catalog/nodes?dc=otherdc ), это приводило к фризу обоих мастеров и принудительной перезагрузке.
Код сбора информации был переделан ( теперь мы забираем эти данные локально с нод ) и проблема зависания консулов стала чуть менее критичной.
Так что, кто будет строить большую федерацию — имейте это ввиду.
Вся проблема была в wan-запросах про количество нод в других датацентрах ( /catalog/nodes?dc=otherdc ), это приводило к фризу обоих мастеров и принудительной перезагрузке.
Код сбора информации был переделан ( теперь мы забираем эти данные локально с нод ) и проблема зависания консулов стала чуть менее критичной.
Так что, кто будет строить большую федерацию — имейте это ввиду.
+1
Если puppet — этот тот puppet agent, о котором я думаю, не проще ли через него пинать consul раз в n минут и перезапускать при отказе/зависании?
Меньше человеческих рук = меньше потенциальных проблем.
Меньше человеческих рук = меньше потенциальных проблем.
0
Сложнее. Потому, что паппет запускается со splay раз в 30 минут, а консул может зависнуть сразу и насовсем. Поэтому у нас в кроне раз в минуту запускается тестер, который умеет находить все консулы, проверять, что они не зависли и убивать их по -9, если да.
0
На мой взгляд, так можно убрать мастер-токен над Consul подальше от живых людей, с другой…
Пожалуй, вы правы, это ненужное усложнение — puppet тоже может зависнуть.
Пожалуй, вы правы, это ненужное усложнение — puppet тоже может зависнуть.
0
Он и убран. Консулы проверяются локально на каждом хосте в отдельности с r/o токеном по известным эндпойнтам. Если хоть один не ответил — срабатывает alert() который вызывает systemctl kill, который уже сам рестартует сервис и всех его дочек, включая befw. Как-то так.
А мастер-токен знаем только мы и никому его не даем.
А мастер-токен знаем только мы и никому его не даем.
0
Sign up to leave a comment.
Consul + iptables = :3