4

当我使用带有 CDN 的谷歌云平衡器时出现错误 502,问题是,我很确定我在设置负载平衡器时做错了什么,因为当我删除负载平衡器时,我的网站运行得很好。

这就是我 在这里配置负载均衡器的方式

检查负载均衡器日志消息时,它会显示一条错误消息 failed_to_pick_backend 。我试图重新配置负载均衡器,但没有帮助。

我刚开始学习谷歌云,我的知识真的很有限,如果有人能一步一步地告诉我如何解决这个问题,将不胜感激。谢谢!


4

3 回答 3

4

Posting an answer - based on OP's finding to improve user experience.

Solution to the error 502 - failed_to_pick_backend was changing Load Balancer from HTTP to TCP protocol and at the same type changing health check from HTTP to TCP also.

After that LB passes through all incoming connections as it should and the error dissapeared.

Here's some more info about various types of health checks and how to chose correct one.

于 2020-12-31T13:07:11.297 回答
1

您面临的错误消息是“ failed_to_pick_backend ”。此错误消息意味着当 GFE 无法与后端实例建立连接或无法识别要连接的可行后端实例时,将生成 HTTP 响应代码

我在图像中注意到您的健康检查失败导致上述错误消息,此健康检查失败行为可能是由于:

  • Web 服务器软件未在后端实例上运行

  • 后端实例上的 Web 服务器软件配置错误

  • 服务器资源耗尽且不接受连接:

      - CPU usage too high to respond
      - Memory usage too high, process killed or can't malloc()
      - Maximum amount of workers spawned and all are busy (think mpm_prefork in Apache)
      - Maximum established TCP connections
    

检查正在运行的服务是否以 200 (OK) 响应运行状况检查探测并验证您的后端服务超时。后端服务超时与配置的健康检查值一起定义实例在被视为不健康之前必须响应的时间量。

此外,您可以查看此故障排除指南以面对一些错误消息(包括此)。

于 2020-08-19T22:04:24.957 回答
0

那些在其他平台上使用过 Kubernetes 的人可能会对为什么他们的 Ingress 称他们的后端“不健康”感到困惑。健康检查与 Readiness Probes 和 Liveness Probes 不同。

运行状况检查是 GCP 的负载均衡器使用的独立实用程序,执行完全相同的功能,但在其他地方定义。这里的失败会导致 502 错误。 https://console.cloud.google.com/compute/healthChecks

于 2021-03-22T03:50:00.870 回答