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

OpenShift Online Pro就绪性健康检查连接失败问题咨询

排查OpenShift Online Pro就绪性探针失败问题

我之前在OpenShift Online Pro上也碰到过几乎一模一样的就绪性探针问题,给你梳理几个大概率能解决问题的排查方向:

  • 容器内部网络可达性验证
    本地能访问目标URL不代表容器内部可以正常访问。很多时候应用会绑定到127.0.0.1,导致集群内部的探针请求无法穿透。你可以通过以下命令进入容器内部测试:

    oc rsh dc/backend curl http://localhost:8080/api/ready
    

    如果这个命令返回失败,说明应用监听地址有问题,需要修改应用配置,让它绑定到0.0.0.0,这样容器外部(包括探针)才能正常访问。

  • 核对探针配置的准确性
    导出DC配置后,仔细检查spec.template.spec.containers[].readinessProbe字段:

    • 确认httpGet.path和你本地测试的路径完全一致(注意大小写、斜杠等细节,比如是不是写成了/api/Ready而不是/api/ready)
    • 确认httpGet.port的数值和应用实际监听的端口匹配,别把8080写成8081或者其他端口
  • 调整探针的时间参数
    虽然你设置了15秒的启动延迟,但有些复杂应用可能需要更长时间才能完成初始化并响应就绪接口。可以尝试:

    • 把initialDelaySeconds调大到30或60秒
    • 把timeoutSeconds从1秒增加到3秒,给应用足够的响应时间
      修改后重新部署DC,观察探针状态是否恢复正常。
  • 检查网络策略限制
    如果你的项目配置了NetworkPolicy,可能会阻止OpenShift的探针服务账号访问你的backend服务。可以先临时删除现有NetworkPolicy测试:

    oc delete networkpolicy <your-policy-name>
    

    如果探针恢复正常,说明需要调整NetworkPolicy规则,允许集群内部的探针流量(比如允许来自项目默认服务账号的请求)。

  • 查看应用日志排查接口逻辑
    有时候本地环境和容器环境存在差异,比如容器缺少某些依赖或配置,导致就绪接口看起来返回200,但实际内部状态未就绪。可以通过以下命令实时查看应用日志:

    oc logs dc/backend --follow
    

    观察探针请求过来时,应用有没有抛出异常或错误日志,这可能会给你关键线索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:47:49