在少数 GCE 节点上负载平衡许多服务
Load balancing many services on few GCE nodes
我有 2 个 GCE 节点,每个节点 运行 连接相同的 N 个服务。对于每项服务,我使用 GCE 网络负载均衡器将请求分发到 2 个节点。因此,我创建了以下设置:
- 由于我希望负载均衡器分别检查每个服务的健康状况,所以我对 N 个服务中的每一个进行健康检查(每个健康检查检查不同端口的 HTTP 响应)
- 由于每个服务都有自己的健康检查,我有 N 个目标池,它们都只包含节点 1 和 2,但都有不同的健康检查。
- 因为我有N个目标池,所以我也有N个转发规则
- 因为我希望这些负载均衡服务中的每一个都可以在外部使用(实际上,从 GAE 内部使用),所以我为每个转发规则分配了一个静态 IP 地址
问题是我想要的服务超过7个运行,而GCE的区域配额只允许7个静态IP地址。这让我怀疑我做错了什么,我正在做的事情有更好的设计。
我的问题的根源似乎是我想要对每个服务(而不是每个节点)进行健康检查,这似乎只有在我将整个路径拆分到GCE 网络负载均衡器。
您的配置看起来很合理,因为每个服务都有自己专用的健康检查。
请注意,如果您需要超过默认资源配额并且您的项目未处于免费试用阶段,您可以使用 quota change request form.
请求更多配额
我有 2 个 GCE 节点,每个节点 运行 连接相同的 N 个服务。对于每项服务,我使用 GCE 网络负载均衡器将请求分发到 2 个节点。因此,我创建了以下设置:
- 由于我希望负载均衡器分别检查每个服务的健康状况,所以我对 N 个服务中的每一个进行健康检查(每个健康检查检查不同端口的 HTTP 响应)
- 由于每个服务都有自己的健康检查,我有 N 个目标池,它们都只包含节点 1 和 2,但都有不同的健康检查。
- 因为我有N个目标池,所以我也有N个转发规则
- 因为我希望这些负载均衡服务中的每一个都可以在外部使用(实际上,从 GAE 内部使用),所以我为每个转发规则分配了一个静态 IP 地址
问题是我想要的服务超过7个运行,而GCE的区域配额只允许7个静态IP地址。这让我怀疑我做错了什么,我正在做的事情有更好的设计。
我的问题的根源似乎是我想要对每个服务(而不是每个节点)进行健康检查,这似乎只有在我将整个路径拆分到GCE 网络负载均衡器。
您的配置看起来很合理,因为每个服务都有自己专用的健康检查。
请注意,如果您需要超过默认资源配额并且您的项目未处于免费试用阶段,您可以使用 quota change request form.
请求更多配额