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