По порядку Middle Pod и Deployment обновлено
Остановка пода
Вопрос
Расставь шаги корректной остановки пода при kubectl delete pod или rolling update.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Приложение дожидается текущих запросов и завершается
- 2Под убирается из EndpointSlice, параллельно kubelet запускает
preStop-хук - 3После
preStopконтейнерам отправляется SIGTERM - 4Если контейнер не вышел за
terminationGracePeriodSeconds, kubelet отправляет SIGKILL - 5Под получает
deletionTimestampи статус Terminating
Показать ответ и разбор
Коротко
Удаление пода начинается с пометки и вывода из балансировки, затем хук preStop, затем SIGTERM. Таймаут terminationGracePeriodSeconds отсчитывается с начала остановки и включает время preStop.
Правильный порядок
- 1Под получает
deletionTimestampи статус Terminating - 2Под убирается из EndpointSlice, параллельно kubelet запускает
preStop-хук - 3После
preStopконтейнерам отправляется SIGTERM - 4Приложение дожидается текущих запросов и завершается
- 5Если контейнер не вышел за
terminationGracePeriodSeconds, kubelet отправляет SIGKILL
Разбор
Удаление пода начинается с пометки и вывода из балансировки, затем хук preStop, затем SIGTERM. Таймаут terminationGracePeriodSeconds отсчитывается с начала остановки и включает время preStop. SIGKILL это страховка, хорошо написанное приложение выходит раньше.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.