我可以在硬退出前用预停止钩子优雅地终止进程吗?



我的应用程序在收到SIGTERM时优雅地停止。

但是我尝试的是在Kubernetes驱逐我的pod之前自动优雅地终止一个进程。

我想将prestop钩子设置为"kill 1";在pod被驱逐之前优雅地停止。

我不期望prestop钩子在所有情况下都能工作,但我认为,这样我就有了一些保证。

我想知道我的想法是否可行。

是的,preStop是可能的-并且涵盖了您的用例。下面是k8s文档示例:

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","nginx -s quit; while killall -0 nginx; do sleep 1; done"]

最新更新