Ansible role to configure failover IPs via Keepalived
Ansible role to configure failover IPs via Keepalived.
Building and improving this Ansible role have been sponsored by my current and previous employers like Cloudpunks GmbH and Proact Deutschland GmbH.
2.10
Optional list of additional arguments for the keepalived exporter
keepalived_exporter_args: []
URL to the keepalived exporter to install
keepalived_exporter_download: https://github.com/gen2brain/keepalived_exporter/releases/download/v{{
keepalived_exporter_version }}/keepalived_exporter-{{ keepalived_exporter_version
}}-amd64.tar.gz
Enable the installation of the keepalived exporter
keepalived_exporter_enabled: true
Address to bind the exporter to
keepalived_exporter_listen_address: 0.0.0.0:9650
Send SIGJSON and decode JSON file instead of parsing text files
keepalived_exporter_read_json: true
Path to serve the metrics from
keepalived_exporter_telemetry_path:
Version of the keepalived exporter to install
keepalived_exporter_version: 0.7.1
Definitions for floating IPs
keepalived_instances: []
keepalived_instances:
- name: haproxy
interface: ens224
router: 228
password: p455w0rd
script: /usr/bin/killall -0 haproxy
address:
- 192.168.1.17/28
routes:
- 0.0.0.0/1 via 213.32.231.129 dev ens224
- 128.0.0.0/1 via 213.32.231.129 dev ens224
interfaces:
- ens224
peers:
- 192.168.1.18
- 192.168.1.19
state:
haproxy-01: MASTER
haproxy-02: BACKUP
priority:
haproxy-01: 99
haproxy-02: 98
notify:
master: |
/usr/sbin/route add default gw 192.168.1.1 || true
backup: |
/usr/sbin/route delete default gw 192.168.1.1 || true
Group for running scripts
keepalived_script_group: '{{ keepalived_script_user }}'
Shell for the script user
keepalived_script_shell: /usr/sbin/nologin
User for running scripts
keepalived_script_user: keepalive_script
keepalived
keepalived-exporter
Apache-2.0