You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes存活探针日志返回200但探测失败问题排查

可能的原因及排查方案

1. 存活探针超时配置缺失,默认阈值过短

你的存活探针未配置timeoutSeconds,Kubernetes HTTP探针默认超时时间为1秒,而就绪探针设置了5秒超时。即便应用最终能返回200(日志已记录成功请求),但只要处理时间超过1秒,Kubelet就会判定探针失败。

  • 解决:给livenessProbe添加timeoutSeconds: 5(与就绪探针保持一致),观察问题是否缓解。

2. Kubelet与Pod间存在偶发网络异常

虽然应用日志记录了探针请求成功,但节点上的Kubelet与Pod之间的网络可能存在偶发丢包或延迟,导致Kubelet无法在超时窗口内收到响应。

  • 排查:在Pod所在节点执行curl -v http://<PodIP>:8020/ht/ -H "Host: pdt-staging.nagyv.com",持续观测是否有请求超时;检查节点CNI插件状态、网络策略是否限制了Kubelet与Pod的通信。

3. Twisted服务器连接队列积压

当应用承载大量业务请求时,Twisted的连接处理队列可能被占满,Kubelet的探针请求被延迟处理——此时应用日志会记录成功响应,但Kubelet已因超时判定失败。

  • 排查:查看Twisted的连接数、队列相关日志;调整Twisted连接池配置,增加队列容量或优化请求处理逻辑。

4. 节点Kubelet资源不足

若Pod所在节点CPU、内存资源紧张,Kubelet进程可能因资源匮乏无法及时处理探针响应,导致误判超时。

  • 排查:执行kubectl top nodes查看节点资源使用率;检查Kubelet日志,确认是否存在资源不足相关报错。

5. Host头触发的内部路由延迟

探针请求携带了Host: pdt-staging.nagyv.com,而Kubelet直接访问Pod IP,应用内部可能针对该Host头做了额外路由逻辑(如关联Ingress域名配置),导致请求处理路径变长,偶尔超出探针超时阈值。

  • 排查:尝试移除探针中的Host头配置,直接访问应用本地监听路径,观察探针状态;检查应用中基于Host头的路由逻辑是否存在性能瓶颈。

内容的提问来源于stack exchange,提问作者Akasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:15:57