当前位置: 首页 > news >正文

k8s 部署服务常见错误原因

健康检查报错

Client.Timeout exceeded while awaiting headers

我们可以通过 kubectl describe pod <pod-name> 命令来查看 Pod 详情(包括 Probe 配置、事件、容器状态、重启次数等关键信息)。

如果采用的健康检查方式是 http,事件(event)部分可能会记录以下错误信息:

Liveness probe failed: Get "http://:...": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

该错误表明 k8s 在发起健康检查时,服务未在超时时间内返回响应。

可能原因:

  • 资源不够用,服务器压力大,导致响应变慢
  • 网络波动

问题排查思路:

  • 手动调用健康检查接口,并观察响应时间是否经常超过当前的 timeoutSeconds。
    • 在 Pod 内: kubectl exec -it <pod-name> -- curl -v http://localhost:<health-check-port><health-check-path>
    • 在节点上 (获取 Pod IP): curl -v http://<pod-ip>:<health-check-port><health-check-path>
  • 查看应用日志: kubectl logs [–previous] - 查找应用启动、运行期间,特别是健康检查端点被访问时的错误、警告或延迟信息。

解决思路:

  • 调整 Probe 参数 (临时缓解/验证): 这是最快见效的方法,尤其是增大 timeoutSeconds (如设为 5, 10)
  • 检查资源: 使用 kubectl top, kubectl describe node 检查 Pod 和节点的 CPU/内存使用情况。调整资源 requests/limits。
  • 监控应用性能: 结合 APM 工具或应用内置指标,分析健康检查端点慢的根本原因。优化应用性能或简化健康检查逻辑。

Liveness/Readiness prob failed:HTTP probe failed with statuscode:503

Spring Boot 应用的健康检查接口一般为 /actuator/health。

其健康检查的流程如下:
在这里插入图片描述
返回的健康状态类型:

  • UP:所有依赖正常 (HTTP 200)
  • DOWN:关键依赖故障 (HTTP 503)
  • OUT_OF_SERVICE:维护模式 (HTTP 503)
  • UNKNOWN:未知状态

如果出现 503,则说明其依赖的服务出现了故障,或自身服务器过载或处于主动维护状态,无法处理请求。

connection reset by peer

比如:

readiness probe failed:read tcp 169.254.1.1:38579->21.79.199.85:9180:read: connection reset by peer

这个错误表明 Kubernetes 探针在建立 TCP 连接后,被对方强制中断。

在这里插入图片描述
关键点:

  • RST (Reset) 包:目标服务器主动终止了连接
  • 169.254.1.1:Kubernetes 节点内部使用的链路本地地址
  • 21.79.199.85:9180:目标服务地址(可能是您集群内的服务或外部服务)

可能原因是:服务突然崩溃

connection refused

比如:

readiness probe failed:read tcp 169.254.1.1:38579->21.79.199.85:9180:read: connection refused

该错误说明客户端在尝试与服务端建立 tcp 连接时就已经失败了。

该问题一般是出现在容器内服务的启动阶段。此时出现该错误很正常,因为一般会将 readiness probe 的配置比较激进,容易在服务启动阶段就检测不通过。但由于不影响服务启动后的运行,因此不必过多关注。

更多 rediness probe 的介绍可以见《livenessProbe 和 readinessProbe 最佳实践》。

与 connect reset by peer 的区别:

特征connection refusedconnection reset by peer
发生阶段三次握手前连接建立后
TCP 状态SYN_SENT → 无响应ESTABLISHED → 异常终止
根本原因服务端无监听连接被强制关闭
错误类型主动拒绝连接异常终止连接
常见场景服务未启动/端口错误服务崩溃
排查重点服务启动是否正常服务稳定性

相关文章:

  • 【基于阿里云上Ubantu(x86-64)系统部署配置K8s】
  • Springboot+idea热更新
  • 句法分析 自然语言处理
  • springboot + nacos + k8s 优雅停机
  • redisson锁的可重入、可重试、超时续约原理详解
  • 第七章——8天Python从入门到精通【itheima】-81~82(函数的多返回值+函数多种传参方式)
  • 深入解析MySQL Join算法原理与性能优化实战指南
  • 附加模块--Qt SQL模块功能及架构解析
  • 在GIS 工作流中实现数据处理(2)
  • 小米15系列摄影进阶:100+专业级相机预设包实测与调参指南
  • Cockpit:一个开源的 Linux 系统管理工具
  • Postman核心功能解析
  • 【时时三省】(C语言基础)寄存器变量( register变量)和全局变量的存储类别
  • 顶级视频生成大模型分析:Seedance 1.0 Pro (字节跳动) - 新晋榜首
  • S2B2B农产品供应链交易多平台开发有哪些发展前景?如何维护?
  • 无线通信网络拓扑推理采样率实验(数据生成)
  • 数组——数组的遍历
  • Hive的索引使用如何优化?
  • MATLAB实现数字下变频低通滤波法
  • OpenCV CUDA模块图像变形------ 构建仿射变换的映射表函数buildWarpAffineMaps()
  • 长沙培训网站建设/有人看片吗免费的
  • 网站建设推广公司排名/关键词推广seo怎么优化
  • 网站前端做出来后台怎么做/下载百度到桌面上
  • 公司网站现状/北京百度关键词排名
  • 网站店招用什么软件做的/网络自动推广软件
  • 用dw自己做网站/seo研究中心qq群