用于部署的 GCP 后端服务连接耗尽选项

GCP Backend service connection draining options for deployments

有没有人试过通过任一方法耗尽 GC HTTP(S) 负载平衡器后端连接

  1. 正在将后端服务中的各个实例组的容量设置为 0% (0 RPS)
  2. 正在从后端服务中删除实例组
  3. 更改 URL 映射中的后端服务以指向另一个后端服务。

我想在两个 GKE 集群前面使用 GCLB 实现 A/B 测试部署。文档只说当从实例组中删除实例时(自动或手动)会为特定实例触发连接耗尽: https://cloud.google.com/load-balancing/docs/enabling-connection-draining

这些是非常特殊的场景,但预期的行为如下:

  1. 将每个实例的最大速率或最大速率(每个实例组)设置为零(当平衡模式为速率时),不会耗尽现有连接。平衡模式只是帮助负载平衡器对后端(在这种情况下的实例组)进行排序,从最有吸引力到最没有吸引力来处理新连接。当平衡模式为速率且最大 RPS 为零时,这仅意味着后端为 "not attractive",即使它正在为零请求提供服务。但是,如果所有后端都将 RPS 设置为零,或者如果它们没有设置但接近容量,则 RPS 为零的后端可能与所有其他后端一样(没有吸引力)。
  2. 从后端服务中删除作为后端的实例组很可能不会考虑任何连接耗尽,因为这会从等式中删除负载均衡器。
  3. 这种情况与上面的陈述非常相似,没有删除负载平衡器的缺点。但是我认为将 URL 映射指向不同的后端不会触发连接耗尽,因为实例将是可访问的,尽管您指的是不同的后端。预计会停机,但不应激活排空。