当我./bin/kcl-bootstrap -p app.properties -j /usr/bin/java -e
在终端运行 KCL 时,我做ps -ef | grep java
了并得到了它的 pid。我发出kill -s TERM $PID_ABOVE
. 我注意到节点 recordProcessor 设法像这样记录
2018-03-31T11:13:46.998 INFO recordProcessor - Shutdown requested
2018-03-31T11:13:48.024 INFO recordProcessor - Shutting down...
当我通过 docker run 命令运行等效命令时
,docker run -v /tmp:/tmp -v ~/.aws:/root/.aws -ti cde3946e2cf9
发出Ctrl-C
或终止 docker 并不会导致上面生成日志。例如,recordProcessor 没有收到有关关闭请求的通知。docker stop cde3946e2cf9
docker kill --signal=SIGTERM cde3946e2cf9
我们的 docker 部署在 Kubernetes 集群中,当我们重新部署 docker 时,我可以看到Process terminanted, will initiate shutdown.
主处理器正在记录它,但没有报告工作人员关闭请求。
我想在重新部署 docker 时捕获这些事件,以确保我们能够优雅地处理关闭。
任何人都知道如何确保在集群中重新部署 docker 时工作人员确实得到通知?
谢谢