美文网首页
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