У меня есть подпружиненное приложение с Java8, и 5 его копий развернуты на kubernetes.В приложении запущено несколько потоков.Итак, перед закрытием приложения я хочу отправить данные, присутствующие в потоках, в тему kafka, чтобы другое приложение могло их обработать.
Для этого я определил вызов pretop httpget в развертывании yaml вместе сTerminationGracePeriodSeconds 5 мин.
containers:
lifecycle:
preStop:
httpGet:
path: /shutDown
port: 8080
readinessProbe:
exec:
command:
- ls
- '/tmp'
initialDelaySeconds: 5
periodSeconds: 15
livenessProbe:
exec:
command:
- ls
- '/tmp'
initialDelaySeconds: 5
periodSeconds: 15
terminationGracePeriodSeconds: 300
Однако иногда вызывается предварительная остановка, и все данные обрабатываются правильно.и модуль отключается изящно.
, а в некоторых случаях модуль немедленно удаляется.