Можем ли мы обновить лидера k8s сразу же, когда модуль лидера мертв? - PullRequest
0 голосов
/ 23 октября 2018

Я следовал этой статье, чтобы использовать выборы лидера k8s для HA моего приложения.Но я встретил одну проблему.Может ли кто-нибудь иметь такой же опыт?Например, у меня есть 4 копии под.Один из стручков уже был выбран в качестве лидера.Когда этот модуль-лидер вышел из строя (например, убить модуль вручную), планировщику понадобится 30–40 секунд, чтобы запустить новый модуль, но старый мертвый лидер будет продолжать в течение 10 или более секунд.Есть ли способ обновить лидера сразу же после смерти модуля?Или есть какие-то настройки, которые я пропустил?

В статье, на которую я ссылаюсь, упоминается следующее содержание, в чем и заключается проблема, с которой я столкнулся:

Поскольку стручки в Kubernetes имеют благодатьпериод до завершения, это может занять 30-40 секунд.

Вот демонстрационный файл yaml, который я использую.https://gist.githubusercontent.com/ginkgoch/563d8d8caf9e4dd99a0c8de323e9211c/raw/f1abb94647c60874e4625b1b94f8fa125bd1a5ea/k8s-leader-election.yaml

1 Ответ

0 голосов
/ 23 октября 2018

В статье объясняется, что это связано с льготным периодом.Когда выполняется уничтожение, модуль-лидер еще не мертв, он просто выключается.

Вы можете сократить или пропустить процесс выключения, который с принудительным удалением или изменением благодатипериод в спецификации.Тогда существует риск, что модуль может отключиться без полной очистки - вы будете знать, относится ли это к вашим модулям.

Теоретически должна быть возможность прослушать preStop hook и начать выборы лидера, как только стручок начнет заканчиваться.Но тогда вы рискуете иметь двух лидеров, пока старый лидер заканчивает работу (k8s должен прекратить отправку трафика старому лидеру в этот момент, но он все еще может делать что-то важное, в зависимости от вашего дизайна).Реализация k8s.gcr.io/leader-elector, похоже, требует, чтобы старый лидер полностью остановился.Возможно, есть другие реализации, которые могут поддержать немедленные выборы, но я не нашел ни одного с быстрым поиском, и я думаю, что ожидание прекращения действия старого лидера не является чем-то необычным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...