Вызов preStop
ловушки перед завершением работы контейнера должен помочь вам выполнить льготное завершение работы. Ловушка preStop
настраивается на уровне контейнера и позволяет запускать пользовательскую команду до отправки SIGTERM
(обратите внимание, что отсчет отсчета льготного периода завершения фактически начинается перед вызовом ловушки preStop
, а не сразу после SIGTERM
будет отправлен сигнал).
Эта ловушка вызывается непосредственно перед завершением работы контейнера из-за запроса API или события управления, такого как сбой проверки работоспособности, приоритетное прерывание, конфликт ресурсов и другие. Вызов ловушки preStop завершается ошибкой, если контейнер уже находится в состоянии завершения или завершения. Это блокирующий, то есть синхронный, поэтому он должен завершиться перед отправкой вызова на удаление контейнера. В обработчик не передаются никакие параметры.
Установка также подходящая terminationGracePeriod
также имеет значение, поскольку Kubernetes управляет блоками контейнера, пока не завершится обработчик preStop, если только не истечет льготный период Pod. Это означает, что обратный отсчет периода отсрочки завершения начинается перед вызовом ловушки preStop
, а не после отправки сигнала SIGTERM
.
Проверка хуков жизненного цикла и завершения пода документы для получения дополнительной информации.