mirror of
https://gitea.0xace.cc/ansible-galaxy/keepalived.git
synced 2024-11-24 15:56:39 +00:00
1.9 KiB
1.9 KiB
Idempotent ansible role for Keepalived service
Config examples
Using template config
keepalived_config:
global_defs:
router_id: t1-dev-rabbitmq
vrrp_track_process:
haproxy:
process: haproxy
quorum: 1
delay: 2
vrrp_instance:
VRRP_1:
state: MASTER
virtual_router_id: 50
priority: "{{ ansible_default_ipv4.address.split('.')[-1][-2:] }}"
interface: "{{ ansible_default_ipv4.interface }}"
unicast_src_ip: "{{ ansible_default_ipv4.address }}"
unicast_peer:
- 10.89.10.71
- 10.89.10.72
- 10.89.10.73
virtual_ipaddress:
- "10.89.10.112/32 dev {{ ansible_default_ipv4.interface }}"
track_process:
- haproxy
Complete config override
keepalived_config_override: |
global_defs {
router_id {{ patroni_cluster_name | default('default') }}
}
vrrp_track_process haproxy {
process haproxy
quorum 1
delay 2
}
vrrp_instance VRRP_1 {
state MASTER
virtual_router_id {{ keepalived_vip.split('.')[-1][-3:] }}
priority {{ ansible_enp3s0.ipv4.address.split('.')[-1][-3:] | default(ansible_default_ipv4.address.split('.')[-1][-3:]) }}
interface {{ ansible_enp3s0.device | default(ansible_default_ipv4.interface) }}
unicast_src_ip {{ ansible_enp3s0.ipv4.address | default(ansible_default_ipv4.address) }}
unicast_peer {
{% for peer in groups.all %}
{{ hostvars[peer].ansible_enp3s0.ipv4.address if hostvars[peer].ansible_enp3s0.ipv4.address != ansible_enp3s0.ipv4.address }}
{% endfor %}
}
virtual_ipaddress {
{{ keepalived_vip }}/32 dev enp3s0
}
track_process {
haproxy
}
}