gpt4 book ai didi

google-compute-engine - Google Compute Engine 健康检查失败

转载 作者:行者123 更新时间:2023-12-03 23:10:24 28 4
gpt4 key购买 nike

我在两个 VM 实例上有一个 node.js 应用程序,我试图通过网络负载平衡来进行负载平衡。为了测试我的服务器是否已启动并提供服务,我在我的应用程序内部监听端口上收到了运行状况检查请求“/health.txt”。我有两个配置相同的实例,具有相同的标签、防火墙规则等,但是一个实例的运行状况检查连续失败,我可以在我的内部网络上或从外部使用 curl 进行检查,并且测试在两个实例上都运行良好,但是网络负载平衡器总是报告一个实例关闭。

我使用了 ngrep 并从健康实例运行,我看到:

T 169.254.169.254:65374 -> my.pub.ip.addr:3000 [S]
#
T my.pub.ip.addr:3000 -> 169.254.169.254:65374 [AS]
#
T 169.254.169.254:65374 -> my.pub.ip.addr:3000 [A]
#
T 169.254.169.254:65374 -> my.pub.ip.addr:3000 [AP]
GET /health.txt HTTP/1.1.
Host: my.pub.ip.addr:3000.
.

#
T my.pub.ip.addr:3000 -> 169.254.169.254:65374 [A]
#
T my.pub.ip.addr:3000 -> 169.254.169.254:65374 [AP]
HTTP/1.1 200 OK.
X-Powered-By: NitroPCR.
Accept-Ranges: bytes.
Date: Fri, 14 Nov 2014 20:00:40 GMT.
Cache-Control: public, max-age=86400.
Last-Modified: Thu, 24 Jul 2014 17:58:46 GMT.
ETag: W/"2198506076".
Content-Type: text/plain; charset=UTF-8.
Content-Length: 13.
Connection: keep-alive.
.

#
T 169.254.169.254:65374 -> my.pub.ip.addr:3000 [AR]

但是在 GCE 声称不健康的情况下,我看到了这个:

T 169.254.169.254:61179 -> my.pub.ip.addr:3000 [S]
#
T 169.254.169.254:61179 -> my.pub.ip.addr:3000 [S]
#
T 169.254.169.254:61180 -> my.pub.ip.addr:3000 [S]
#
T 169.254.169.254:61180 -> my.pub.ip.addr:3000 [S]
#
T 169.254.169.254:61180 -> my.pub.ip.addr:3000 [S]

但是,如果我从我的健康实例 > 不健康实例 curl 相同的文件,我的“不健康”实例响应良好。

最佳答案

在与 Google Compute Engine 团队联系后,我恢复了工作。 GCE VM 上有一个服务进程需要在启动时运行,并在 VM 处于事件状态时继续运行。该进程名为 google-address-manager。它应该在运行级别 0-6 运行。由于某种原因,当我的一个虚拟机启动/重新启动时,该服务停止并且不会启动。手动启动服务。以下是我们确定问题所在的步骤:(这是一个 Debian VM)

sudo ip route list table all

这将显示您的路由表。在表中,应该有一个到您的负载均衡器公共(public) IP 的路由:

local lb.pub.ip.addr dev eth0  table local  proto 66  scope host

如果没有,请检查 google-address-manager 是否正在运行:

sudo service google-address-manager status

如果它没有运行,启动它:

sudo service google-address-manager start

如果启动正常,请检查您的路由表,您现在应该有一个到您的负载均衡器 IP 的路由。您也可以手动添加此路由:

sudo /sbin/ip route add to local lb.pub.ip.addr/32 dev eth0 proto 66

我们还没有解决为什么地址管理器在启动时停止并且不启动,但至少 LB 池是健康的

关于google-compute-engine - Google Compute Engine 健康检查失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937469/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com