Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:docker:keepalived:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:docker:keepalived:start [2022/11/06 18:10]
tuxoid
projekte:docker:keepalived:start [2022/11/14 18:16] (aktuell)
admin
Zeile 1: Zeile 1:
 ====== Installation keepalived ====== ====== Installation keepalived ======
  
-keepalived sorgt fuer ein Failover einer virtuellen IP-Adresse so das dies als Grundlage einer +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: Die Installation ist reaktiv einfach da man keepalived in den Standard-Repositories findet:
Zeile 7: Zeile 7:
   apt install keepalived   apt install keepalived
  
-Gemeinsames NFS-Share:+Dann muss noch die keepalived Konfigurationsdatei gepflegt werden. Die wichtigen Stellen sind hierbei
  
-  apt install autofs -y +  * state (MASTER oder BACKUP, je nachdem wer der "Chef" der Server sein soll) 
-  echo "/docker /etc/auto-docker.nfs --timeout=6000 --ghost" >> /etc/auto.master +  * interface (Da muss das Netzwerkinterface eingetragen werden welches die IP-Adresse bekommen soll, normalerweise "eth0" oder so was) 
-  echo "data -fstype=nfs,rw,retry=0 172.17.200.10:/volume2/docker"/etc/auto-docker.nfs+  * virtual_router_id (Eine Nummerierung bzw. Name des keepalived Verbundes, muss gleich sein auf alles keeplived Servern) 
 +  * priority (Definiert wer prioritätsmässig normalerweise die IP-Adresse bekommt) 
 +  * auth_pass (Authrentifizierung für andere keepalived Instanzen, dieses Passwort muss auch auf allen gleich sein) 
 +  * virtual_ip_address (Die IP-Adresse(n) die aktiviert werden soll und über die nachher zugegriffen werden soll, darf es natürlich nicht vorher geben) 
 +  * OPTIONAL: notifiy (Hier kann man ein Skript angeben welches bei einem Neustart, Fehler, Schwenk etc der IP-Adresse aufgerufen wird. 
 + 
 +Zu keepalived und den anderen Optionen findet man [[https://keepalived.readthedocs.io/en/latest/index.html|hier]]eine erschöpfende Dokumentation. 
 + 
 +Zur Zeit läuft bei mir diese Konfiguration (Mindestens auth_pass und interface anpassen!!!): 
 + 
 +Konfiguration auf dockerman01 (/etc/keealived/keepalived.conf) 
 +<code> 
 +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 
 +
 +</code> 
 + 
 +Konfiguration auf dockerman02 (/etc/keealived/keepalived.conf) 
 +<code> 
 +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 
 +
 +</code> 
 + 
 +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: 
 +<code> 
 +  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 
 +</code> 
 + 
 +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.
  
projekte/docker/keepalived/start.1667754656.txt.gz · Zuletzt geändert: 2022/11/06 18:10 von tuxoid