k8s 集群自动缩放组的 GCP 全局负载均衡器健康检查失败

GCP Global load balancer health checks fail for k8s cluster autoscaling group

我已经在 GKE 集群中安装了 haproxy ingress,因为默认的 ingress(与全局负载均衡器的集成)不能满足我的需求。 因此端口 80 是所有集群主机上负载均衡器后端的目标 HTTP 端口。 我只是配置了一个全局 HTTPS 负载均衡器来终止 SSL 并平衡 k8s 节点自动缩放组之间的流量。

似乎一切都配置正确,但我可以看到后端健康检查失败。 我尝试了两种方法 HTTP /healthz 和 TCP 端口 80。 两项检查均失败,并且服务在 99% 的时间内不可用。

谁能帮我解决这个问题?

问题出在防火墙规则上。 健康检查不允许访问与 GKE 集群关联的 GCE 节点。 我向 VPC 添加了一条新规则以允许 35.191.0.0/16,130.211.0.0/22 source IP ranges and 10253 TCP port associated with haproxy ingress health port.

添加规则后,健康检查通过,负载均衡器开始工作。