Site icon bintorosoft.com

High Availability ohne Orchestrator: HA Patterns mit Keepalived/VRRP

Programmer Bunny with laptop. Easter day concept. Generative Ai.

In Umgebungen ohne Orchestrator wie Docker Swarm oder Kubernetes stellt sich die Frage, wie Hochverfügbarkeit (High Availability, HA) für Container-Dienste umgesetzt werden kann. Keepalived in Kombination mit VRRP (Virtual Router Redundancy Protocol) ermöglicht es, Failover und Redundanz auf Netzwerkebene zu realisieren. In diesem Artikel werden praxisnahe HA-Patterns vorgestellt, die ohne komplexe Orchestrierung auskommen und trotzdem Ausfälle minimieren.

1. Grundlagen von Keepalived und VRRP

Keepalived ist ein Linux-Dienst, der primär für die Bereitstellung virtueller IP-Adressen und Healthchecks genutzt wird. VRRP erlaubt die Zuweisung einer virtuellen IP an einen primären Host, die bei Ausfall auf einen sekundären Host übertragen wird.

Wichtige Konzepte

2. Basic HA Pattern

Ein einfaches Setup besteht aus zwei Hosts, die denselben Dienst bereitstellen. Keepalived sorgt dafür, dass die VIP auf den aktiven Master-Host gebunden ist. Fällt der Master aus, übernimmt der Backup-Host die VIP.

Keepalived Konfiguration Beispiel

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

Auf dem Backup-Host wird der state auf BACKUP gesetzt und die priority auf einen niedrigeren Wert, z. B. 90.

3. Healthchecks integrieren

Keepalived kann Healthchecks durchführen, um sicherzustellen, dass die VIP nur dann auf dem Master-Host verbleibt, wenn der Dienst tatsächlich verfügbar ist.

Beispiel für Healthcheck-Script

vrrp_script chk_web {
    script "/usr/local/bin/check_web.sh"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
...
track_script {
chk_web
}
}

Das Script check_web.sh prüft z. B. HTTP-Statuscodes des Container-Dienstes. Bei Fehlern wird das Gewicht reduziert, wodurch der Backup-Host die Master-Rolle übernehmen kann.

4. Layered HA Pattern für Multi-Service Umgebungen

Für Umgebungen mit mehreren Services oder Containern können mehrere Keepalived-Instanzen pro Host eingerichtet werden. Jede Instanz verwaltet eine eigene VIP, wodurch granulare Failover-Steuerung möglich ist.

Beispiel Multi-Service Setup

5. Split-Brain Vermeidung

Ein häufiger Fehler in HA-Setups ist Split-Brain, wenn beide Hosts gleichzeitig die Master-Rolle annehmen. Maßnahmen zur Vermeidung:

6. Integration mit Docker Compose

Keepalived lässt sich auch direkt auf den Host-Systemen betreiben, auf denen Compose-Stacks laufen. VIPs werden auf die Netzwerkschnittstellen der Hosts gebunden und Compose-Container auf diesen Hosts bereitgestellt.

Deployment Tipp

7. Monitoring und Logging

Keepalived erzeugt Logs, die für Debugging und Monitoring genutzt werden können. Typische Log-Pfade:

/var/log/messages
/var/log/syslog

Zusätzlich können Alerts bei VIP-Wechseln konfiguriert werden, z. B. via SNMP oder Slack/Webhook-Integration.

8. Best Practices

9. Zusammenfassung

Mit Keepalived und VRRP lassen sich auch ohne Orchestrator robuste HA-Architekturen aufbauen. Durch Kombination von Healthchecks, Prioritäten, Multi-VIP-Instanzen und Monitoring lassen sich Ausfälle minimieren und Services zuverlässig verfügbar halten. Diese Patterns eignen sich insbesondere für kleine Cluster oder Homelab-Umgebungen, in denen ein vollwertiger Orchestrator nicht benötigt wird.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version