Installation keepalived

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.