我已经使用 Kubernetes 部署了一个 Redis 集群。我现在正在尝试使用 HAProxy 进行负载平衡。如果您有静态 IP,HAProxy 非常适合对 redis 集群进行负载平衡。但是,我们在使用 kubernetes 时没有这个。在测试故障转移时,Redis 和 Kubernetes 分别处理新主节点的选举和部署新 pod。但是,kubernetes 会为新的 Pod 选择一个新的 IP。我们如何将这个新 IP 注入 HAProxy 健康检查并删除旧的主 IP?
我有以下设置。
+----+ +----+ +----+ +----+
| W1 | | W2 | | W3 | | W4 | Web application servers
+----+ +----+ +----+ +----+
\ | | /
\ | | /
\ | | /
+---------+
| HAProxy |
+---------+
/ \ \
+----+ +----+ +----+
| P1 | | P2 | | P3 | K8S pods = Redis + Sentinel
+----+ +----+ +----+
这与haproxy 博客上描述的设置非常相似。