k8s pod 莫名奇妙异常

2022-06-28 13:28:40 +08:00
 Martin9

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

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

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

https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container
panzhc
2022-07-03 23:12:13 +08:00
1. 这种问题一般先看看网络连接情况,对比连接池配置;再抓个堆栈,看看线程情况。
2. 应用提供健康检查接口,配置到 Deployment 上,健康检查接口如果走数据库连接(最简单的方式,不会带来很大压力),可以在数据库连接出问题时及时重启 Pod 。
Martin9
2022-07-04 13:20:27 +08:00
不知道为什么不能 append 了,问题找到了:
是因为并发提高导致 JDBC 连接数不够,服务无响应了;
解决方式是修改了连接池的配置,提高了连接数。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX