k8s pod 莫名奇妙异常 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Martin9
V2EX    Kubernetes

k8s pod 莫名奇妙异常

  •  
  •   Martin9 2022-06-28 13:28:40 +08:00 2817 次点击
    这是一个创建于 1200 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的是 Azure 的 k8s ,生产环境默认 3 个 pod ,但偶尔会发生某个 pod 突然坏了。
    请求到正常的 pod 就没事,如果请求到坏的 pod 就会报超时,感觉是连接数据库出问题了,但进入到 pod 手动连数据库也正常。
    查看出问题的 pod 的 log ,也没什么记录。
    重启 pod 之后又正常了,可能是啥情况?

    15 条回复    2022-07-04 13:20:27 +08:00
    hahastudio
        1
    hahastudio  
       2022-06-28 13:33:21 +08:00
    那个坏了的 pod 里,进程里用的 sql connection 断开了没有重连?
    手工连数据库应该是新开了一个 connection 吧
    hetal
        2
    hetal  
       2022-06-28 13:50:28 +08:00
    不是 pod 异常,而是 pod 里的服务异常...
    Martin9
        3
    Martin9  
    OP
       2022-06-28 13:51:45 +08:00
    @hetal #2 对,但是异常的服务请求再来的时候也没有 error log
    Martin9
        4
    Martin9  
    OP
       2022-06-28 13:54:59 +08:00
    @hahastudio #1 用的 springboot 自带的连接池,不知道是不是连接池的问题。
    novolunt
        5
    novolunt  
       2022-06-28 14:15:55 +08:00
    debug 开起来看看,有没有监控 cpu 和内存,是不是超出限制。
    dayeye2006199
        6
    dayeye2006199  
       2022-06-28 14:17:09 +08:00
    建议先配置一下 readiness probe ,先保证如果一个 pod 响应异常,至少应该不下发流量
    nicholasxuu
        7
    nicholasxuu  
       2022-06-28 14:32:20 +08:00
    pod 加 health check 了吗?
    konakona
        8
    konakona  
       2022-06-28 15:14:07 +08:00
    考虑到实效性,没能第一时间看到 Resource 的 Event ,那么就建议将主进程和关联服务的日志都 stdout ,然后由 logstage 收集。

    方便你追溯问题。如果不是 restart:always ,那么异常 POD 就会保持状态,可以方便排查。
    cheng6563
        9
    cheng6563  
       2022-06-28 15:28:54 +08:00
    Java 服务遇到莫名“卡死”时首先看看有无 OOM 异常。
    然后,加个 spring boot actuator 依赖,暴露个检查的接口 /actuator/health ,把这个接口配到 k8s 的 readiness probe 上去
    r4aAi04Uk2gYWU89
        10
    r4aAi04Uk2gYWU89  
       2022-06-28 17:51:09 +08:00
    ingress 和 service 的连通最好也测一下
    yyttrr
        11
    yyttrr  
       2022-06-28 18:13:06 +08:00
    1.加可读探针、存活探针避免请求到异常的 pod
    tanghanyu
        12
    tanghanyu  
       2022-06-29 09:11:20 +08:00
    LiveinessProbe 和 ReadinessProbe 都配置一下吧
    psydonki
        13
    psydonki  
       2022-06-29 11:05:34 +08:00 via Android
    @Martin9 感觉跟我现在遇到的问题很像…目前的想法是看能不能用 ephemeral container, 挂载到出问题的 pod 上, 再通过 netstat 看具体的连接状态。

    https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container
    panzhc
        14
    panzhc  
       2022-07-03 23:12:13 +08:00
    1. 这种问题一般先看看网络连接情况,对比连接池配置;再抓个堆栈,看看线程情况。
    2. 应用提供健康检查接口,配置到 Deployment 上,健康检查接口如果走数据库连接(最简单的方式,不会带来很大压力),可以在数据库连接出问题时及时重启 Pod 。
    Martin9
        15
    Martin9  
    OP
       2022-07-04 13:20:27 +08:00
    不知道为什么不能 append 了,问题找到了:
    是因为并发提高导致 JDBC 连接数不够,服务无响应了;
    解决方式是修改了连接池的配置,提高了连接数。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2933 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:49 PVG 20:49 LAX 05:49 JFK 08:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86