gpt4 book ai didi

docker - AWS KCL 在 docker 中捕获关闭信号

转载 作者:行者123 更新时间:2023-12-02 12:21:16 26 4
gpt4 key购买 nike

当我以 ./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-Cdocker stop cde3946e2cf9docker kill --signal=SIGTERM cde3946e2cf9终止 docker 并没有导致上面生成日志。例如,recordProcessor 没有收到有关关闭请求的通知。

我们的 docker 部署在 Kubernetes 集群中,当我们重新部署 docker 时,我可以看到 Process terminanted, will initiate shutdown.主处理器正在记录,但没有报告工作人员关闭请求。

我想在重新部署 docker 时捕获这些事件,以确保我们能够优雅地处理关闭。

任何人都知道如何确保在集群中重新部署 docker 时工作人员确实得到通知?

谢谢

最佳答案

对于面临类似问题的任何人,以下是我解决的步骤:

在 kubernetes 模板中添加 preStop 钩子(Hook)以执行 shell 命令
命令是kill -s TERM $(ps -ef | grep "MultiLangDaemon" | grep -v \"grep\" | awk '{print $1}')

关于docker - AWS KCL 在 docker 中捕获关闭信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49583067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com