dockerized HAProxy+Keepalived 实现 HA

标签 docker haproxy high-availability

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

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

是否可以以 dockerized 的方式部署高可用的 HAProxy?

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

最佳答案

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

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

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

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

关于dockerized HAProxy+Keepalived 实现 HA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090569/

相关文章:

macos - 从在 boot2docker/osx 中运行的 docker 容器中查找主机 ip

docker - 如何使用 docker cp 从主机 rsync 到 docker 容器

ssl - HAProxy - SSL SNI 不便

nginx - 反向代理锁定功能

python - 当 Python 脚本运行并以 sys.exit(0) 结束时出现错误 : exited with status 2

python - Scrapy Splash 服务器无法通过 docker run 启动

c# - 如何强制我的 gRPC 客户端打开到服务器的多个连接?

database - Sharepoint 2010 数据库 - 如何从 SQL 2012 AlwaysOn 迁移到独立 SQL 2012

high-availability - Google Cloud Bigtable 持久性/可用性保证

docker - 您如何更改 .Net Core Web 应用程序项目的 Docker OS 支持?