请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

前后端的keepalived有问题

老师,我前端和后端的keepalived他们在设置上没问题。但是当我pause掉一个后就无法访问了。

如ff1先开启了keepalived。ff2是后开启,当我docker pause ff1时,是无法访问的。

而ff2先开启keepalived,ff1是后开启。如果ff2被pause的话,也一样无法访问

ff1/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface enp0s3
virtual_router_id 53
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.151
}
}
virtual_server 192.168.1.151 6701 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.1.105 6601 {
weight 1
}
}

ff2/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface enp0s3
virtual_router_id 53
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.151
}
}
virtual_server 192.168.1.151 6701 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.1.105 6602 {
weight 1
}
}

我后端那边也是实现不了,想问问老师是不是哪里写错了吗

正在回答 回答被采纳积分+3

4回答

提问者 weixin_慕工程538969 2020-06-19 02:10:36

老师,这个是我从我的里面所分类出来的,上面的是haproxy而下面的则是Nginx

https://img1.sycdn.imooc.com//szimg/5eebad80087c2e0f17070815.jpg

类似容器使用宿主机的网关的都会这样。而虚拟主机的没问题

https://img1.sycdn.imooc.com//szimg/5eebad210860501416950841.jpg

我已经尝试设置了id和他们的master与slave了。但是还是一样

0 回复 有任何疑惑可以回复我~
  • 那这就比较奇怪了,为什么容器里面会有问题呢?
    回复 有任何疑惑可以回复我~ 2020-06-19 17:05:28
  • 提问者 weixin_慕工程538969 回复 神思者 #2
    正常如果设置net=host的话它不会继承外面的所有ip吗
    回复 有任何疑惑可以回复我~ 2020-06-19 17:21:50
  • 神思者 回复 提问者 weixin_慕工程538969 #3
    host网络使用的是宿主机的IP
    回复 有任何疑惑可以回复我~ 2020-06-19 22:09:19
提问者 weixin_慕工程538969 2020-06-18 18:18:02

ff1

https://img1.sycdn.imooc.com//szimg/5eeb3edc0846cc6213320158.jpg

ff2

https://img1.sycdn.imooc.com//szimg/5eeb3ef508fbbd2213400137.jpg

问题是,我service keepalived restart后。还是一样有多个ip。我的后端的也一样,他们继承了宿主机的ip


宿主机

https://img1.sycdn.imooc.com//szimg/5eeb3f56080084c213240043.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕工程538969 #1
    我也尝试了关掉宿主机的keepalived然后再跑2个的。也就宿主机的keepalived(192.168.1.125)消失在2个容器里的keepalived而已。其他的一律还是继承了
    回复 有任何疑惑可以回复我~ 2020-06-18 18:21:34
  • 神思者 回复 提问者 weixin_慕工程538969 #2
    每组Keepalived用相同的virtual_router_id,比如说PXC的两个Keepalived用virtual_router_id为53,后端项目的两个Keepalived用54
    回复 有任何疑惑可以回复我~ 2020-06-18 18:49:39
  • 提问者 weixin_慕工程538969 回复 神思者 #3
    老师,那么PXC使用的virtual_router_id和宿主机keepalived使用的要一致吗。宿主机的keepalived是连接haproxy的
    回复 有任何疑惑可以回复我~ 2020-06-18 21:05:34
提问者 weixin_慕工程538969 2020-06-17 22:25:14

老师,我没记错检查哪个是被使用的话,是通过hostname -I可以看到的对吗。但是我出现了

//img1.sycdn.imooc.com/szimg/5eea27a5080d6a5907670076.jpg

//img1.sycdn.imooc.com//szimg/5eea27bb0832c27107740084.jpg

这样是正确的吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕工程538969 #1
    我已经设置了ff1为Master,而ff2为slave。但是我没法确定哪个当时拿着拿151这个ip
    回复 有任何疑惑可以回复我~ 2020-06-17 22:27:15
  • 神思者 回复 提问者 weixin_慕工程538969 #2
    你关闭Keepalived重启一下不就知道肯定是Master持有虚拟IP了吗?
    回复 有任何疑惑可以回复我~ 2020-06-18 11:37:44
神思者 2020-06-17 22:10:32

keepalived设置成一个master,另一个slave就可以了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信