hifis.keepalived

Keepalived Rolle

:warning: Dieses Projekt ist archiviert! :warning:

Diese Rolle wurde in unsere hifis.toolkit Sammlung migriert:

CI Status Ansible Rolle: hifis.keepalived Ansible Rollen-Downloads Apache-2.0 Lizenz Neueste Version

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

Apache-2.0

Autorinformation

HIFIS Software Services Team

Über das Projekt

A role to set up Keepalived in a high availability and scalability context.

Installieren
ansible-galaxy install hifis.keepalived
Lizenz
other
Downloads
26.6k
Besitzer
Helmholtz Digital Services for Science — Collaboration made easy.