2015-12-10 2 views
0

Я использую команду preStop для изящного отключения моего серверного приложения при удалении модуля. Каково состояние контейнера/контейнера при выполнении команды preStop? Например, останавливает ли сетевые интерфейсы перед запуском команды preStop?Состояние Kubernetes pod при запуске команды preStop

lifecycle: 
    preStop: 
     exec:     
     command: ["kill", "-SIGTERM", "`pidof java`"] 

ответ

2

состояние стручка не изменяется при preStop крючки выполняются - крючок preStop запускается в контейнере, а затем контейнер останавливается.

1

Когда капсула должна быть прекращена, Kubernetes выполняет следующие действия:

  1. коммутаторе стручка к Terminating состояния
  2. Вызов preStop крюк (если таковые имеются)
  3. После того, как preStop крюка концов, его отправляет SIGTERM в основной процесс в контейнере (PID 1)
  4. Если контейнер не заканчивается с льготным периодом окончания (по умолчанию 30 секунд - начинается отсчет в точке № 1), Кубернетес будет послать SIGKILL к основному процессу контейнера насильственно остановить его

Подробнее здесь: Graceful shutdown of Kubernetes Pods

Смежные вопросы