【问题标题】:GCP Global load balancer health checks fail for k8s cluster autoscaling groupK8s 集群自动扩展组的 GCP 全局负载均衡器运行状况检查失败
【发布时间】:2020-07-01 19:22:25
【问题描述】:

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

一切似乎都已正确配置,但我可以看到后端运行状况检查失败。 我在/healthz 上尝试了两种方法 HTTP 和端口 80 上的 TCP。 两项检查均失败,并且服务在 99% 的情况下不可用。

有人可以帮我解决这种情况吗?

【问题讨论】:

  • 你好。我是否理解正确: 1. 您部署了haproxy ingress controller。 2. 您的 haproxy 在集群中的所有节点上都配置为 daemonset。 3. 你用 GCP 创建了 HTTPS LoadBalancer 来指向这个 haproxy pod?您能否提供您所做的具体步骤?
  • 是的,没错。问题是防火墙规则。我已经为我的问题添加了答案

标签: load-balancing google-kubernetes-engine kubernetes-ingress


【解决方案1】:

问题出在防火墙规则上。 不允许运行状况检查访问与 GKE 集群关联的 GCE 节点。 我向 VPC 添加了一条新规则,以允许 35.191.0.0/16,130.211.0.0/22 source IP ranges10253 TCP 端口与 haproxy ingress health port 关联。

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

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 1970-01-01
    • 2017-01-03
    • 2021-02-21
    • 2020-05-28
    • 2019-08-26
    • 2017-01-05
    • 2017-11-08
    • 2021-04-04
    相关资源
    最近更新 更多