Google Cloud Load Balancer-可以做出主动/待机(主动/被动)决策吗?

Google Cloud Load Balancer-可以做出主动/待机(主动/被动)决策吗?

我正在尝试创建一个主动/被动GCP 中的集群,我正在考虑使用本机负载平衡器来实现这一点。例如,我希望负载平衡器仅在主节点集(活动节点)未通过健康检查时才将流量转发到特定的节点集(备用节点)。我原本以为这是可能的,但我看不到任何可以让我实现这一点的选项。据我所知,只有循环负载平衡是可能的,还是我遗漏了什么?

答案1

循环负载平衡仅用于同一托管实例组 (MIG) 中的计算实例。如果您想要控制平衡模式,则需要将主动节点和被动节点放在单独的节点和区域/地区中。同样,当您可以通过跨多个区域和地区部署主动节点来使其具有高可用性时,为什么还要费心使用主动/被动节点呢?GLB 将选择健康的主动节点。

如果您认为仍然需要主动/被动节点,据我所知,GCP 不提供您要求的确切功能,但我认为您可以通过调整GLB 后端服务资源的balancingModecapacity setting属性来接近该功能。例如,您可以将备用节点的 CPU 利用率和容量设置为几乎为零(但不是零),并将其设置为主动节点上的 100%。这样,负载平衡器将把全部或大部分流量发送到主动节点,只有当主动节点发生故障时,它才会将流量路由到被动节点。由于 GLB 也是基于地理位置的,您可以将主动节点放在更靠近客户端的 MIG 中。

参考 -Google 全局 HTTP 负载均衡器文档

答案2

我在 GCP 中找不到这样的功能。但是,如果使用 HTTPs LB,我只能想到有 2 组 IMG,并设置容量设定在后端。因此,一个 IMG 将有 100% 接收所有请求,而第二个 IMG 设置为 0%。

您需要监控 IMG 或实例的运行状况检查,如果某些 IMG 或实例运行状况不佳,则可以使用 API 调用更改两个组的容量设置。您需要有一个 cron 作业来监控,以及一个将运行 API 调用的脚本。

或者,您可以尝试设置自愈,因此不健康的实例会得到修复,因为这是恢复不健康实例的更好且更简单的方法。

如果这不是您想要的,那么您可以提交功能请求这里用于负载平衡。

相关内容