По сути, я пытаюсь поэкспериментировать с жизненным циклом модуля и проверить, можем ли мы выполнить некоторую очистку / резервное копирование, например, копирование журналов до завершения работы модуля.
Что мне нужно: Копировать журналы / heapdumps из контейнерана hostPath / S3 перед завершением
Что я пробовал:
Я использовал ловушку preStop с командой bash для вывода сообщения (просто чтобы посмотреть, работает ли оно !!).Использовал terminationGracePeriodSeconds с задержкой на preStop и переключает их, чтобы увидеть, работает ли процесс.Ex.оставьте terminationGracePeriodSeconds: 30 секунд (по умолчанию) и установите команду preStop в спящий режим на 50 секунд, и сообщение не должно генерироваться, так как контейнер будет завершен к тому времени.Это работает, как и ожидалось.
Мои вопросы:
- Какие процессы разрешены (рекомендованы) для ловушки preStop?Копирование журналов / heapdumps от 15 гигов и более займет много времени.Затем это время будет использовано для определения terminationGracePeriodSeconds
- , что происходит, когда preStop занимает больше времени, чем установленный gracePeriod?(в случае, если журналы огромны, скажем, 10 гигов)
- что произойдет, если у меня нет никаких хуков, но я все еще установил terminationGracePeriodSeconds?контейнер будет оставаться до этого льготного времени?
Я нашел эту статью, которая тесно связана с этим, но не смогла выполнить https://github.com/kubernetes/kubernetes/issues/24695
Все отзывы приветствуются !!