preStop
Команда убьет контейнер. По сути, это убьет процесс вашего приложения. Если вы установили только preStop, он, к сожалению, не работает. Вот пример POD, я играл с миникубе, чтобы проверить.
apiVersion: v1
kind: Pod
metadata:
name: lifecycle-demo
spec:
containers:
- name: lifecycle-demo-container
image: nginx
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
preStop:
exec:
command: ["/bin/sh", "-c", "/bin/sleep 120"]
terminationGracePeriodSeconds: 6000
Я говорю держать убийство в течение 120 секунд, прежде чем убить его. Если этого не произойдет, он будет насильственно убит через 6000 секунд.
Для вашего случая достаточно terminationGracePeriodSeconds
.