【问题标题】:OpenShift Service Proxy timeoutOpenShift 服务代理超时
【发布时间】:2018-05-28 12:15:24
【问题描述】:

我在 OpenShift Container Platform v3.6 上部署了一个应用程序。它由多个相互连接的服务组成。

前端服务调用后端服务的耗时函数(通过REST调用),但在 30 秒 后,它会收到 “504 网关超时” 消息。 前端nginx 上运行,但我已经为它配置了长代理发送/读取超时,所以 504 消息并非来自它。我认为它来自 OpenShift Platform 的 Service Proxy 组件,但我不知道在哪里以及如何配置一种 service proxy timeout。我知道外部路由存在 HAProxy 超时,但我的服务留在同一个集群应用程序中并通过 OpenShift Container Platform DNS 相互通信。

可能是服务代理超时问题?怎么配置?

谢谢!

【问题讨论】:

  • 您是否尝试过使用 curl 到 127.0.0.1 访问 pod 上的后端?至少,它可以规则放置您的应用程序。

标签: rest proxy timeout openshift haproxy


【解决方案1】:

您的路由超时是罪魁祸首。 haproxy 入口路由器正在终止请求。您可以按照以下文档配置超时:

https://docs.openshift.com/container-platform/3.5/install_config/configuring_routing.html

例如:

# Set the timeout on 'longrunningroute' to five minutes.
oc annotate route longrunningroute --overwrite haproxy.router.openshift.io/timeout=5m

【讨论】:

  • 路由的默认值在ROUTER_DEFAULT_SERVER_TIMEOUT中定义为30s,在大多数情况下,这个足够长,如果你的应用程序很慢,你可以增加它。
猜你喜欢
  • 2017-03-06
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
  • 2014-02-19
  • 2022-07-29
相关资源
最近更新 更多