I need to let the container to run 5 minutes after the kubectl
\' termination. It needs to do some work before it\'s destroyed. It seems that kubernetes contain
You may be able to set magic sleep in 'preStop' hook. This hook will be extecuted prior to kubectl
sending SIGTERM
to your container.
http://kubernetes.io/docs/user-guide/production-pods/#lifecycle-hooks-and-termination-notice
something like:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
lifecycle:
preStop:
exec:
command: ["/bin/sleep","300"]
https://pracucci.com/graceful-shutdown-of-kubernetes-pods.html may this can help you.
There’re some circumstances where a SIGTERM violently kill the application, vanishing all your efforts to gracefully shutdown it. Nginx, for example, quickly exit on SIGTERM.