hifis.keepalived
Keepalived Rolle
:warning: Dieses Projekt ist archiviert! :warning:
Diese Rolle wurde in unsere hifis.toolkit
Sammlung migriert:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
Ansible-Rolle zur Einrichtung von Keepalived im Kontext von hoher Verfügbarkeit und Skalierbarkeit.
Derzeit unterstützte Plattformen sind:
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
Anforderungen
Keine.
Variablen der Rolle
Erforderliche Variablen, die standardmäßig nicht gesetzt sind
Keepalived-Instanz Unicast-Peer-IP-Adressen
Setzen Sie die Unicast-Peer-IP-Adressen der Keepalived-Instanz:
keepalived_unicast_peers:
- '192.168.33.15'
- '192.168.33.16'
Virtuelle IP-Adresse der Keepalived-Instanz
Setzen Sie die virtuelle IP-Adresse der Keepalived-Instanz:
keepalived_virtual_ip_address: '192.168.33.100'
Optional: Liste der Konfigurationen für virtuelle IP-Adressen
Wenn Sie mehrere virtuelle IP-Adressen konfigurieren müssen, können Sie diese optionale Variable definieren. Diese hat Vorrang vor keepalived_virtual_ip_address
.
keepalived_virtual_ipaddress_configs:
- "10.0.10.15 dev eth0"
- "10.0.11.15 dev eht1"
Alle anderen Standardvariablen
Keepalived-Version
Variable zur Festlegung der Keepalived-Version auf einen bestimmten Wert:
keepalived_version: '2.2.8'
Liste der Abhängigkeiten von Keepalived
Liste der zu installierenden Keepalived-Abhängigkeiten:
keepalived_dependencies:
- 'build-essential'
- 'curl'
- 'gcc'
- 'libssl-dev'
- 'libnl-3-dev'
- 'libnl-genl-3-dev'
- 'libsnmp-dev'
Pfad zur Keepalived ausführbaren Datei
Pfad zur ausführbaren Keepalived-Datei:
keepalived_executable_path: '/usr/local/sbin/keepalived'
Keepalived Download-URL
URL, von der Keepalived heruntergeladen werden kann:
keepalived_download_url: 'https://www.keepalived.org/software/keepalived-{{ keepalived_version }}.tar.gz'
Name der Vorlage für die Keepalived-Konfigurationsdatei
Name der Vorlagendatei für die Keepalived-Konfigurationsdatei:
keepalived_conf_template: 'keepalived.conf.j2'
Verzeichnis für die Keepalived-Konfiguration
Verzeichnis, das die Keepalived-Konfigurationsdateien enthält:
keepalived_conf_dir: '/etc/keepalived'
Pfad zur Keepalived-Konfigurationsdatei
Pfad zur Keepalived-Konfigurationsdatei:
keepalived_conf_file_path: '/etc/keepalived/keepalived.conf'
Pfad zur Keepalived sysconfig-Datei
Pfad zur Keepalived sysconfig-Datei:
keepalived_sysconfig_file_path: "/etc/keepalived/keepalived.sysconfig"
Name der Vorlage für die Systemd-Dienstdatei
Name der Vorlagendatei für den Systemd-Dienst:
keepalived_service_template: 'keepalived.service.j2'
Pfad zur Keepalived-Dienstdatei
Pfad zur Keepalived-Dienstdatei:
keepalived_service_file_path: '/etc/systemd/system/keepalived.service'
Pfad zur Keepalived PID-Datei
Pfad zur Keepalived PID-Datei:
keepalived_pid_file_path: "/run/keepalived/keepalived.pid"
Benachrichtigungs-E-Mail-Adresse konfigurieren
Empfänger der Benachrichtigungs-E-Mails konfigurieren:
keepalived_notification_email: 'name@localhost'
Absender der Benachrichtigungs-E-Mails konfigurieren
Absender der Benachrichtigungs-E-Mails konfigurieren:
keepalived_notification_email_from: 'keepalived@localhost'
SMTP-Server konfigurieren
IP-Adresse oder FQDN des SMTP-Servers konfigurieren:
keepalived_smtp_server: '127.0.0.1'
Zustand der Keepalived-Instanz MASTER oder BACKUP
Setzen Sie den Zustand der Keepalived-Instanz auf MASTER oder BACKUP:
keepalived_state: 'BACKUP'
Priorität der Keepalived-Instanz
Setzen Sie die Priorität der Keepalived-Instanz:
keepalived_priority: '99'
Maximale automatische Prioritätserhöhung
Maximale Priorität, auf die Keepalived automatisch erhöhen kann (muss im Bereich [0, 99] oder -1 zur Deaktivierung sein):
keepalived_max_auto_priority: '99'
Router-ID der Keepalived-Instanz
Setzen Sie den einzigartigen Namen des Keepalived-Routers:
keepalived_router_id: 'KEEPALIVED_2'
Gewicht der Keepalived-Instanz
Passen Sie die Priorität mit diesem Gewicht an:
keepalived_weight: '0'
Unicast-Quell-IP-Adresse der Keepalived-Instanz
Setzen Sie die Unicast-Quell-IP-Adresse der Keepalived-Instanz:
keepalived_unicast_src_ip: '{{ ansible_default_ipv4.address }}'
Netzwerk-Schnittstelle der Keepalived-Instanz
Setzen Sie die Netzwerkschnittstelle, mit der die schwebende IP-Adresse verknüpft ist:
keepalived_interface: "{{ ansible_default_ipv4.interface }}"
Virtuelle IP-Adresse und Netzwerk-Schnittstelle der Keepalived-Instanz
Setzen Sie die virtuelle IP-Adresse und die Netzwerk-Schnittstelle der Keepalived-Instanz:
keepalived_virtual_ipaddress_config: "{{ keepalived_virtual_ip_address }} dev {{ keepalived_interface }}"
Authentifizierungspasswort der Keepalived-Instanz
Setzen Sie das Authentifizierungspasswort der Keepalived-Instanz:
keepalived_auth_pass: 'changeme'
Skriptsicherheit aktivieren
Flag, um die Skriptsicherheit zu aktivieren, um zu verhindern, dass Skripte vom Root-Benutzer ausgeführt werden, wenn ein Teil des Pfades von einem Nicht-Root-Benutzer schreibbar ist:
keepalived_set_script_security_flag: true
Benutzer für die Ausführung des Keepalived-Skripts
Geben Sie den Benutzernamen an, unter dem das Keepalived-Skript ausgeführt werden soll:
keepalived_script_user: 'haproxy'
Gruppe für die Ausführung des Keepalived-Skripts
Geben Sie den Gruppennamen an, unter dem das Keepalived-Skript ausgeführt werden soll:
keepalived_script_group: 'haproxy'
Flag, um die Prozessverfolgung zu aktivieren
Aktivieren Sie die Prozessverfolgung in der Keepalived-Konfiguration:
keepalived_enable_process_tracking: true
Definieren Sie, welcher Prozess verfolgt werden soll
keepalived_track_process: 'haproxy'
Flag, um ein Skript zur Ausführung zu aktivieren
Aktivieren Sie das Skript, das von Keepalived ausgeführt wird:
keepalived_activate_script: false
Name des Skripts, das ausgeführt werden soll
Geben Sie den Skriptnamen an, der von Keepalived ausgeführt werden soll:
keepalived_script_name: 'chk_haproxy_process'
Befehl des Skripts, das ausgeführt werden soll
Geben Sie den auszuführenden Befehl von Keepalived an:
keepalived_script_command: '/usr/bin/killall -0 haproxy'
Abhängigkeiten
Keine.
Hinweis: Diese Rolle ist für die Verwendung mit, aber nicht beschränkt auf die hifis.haproxy Rolle vorgesehen.
Beispiel-Playbook
- hosts: loadbalancers
roles:
- role: hifis.keepalived
vars:
keepalived_virtual_ip_address: '192.168.33.100'
keepalived_unicast_peers:
- '192.168.33.15'
- '192.168.33.16'
Lizenz
Autorinformation
A role to set up Keepalived in a high availability and scalability context.
ansible-galaxy install hifis.keepalived