美文网首页
2022-05-27 k8s部署springboot 不执行@P

2022-05-27 k8s部署springboot 不执行@P

作者: 江江江123 | 来源:发表于2022-05-27 18:40 被阅读0次

简单说下我出现的原因
首先 dockerfile

COPY start.sh start.sh
EXPOSE 9083

#CMD ["java", "-jar", "job-service-SNAPSHOT.jar"]
ENTRYPOINT ["sh", "start.sh"]

造成的主要原因就是 我用start.sh启动

#!/bin/bash
java $JAVA_OPTS -Dspring.profiles.active=$MY_PROFILES_ACTIVE_PATH -jar job-service-SNAPSHOT.jar

在这种情况无论我怎么添加优雅退出,都不会执行@PreDestroy

直到阅读一篇博客如何在kubernetes中优雅停机

kuectl exec -it pod -n namespace -- /bin/sh
ps -ef
result.png

顿时悟了,原来k8s优雅关闭了 sh,并没有关闭我的Jar,终于从自我怀疑中解脱了。
由于我的业务比较简单,所以没有文中的第二种解决方案
只用了简单的方案,修改start.sh

#!/bin/bash
exec java $JAVA_OPTS -Dspring.profiles.active=$MY_PROFILES_ACTIVE_PATH -jar job-service-SNAPSHOT.jar

问题解决!

相关文章

网友评论

      本文标题:2022-05-27 k8s部署springboot 不执行@P

      本文链接:https://www.haomeiwen.com/subject/yqhvprtx.html