【问题标题】:Google Load Balancer returning 502谷歌负载均衡器返回 502
【发布时间】:2016-04-28 17:01:26
【问题描述】:

我有一个容器集群在 GKE 上的负载平衡器后面运行。它运行良好,但是当我尝试访问页面时偶尔会出现 502 错误。日志显示如下:

{
metadata:
{
severity:
"WARNING"
projectId:
"###"
serviceName:
"network.googleapis.com"
zone:
"global"
labels:
{…}
timestamp:
"2016-04-28T16:35:46.864379896Z"
projectNumber:
"###"
}
insertId:
"2016-04-28|09:35:47.696726-07|10.94.35.131|1729057675"
log:
"requests"
httpRequest:
{
requestMethod:
"GET"
requestUrl:
"https://###/user/view/111"
requestSize:
"2089"
status:
502
responseSize:
"362"
userAgent:
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36"
remoteIp:
"###"
referer:
"###"
}
}

当我查看容器中的访问日志时,在生成 502 错误时,我没有看到任何匹配的请求命中它们。他们似乎没有通过负载平衡器。

有人遇到过负载均衡器的这个问题吗?有什么推荐的解决方案吗?谢谢。

【问题讨论】:

  • 我应该补充一下,我的所有实例都显示健康并且 CPU 使用率
  • 您能否添加有关容器和负载均衡器配置的更多信息?
  • 是否有一些具体的信息会有所帮助?我正在运行两个通过 uwsgi 为 python 应用程序提供服务的容器。容器通过 NodePort 公开。每个容器运行 4 个 uwsgi 进程。负载均衡器将除对 /static/ 的请求之外的所有流量发送到这些容器。
  • 发生这些错误时,我的两个容器似乎都已重新启动。我可以从容器主机执行docker ps 时显示的正常运行时间看出。不过,我在容器日志中没有找到任何可以说明重启原因的内容。
  • 这可以解释 502。您可以查看 kubelet 日志。可能容器未能通过健康检查,kubelet 重新启动了它们。

标签: load-balancing google-cloud-platform google-kubernetes-engine


【解决方案1】:

502 错误表明负载平衡器正在发送流量但未接收响应。是否有可能您的端点报告健康,但某些容器尚未准备好服务?

【讨论】:

    【解决方案2】:

    您可能想尝试移至其他地区或地区。我对来自美洲的请求也有类似的问题,而来自欧盟/亚洲的请求都成功了。这让我觉得这是 us-central 后端服务的问题,所以我从 us-central1-c 切换到 us-east,之后一切正常。

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 1970-01-01
      • 2018-04-14
      • 2014-10-02
      • 2021-09-18
      • 2019-01-26
      • 2017-01-16
      • 2021-03-18
      • 2015-10-22
      相关资源
      最近更新 更多