keepalived sorgt fuer ein Failover einer virtuellen IP-Adresse so das dies als Grundlage einer Erreichbarkeit einiger Container unter nur einer IP-Adresse dienen kann. Dazu habe ich Keeepalived auf den beiden ersten Manager Knoten (dockerman01 und dockerman02) installiert.
Die Installation ist reaktiv einfach da man keepalived in den Standard-Repositories findet:
apt install keepalived
Dann muss noch die keepalived Konfigurationsdatei gepflegt werden. Die wichtigen Stellen sind hierbei
Zu keepalived und den anderen Optionen findet man hiereine erschöpfende Dokumentation.
Zur Zeit läuft bei mir diese Konfiguration (Mindestens auth_pass und interface anpassen!!!):
Konfiguration auf dockerman01 (/etc/keealived/keepalived.conf)
global_defs {
script_user root
enable_script_security
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 61
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass MEINPASSWORT
}
virtual_ipaddress {
172.17.200.24/23
172.17.200.25/23
}
# notify /root/cluster.sh
}
Konfiguration auf dockerman02 (/etc/keealived/keepalived.conf)
global_defs {
script_user root
enable_script_security
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 61
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass AUCHMEINPASSWORT
}
virtual_ipaddress {
172.17.200.24/23
172.17.200.25/23
}
# notify /root/cluster.sh
}
Danach noch den Start bei Systemstart einrichten (Auf beiden PIs):
systemctl enable keepalived systemctl start keepalived
Jetzt sollte man auf dem MASTER die IP-Adresse sehen können:
ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:51:3f:e0 brd ff:ff:ff:ff:ff:ff
inet 172.17.200.77/23 brd 172.17.201.255 scope global dynamic noprefixroute eth0
valid_lft 862186sec preferred_lft 754186sec
inet 172.17.200.24/23 scope global secondary eth0
valid_lft forever preferred_lft forever
inet 172.17.200.25/23 scope global secondary eth0
valid_lft forever preferred_lft forever
Testen kann man jetzt noch das die auch auf dem zweiuten PI übernommen wird indem man Nummer 1 abschaltet oder neu startet. Wenn man neu startet muss man allerdings schnell sein sonst wandert die IP wieder zurück auf den ersten PI da dieser die höhere Priorität hat.