Google Cloud AutoScaler 的使用和实例健康检测

Google Cloud AutoScaler 的使用和实例健康检测

我发现 Google Cloud Auto Scaler、托管实例组、目标池和网络负载均衡器如何协同工作有点令人困惑。文档有点稀疏,并且没有明确说明如何使用 NLB(我们需要它,因为我们需要 HTTPS,所以当前的 Http 负载均衡器无法满足要求)和 Auto Scaler。我认为 Auto Scaler 的主要用例是管理 NLB 后面的实例。

问题 1:似乎一旦我们将目标池分配给托管实例组(通过 [set-target-pool][1]),已经存在的实例就不会被分配给该目标池(可能是我们的错误)。

问题 2:除非托管组实例具有公共(尽管是临时的)IP,否则它们似乎无法在 NLB 上轮换。这可能是我们的又一次错误,但私有 IP 难道不应该就足够了吗?

问题 3:如果托管实例组上的实例变得不健康(比如,它停止响应 HTTP),则 NLB 会将其从轮换中删除(通过健康检查),但似乎 Auto Scaler 保持正常运转并将其视为有效的正在运行的实例。

我们遗漏了什么?

答案1

HTTPS 负载平衡现已推出 Alpha 版本现在可能就是最适合您的解决方案。

问题 1:实例组管理器希望其组完全同质。因此,当托管实例组配置为将其实例添加到目标池,它自然会添加现有实例和未来实例。如果您需要拆分,以便将一些实例添加到目标池,而将一些实例不添加到目标池,则必须将实例组分开。

问题 2:可以对仅具有私有 IP 地址的实例使用网络负载平衡。但是转发规则必须具有外部 IP 地址。

问题 3:您说得对,Autoscaler 不会进行健康检查,也不会自动销毁未通过负载平衡健康检查的实例。如果您目前想要这样做,您将手动执行此操作(我建议使用实例组管理器“重新创建”调用)。

相关内容