dockerized HAProxy+Keepalived 实现 HA

viv*_*d4v 5 high-availability haproxy docker

我有一台主机,HAProxy 使用 docker compose 作为 docker 容器运行。我想水平扩展我们的 HAProxy,使其在多个主机上高度可用。

我读了一些关于 keepalived 的教程,但这是在主机上完成的,并且是作为主机安装的 HAProxy 服务器,而不是在 docker 容器中。

是否可以通过docker化的方式部署高可用的HAProxy?

(我知道我有虚拟化设置)

小智 3

您可以在具有主进程的容器中运行 HAProxy 和 Keepalived。Docker提供了--privilegedparam,所以Keepalived可以通过这种方式在容器中获取VIP(虚拟IP)。

关于如何在容器中运行多个进程,可以参考文档:multi-service-container

当你启动Haproxy & Keepalived多个节点后,VIP可以在这些节点之间漂移。使用相同的haproxy.cfg,您可以使用VIP访问HAProxy服务。这样就可以获得高可用的HAProxy服务。

关于如何HAProxy & Keepalived在容器中运行,有一个镜像你可以尝试一下:docker haproxy-keepalived