首页/云/Kubernetes 速查/探针参数速查
调度与资源52 条

探针参数速查

各参数决定探针节奏与灵敏度:最坏发现时间约等于 failureThreshold ×(periodSeconds + timeoutSeconds)。

Kubernetes 速查云更新于 2026-10-13

五个参数决定探针节奏

探针行为完全由几个时间与次数参数决定:多久开始第一次探测、每隔多久探一次、单次等多久算超时、连续失败几次触发动作、失败后连续成功几次算恢复。把它们组合起来,就能算出从故障发生到做出反应的最坏时间,这也是调参时最该先估算的量。

基本信息

适用平台Kubernetes 1.20+,三类探针共用同一组参数
最坏发现时间失败阈值乘以周期与超时之和
启动探针差异通过后不再执行
存活探针限制恢复所需成功次数只能为一
默认值风险超时默认一秒,对慢接口偏紧

典型使用场景

  • 接口响应较慢,需要调整超时避免误判失败
  • 需要缩短故障发现时间,让流量更快被摘除
  • 排查重启频率偏高:核对失败阈值与周期
  • 为启动慢的应用设置独立的启动阶段预算
  • 发布前核对探针参数,避免发布期频繁重建

参数速查

参数默认值含义
首次延迟0 秒容器启动后多久开始探测
探测周期10 秒两次探测之间的间隔
单次超时1 秒超过该时间算本次探测失败
成功阈值1 次失败后连续成功几次才算恢复
失败阈值3 次连续失败几次触发动作

计算示例

计算示例
最坏发现时间 ≈ 失败阈值 × (探测周期 + 单次超时)
例:3 × (10 + 2) = 36 秒后触发重启
例:摘流时间 = 3 × (5 + 1) = 18 秒,对延迟敏感的服务可缩短周期
参数示例:periodSeconds: 5  timeoutSeconds: 2  failureThreshold: 3

核对生效值

核对生效值
kubectl get pod web-x -o jsonpath='{.spec.containers[0].livenessProbe}'   # 存活探针
kubectl get pod web-x -o jsonpath='{.spec.containers[0].readinessProbe}'  # 就绪探针
kubectl describe pod web-x | sed -n '/Liveness/,+6p'                      # 可读形式
kubectl get pod web-x -o jsonpath='{.status.containerStatuses[0].restartCount}'
单次超时大于探测周期时,上一轮还没结束下一轮就开始了,时间线会变得难以解读。参数之间的相对关系比单个数值更重要。
成功阈值大于一时,从故障恢复到重新接收流量需要多次成功探测,摘流时间被拉长。对可用性敏感的接口应核算这段延迟。

易错点

  • 单次超时大于探测周期:探测轮次重叠,时间线混乱且难以判断真实失败次数
  • 只调失败次数不调周期:想加快发现速度却改错了参数,效果甚微
  • 成功阈值设置过大:恢复后长时间无法重新接收流量
  • 忽略默认超时偏紧:慢接口在正常状态下被记为失败,阈值很快耗尽

数据来源与参考

  • Kubernetes 官方文档 · 配置探针
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌