Kubernetes readiness-probe返回false后触发什么操作?等待时长是多少?
Kubernetes
readinessProbe 常见问题解答 1. readinessProbe 返回false后会触发什么操作?
- 该Pod会立即被标记为
NotReady状态,Kubernetes会同步将其从关联的所有Service的后端端点列表中移除,后续新的用户流量不会再转发到这个Pod上,已经在处理中的存量请求不会被主动中断。
2. 检测超时/返回false后Kubernetes会重启对应Pod吗?
- 不会。就绪探针的设计目标是判断Pod是否具备对外提供服务的能力,而非判断Pod是否存活,只有
livenessProbe(存活探针)检测失败才会触发Pod的重启逻辑。如果就绪探针持续失败但存活探针正常,Pod会一直保持运行状态,仅被标记为未就绪、不承接流量。
3. 就绪检测的等待时长为多久?
就绪检测的各时间参数都是可以在Pod配置中自定义的,没有全局统一的固定值,默认配置参数如下:
initialDelaySeconds:容器启动后首次执行就绪检测的等待时间,默认值为0秒periodSeconds:两次检测之间的间隔时长,默认值为10秒timeoutSeconds:单次检测请求的超时时间,超过该时长直接判定为检测失败,默认值为1秒failureThreshold:连续多少次检测失败后才会将Pod标记为未就绪,默认值为3次
如果使用默认配置,容器启动后首次就绪检测就持续失败的场景下,最短会在0 + 3*1 = 3秒后被标记为NotReady;运行中的Pod突然出现就绪检测失败的场景下,会在连续3次检测失败后被标记为未就绪,默认间隔下总耗时为20秒左右。
内容的提问来源于stack exchange,提问作者J.J. Beam
相关产品推荐
相关产品推荐

