keepalived高可用的部署方案
- 需要使用主机的host网络和privileged权限
docker配置keepalived详细方法
version: "3.9"
services:
keepm:
image: osixia/keepalived:2.0.20
restart: always
network_mode: host
container_name: keepm
volumes:
- "./keepalived.conf:/usr/local/etc/keepalived/keepalived.conf"
privileged: true
global_defs {
default_interface ens33
}
vrrp_instance VI_1 {
interface ens33
state MASTER
virtual_router_id 60
priority 200
advert_int 2
unicast_peer {
192.168.1.20
}
virtual_ipaddress {
192.168.1.90
}
authentication {
auth_type PASS
auth_pass d0cker
}
notify "/container/service/keepalived/assets/notify.sh"
}
global_defs {
default_interface ens33
}
vrrp_instance VI_1 {
interface ens33
state MASTER
virtual_router_id 60
priority 200
advert_int 2
unicast_peer {
192.168.1.10
}
virtual_ipaddress {
192.168.1.90
}
authentication {
auth_type PASS
auth_pass d0cker
}
notify "/container/service/keepalived/assets/notify.sh"
}
iptables打开vrrp允许
#打开防火墙允许通知
iptables -A INPUT -p vrrp -j ACCEPT
#或者:
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT