重构了很久以前写的一个 haproxy-keepalived 的镜像。
地址: https://github.com/penglongli/haproxy-keepalived
介绍
因为大家在做内网 LB 方案选择的时候,经常会考虑 HAProxy + Keepalived 的方式来做高可用。这个仓库将这两个进程放到了容器中来跑。
并在此基础上做了一些包装,来简化使用方式:
-
进程监控及 Graceful Shutdown
- 详情:HAProxy 、Keepalived 子进程挂掉,容器自动退出
-
HAProxy 的日志
- 详情:使用 rsyslogd,在容器的 /var/log/haproxy.log 中可以看到访问日志文件
-
增加对 Kubernetes 的支持
- 详情:此项没做什么工作,只是将如何在 Kubernetes 上部署做了一个示例。
-
HAProxy 动态刷新
- 详情:HAProxy 应该是在 1.8 版本之后原生支持了动态刷新,向进程发送
SIGUSR1即可动态刷新,前提是启动的时候增加-W参数 - 用处:因为 HAProxy 的 LB 配置可能会经常性更新,通过 ConfigMap 或者 Host File 是可以动态映射进容器的,通过动态刷新即可使用了。
- 详情:HAProxy 应该是在 1.8 版本之后原生支持了动态刷新,向进程发送