暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
docker下Keepalived+Haproxy+PXC实现高可用负载均衡集群
360
11页
1次
2022-10-26
10墨值下载
一、 背景
为什么要用 keepalived+haproxy 实现 docker 下的高可用负载均衡?在不同环境下
有哪些方式可以实现高可用负载均衡?
首先第一点,实现负载均衡并不是只有 haproxy 一个中间件,网上还有很多方案
keepalived+LVS 等等,所以对于 docker 下的高可用负载均衡不一定只有
keepalived+haproxy
只是本次我是基于之前搭建的 pxc 集群进行继续搭建的,所以用的是 haproxy
为什么这里强调的是 dockerkeepalived
首先我们运行环境是 dockerkeepalived 的作用是抢占虚拟 ipdocker 环境下,
镜像内的网段外网是无法访问的,所以我们需要一个外网在宿主机上映射 docker
内的 ip 上,keepalived 一方面可以映 ip docker 服务内,二可以在 docker
务内强占虚 ip。所以在 docker 搭建负载均衡的多种方案中都常见会出现
keepalived
为什么要抢占虚拟 ip?为什么要用 keepalived 呢?
负载均衡中间件(haproxylvs)等等在实际中不可能只是单节点存在(单节点不
需要 keepalived都要有冗余设计,即集群设计,和数据库集群不一样的是,docker
中实现负载均衡中间件的集群是通过抢占一个 ip 地址实现的,有主备和主主方式
虽然方式不一样,但都有一个心跳检测的共同点,在主节点抢占虚拟 ip 时,主从节
点上会有心跳检测线,如果发现主节点心跳检测连不上,则从节点会主动抢占 ip
实现数据不中断的冗余机制;
总结描述由于是在 docker 环境下,们要搭建负载均衡集群需要通 keepalived
抢占虚拟 ip 实现,而负载均衡功能需要 haproxy 中间件实现,
所以本次我搭建的是一个在 docker 环境下高可用的负载均衡方案是:
keepalived+haproxy+pxc
二、 haproxy 安装配置
2.1 创建 haproxy 容器
1. 下载 docker 镜像;
2. Docker pull haproxy
3.
4. 重命名
5. docker tag docker.io/haproxy haproxy
6.
7. 删除多余镜
8. docker rmi docker.io/haproxy
9.
10. ftp 上传 docker 配置文件,目录自行定义,目录映射根据定义目录名映
11.
12. 查看配置文件(需要编辑可编辑)
13. cat haproxy.cfg
14.
15. 启动创建 docker-haproxy 服务
16. docker run -it -d -p 4001:8888 -p 4002:3306 -v
/data/haproxy/config:/usr/local/etc/haproxy --name haproxy01
--privileged --net=net1 --ip 172.20.0.07 haproxy
17.
18. 端口 8888 是监控页面端口,3006 MySQL 服务端口,参数都可以在配置文件中调整
19.
20.
21. 进入 docker-haproxy 服务
22. docker exec -it haproxy01 /bin/bash
23.
24.
25. 启用配置文件(启用完配置文件才算是真的启动了 haproxy 服务)
26. haproxy -f /usr/local/etc/haproxy/haproxy.cfg
27.
28. 退出 haproxy 交互,回到宿主
29.
30. ctrl+D
2.2 配置 haproxy
配置信息如下:
1. global
2. #工作目录
3. chroot /usr/local/etc/haproxy
4. #日志文件,使用 rsyslog 服务中 local5 日志设备(/var/log/local5),等级 info
of 11
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜