谷歌云健康检查失败

Posted

技术标签:

【中文标题】谷歌云健康检查失败【英文标题】:google cloud health check failing 【发布时间】:2015-01-23 23:32:38 【问题描述】:

我已经尝试了所有可以在 google 上找到的方法,但仍然无法正常工作。 我在端口 8080 上配置了健康检查,我创建了 nodejs 服务器来服务 200 OK 并立即关闭连接(不保持活动状态)。手动测试实例的 IP 地址似乎有效。 我使用 ngrep 检查端口 8080 上的传入连接,我还从节点打印到控制台,什么也没看到,端口 8080 没有流量。 同样在防火墙上,我有一条规则允许 0.0.0.0/0 上的端口 8080 我一开始尝试使用端口 80,然后切换到端口 8080 只是为了让它工作。 我发现“google-address-manager”服务失败并启动它,还尝试重新启动实例。 我还尝试使用以下命令将 130.211.0.0/32 添加到本地路由:sudo /sbin/ip route add to local 130.211.0.0/32 dev eth0 proto 66 我尝试了网络负载均衡器和 http 负载均衡器,结果相同。 你能帮我么?过去 72 小时我一直在尝试,但无法成功。

以下是运行状况检查定义的复制粘贴: 默认健康检查 正在使用 lb-please-work-backend-service 路径 / 港口 8080 间隔 5秒 暂停 25 秒 不健康阈值 连续20次失败 健康阈值 连续1次成功

**更新: 我现在从头开始创建了一个新服务器,nodejs 监听端口 80 并返回 200 OK。 我还创建了一个新的 LB 和运行状况检查以及所有内容,但仍然一无所获

【问题讨论】:

您能提供更多信息吗?目前对我们来说就像一个黑匣子。 您可以尝试更改 Web 服务器上的默认索引页面吗?只需添加任何东西,看看它是否仍然会失败 您能否通过 SSH 连接到您的实例并运行 tcpdump 命令,如下所示:tcpdump -A -n host 169.254.169.254 并提供输出?我们正在研究如何处理来自 LB 的运行状况检查请求。 【参考方案1】:

如果访问您的实例上的页面可以正常访问,但没有负载均衡器 (LB),则很可能来自 LB 的请求没有正确关闭,因此实例不健康。我建议捕获一个 tcpdump 文件以了解更多信息。

【讨论】:

以上是关于谷歌云健康检查失败的主要内容,如果未能解决你的问题,请参考以下文章

即使目标组健康检查失败,NLB 是不是会转发到 ALB?

弹性beantalk上的spring boot应用程序-健康检查失败

健康检查调度约束

ELB 健康检查行为 - 健康阈值

如何修复弹性beantalk实例上的“使用这些代码失败的健康检查:”?

未通过 Marathon 健康检查的应用程序警报