zhoudaiyu

如何优雅地判断部署在 k8s 集群中的 Tomcat 正常启动?

  •  
  •   zhoudaiyu ·
    PRO
    · Jul 20, 2020 · 3034 views
    This topic created in 2143 days ago, the information mentioned may be changed or developed.
    用 readinessProbe 去探活 tomcat 端口不是很靠谱,有时候应用启动异常了,端口一样能启动起来;而且现在应用没有暴露出健康检查的接口。现在的想法是用 readinessProbe 去 tail catalina.log ,检查日志里有特定没有异常,如果有,就证明 Tomcat 启动异常。有没有更优雅、靠谱的判断 tomcat 是否正常启动的方法呢?
    11 replies    2020-07-28 15:45:04 +08:00
    ypcs03
        1
    ypcs03  
       Jul 20, 2020
    exec 一点儿都不优雅,优雅一点儿就是在你的应用里面加 healthcheck 吧
    julyclyde
        2
    julyclyde  
       Jul 20, 2020
    “有时候应用启动异常了,端口一样能启动起来”那是应用程序自己的问题…
    lhx2008
        3
    lhx2008  
       Jul 20, 2020 via Android
    应用没有就加一个。。
    limuyan44
        4
    limuyan44  
       Jul 20, 2020
    有没有想过你应用程序报错关我 tomcat 什么事。
    zhoudaiyu
        5
    zhoudaiyu  
    OP
    PRO
       Jul 20, 2020
    @julyclyde #2
    @limuyan44 #4 是应用的问题,那这时候就应该拦截下来,不让他发布才对啊

    @lhx2008 #3
    @ypcs03 #1 设计到很多很多工程,改动起来比较麻烦
    rrfeng
        6
    rrfeng  
       Jul 20, 2020
    你写个 http probe 探测一个已知的无关紧要的 get 接口判断呗,不一定非得专门的 healthcheck
    lazyfighter
        7
    lazyfighter  
       Jul 20, 2020
    应用加 healthCheck
    julyclyde
        8
    julyclyde  
       Jul 20, 2020
    你这是运行时错误,发布的时候咋拦?
    szkoda
        9
    szkoda  
       Jul 21, 2020
    1. 你这是程序运行报错,就算发布拦截了,运行一段时间又挂了呢,不还得有 healthcheck,发布系统不应该关心程序后续运行逻辑,java 还好,你跑一个 python 应用试试,全公司的业务都在发布,你不得定个应用接入标准?
    2.最优雅的方式就是应用改代码,增加 hc 探测,这是 k8s 的原则,也只有应用开发人员知道什么才叫"真的运行正常",
    3.不优雅的方式也有,你弄个 sidecar 自己探测日志,探测一个无关紧要的接口( http ),或者 cli 访问都可以,grpc 的服务也是这么搞的,不过这些不满足你要求的"优雅",把这两个字去掉,方法就多了,,(狗头
    thinkmore
        10
    thinkmore  
       Jul 23, 2020
    我们的 springboot 应用,一般 healthCheck 会访问 acutor 的 health 接口。

    非 java 应用(非常简单)的就默认为不出啥问题
    mogging
        11
    mogging  
       Jul 28, 2020
    你需要一个探针页面
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1712 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 16:28 · PVG 00:28 · LAX 09:28 · JFK 12:28
    ♥ Do have faith in what you're doing.