Spring boot Kubernetes骆驼泉应用优雅关闭
我有一个SpringBootCamel应用程序,它在activeMq上处理消息。但是,每隔一段时间,ready probe就会失败并重新启动pod。现在这很好,但是我不断地将应用程序日志记录在机上消息中,由于就绪探测不断失败,它进入了重新启动周期 有没有可能让kubernets允许spring/camel应用程序正常关闭或使用队列中的任何消息?使用,您可以设置Spring boot Kubernetes骆驼泉应用优雅关闭,spring-boot,kubernetes,apache-camel,Spring Boot,Kubernetes,Apache Camel,我有一个SpringBootCamel应用程序,它在activeMq上处理消息。但是,每隔一段时间,ready probe就会失败并重新启动pod。现在这很好,但是我不断地将应用程序日志记录在机上消息中,由于就绪探测不断失败,它进入了重新启动周期 有没有可能让kubernets允许spring/camel应用程序正常关闭或使用队列中的任何消息?使用,您可以设置预停止,如下所示: apiVersion: v1 kind: Pod metadata: name: lifecycle-demo s
预停止
,如下所示:
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: ["/usr/sbin/nginx","-s","quit"]
在容器终止之前立即调用此钩子。它是阻塞的,这意味着它是同步的,因此它必须在发送删除容器的调用之前完成。未向处理程序传递任何参数
你可以跟着流程走
preStop
钩子在宽限期到期后仍在运行,则调用步骤2并延长一个小的(2秒)宽限期闻起来更像是准备就绪检查的问题,如果Camel仍在处理,为什么它会报告失败。此外,您可能还需要调整探测器,使其具有更高的超时,或者使其不那么敏感。准备就绪探测器使吊舱停止工作。