我正在尝试创建一个主动/被动GCP 中的集群,我正在考虑使用本机负载平衡器来实现这一点。例如,我希望负载平衡器仅在主节点集(活动节点)未通过健康检查时才将流量转发到特定的节点集(备用节点)。我原本以为这是可能的,但我看不到任何可以让我实现这一点的选项。据我所知,只有循环负载平衡是可能的,还是我遗漏了什么?
答案1
循环负载平衡仅用于同一托管实例组 (MIG) 中的计算实例。如果您想要控制平衡模式,则需要将主动节点和被动节点放在单独的节点和区域/地区中。同样,当您可以通过跨多个区域和地区部署主动节点来使其具有高可用性时,为什么还要费心使用主动/被动节点呢?GLB 将选择健康的主动节点。
如果您认为仍然需要主动/被动节点,据我所知,GCP 不提供您要求的确切功能,但我认为您可以通过调整GLB 后端服务资源的balancingMode
和capacity setting
属性来接近该功能。例如,您可以将备用节点的 CPU 利用率和容量设置为几乎为零(但不是零),并将其设置为主动节点上的 100%。这样,负载平衡器将把全部或大部分流量发送到主动节点,只有当主动节点发生故障时,它才会将流量路由到被动节点。由于 GLB 也是基于地理位置的,您可以将主动节点放在更靠近客户端的 MIG 中。