我正在尝试在GCP上创建TCP / UDP负载均衡器以允许我的服务上的HA,但我注意到,当我创建目标组时,该组中的所有实例都被标记为不 Health 并且未被Google检查(我已经看过机器日志来检查它) . 防火墙是开放的,因为它是用于测试目的,所以我确信这不是问题 .
我已经使用具有类似检查配置的后端创建了一个HTTP / S负载均衡器,并且同一台机器被标记为 Health ,所以这不是该机器的问题(即使现在日志显示谷歌如何真正检查该实例) .
两个检查都是HTTP到端口80,所以我无法看到问题的位置以及两种负载 balancer 器检查器之间的区别 .
此外,我已检查禁用运行状况检查,但实例仍标记为运行状况不佳,并且流量未发送到任何实例,因此负载均衡器无效 .
是否需要任何其他配置来检查实例?
谢谢和问候!!
1 回答
创建TCP负载均衡器
当您使用任何Google Cloud负载均衡器时,无需将VM的外部端口暴露给互联网,只有您的负载均衡器需要能够访问它 .
steps to create a TCP load balancer are described here . 我发现使用
gcloud
并运行命令很方便,但您也可以使用Cloud Console UI来获得相同的结果 .我尝试了以下步骤,它适用于我(您可以轻松地修改它以使其与UDP一起使用 - 记住您仍然需要HTTP运行状况检查,即使使用UDP负载 balancer ):
非代理TCP / UDP负载均衡器需要HTTP运行状况检查
如果您使用的是UDP负载均衡器(在Google CLoud中被视为网络负载均衡),您需要启动一个基本的HTTP服务器,除了正在侦听UDP端口的服务之外,它还可以响应HTTP运行状况检查进来的交通 .
这同样适用于基于非代理的TCP负载均衡器(在Google Cloud中也被视为网络负载均衡) .
这是documented here .