Compare commits
2 Commits
eaee8cd2ae
...
3f2191b59e
Author | SHA1 | Date | |
---|---|---|---|
3f2191b59e | |||
954528bd4d |
19
README.md
19
README.md
@ -52,6 +52,25 @@ Adresse IPv6 de failover.
|
||||
|
||||
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
|
||||
|
||||
### keepalived_peers
|
||||
|
||||
Passer en unicast en utilisant cette liste d'IP.
|
||||
|
||||
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
|
||||
|
||||
### keepalived_scripts_path
|
||||
|
||||
Emplacement où les scripts de keepalived seront déployés.
|
||||
|
||||
*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
|
||||
|
||||
### keepalived_notify_{master,backup,fault,stop}
|
||||
|
||||
Booléen permettant d'activer ou non le script en fonction de l'état de keepalived.<br>
|
||||
Les scripts sont déployés dans `<keepalived_scripts_path>/notify_{master,backup,fault,stop}.sh`.
|
||||
|
||||
*<span style="text-decoration: underline">Valeur par défaut:</span> `false`*
|
||||
|
||||
### keepalived_track_scripts
|
||||
|
||||
Liste de script dont le code retour doit être à zéro pour que le membre conserve ou puisse prendre l'IP de failover.
|
||||
|
@ -11,6 +11,15 @@ keepalived_mail_from: ""
|
||||
keepalived_ipv4: ""
|
||||
keepalived_ipv6: ""
|
||||
|
||||
keepalived_peers: []
|
||||
|
||||
keepalived_scripts_path: ""
|
||||
|
||||
keepalived_notify_master: false
|
||||
keepalived_notify_backup: false
|
||||
keepalived_notify_fault: false
|
||||
keepalived_notify_stop: false
|
||||
|
||||
keepalived_track_scripts: []
|
||||
# Exemple:
|
||||
# - name: check_haproxy_8080
|
||||
|
@ -14,3 +14,10 @@ galaxy_info:
|
||||
|
||||
dependencies:
|
||||
- role: users
|
||||
vars:
|
||||
users:
|
||||
- name: keepalived_script
|
||||
comment: "Dedicated user for keepalived script"
|
||||
update_password: on_create
|
||||
password_lock: true
|
||||
shell: /bin/bash
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
# tasks file for keepalived
|
||||
|
||||
- name: Installer keepalived
|
||||
- name: Installer le paquet
|
||||
ansible.builtin.apt:
|
||||
name: keepalived
|
||||
become: true
|
||||
@ -15,3 +15,31 @@
|
||||
dest: /etc/keepalived/keepalived.conf
|
||||
become: true
|
||||
notify: Redémarrer keepalived.service
|
||||
|
||||
- name: Créer le dossier de déploiement des scripts
|
||||
ansible.builtin.file:
|
||||
path: /srv/keepalived
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rwX,g=rX,o=rX
|
||||
state: directory
|
||||
when: keepalived_scripts_path | length > 0
|
||||
become: true
|
||||
|
||||
- name: Déployer les scripts
|
||||
ansible.builtin.copy:
|
||||
src: keepalived/notify_{{ item | split('_') | last }}.sh
|
||||
dest: "{{ keepalived_scripts_path }}"
|
||||
owner: keepalived_script
|
||||
group: keepalived_script
|
||||
mode: u=rx,g=rx,o=
|
||||
when:
|
||||
- keepalived_scripts_path | length > 0
|
||||
- vars[item]
|
||||
loop:
|
||||
- keepalived_notify_master
|
||||
- keepalived_notify_backup
|
||||
- keepalived_notify_fault
|
||||
- keepalived_notify_stop
|
||||
become: true
|
||||
notify: Redémarrer keepalived.service
|
||||
|
@ -40,6 +40,16 @@ vrrp_instance VIP_{{ keepalived_uid }} {
|
||||
virtual_router_id {{ keepalived_uid }}
|
||||
advert_int 1
|
||||
|
||||
{% if keepalived_peers | length > 0 %}
|
||||
unicast_peer {
|
||||
{% for peer in keepalived_peers %}
|
||||
{% if peer != ansible_facts[keepalived_interface]['ipv4']['address'] %}
|
||||
{{ peer }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
{% if keepalived_ipv4 | length > 0 %}
|
||||
virtual_ipaddress {
|
||||
{{ keepalived_ipv4 }} dev {{ keepalived_interface }} scope global
|
||||
@ -52,6 +62,19 @@ vrrp_instance VIP_{{ keepalived_uid }} {
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
{% if keepalived_notify_master %}
|
||||
notify_master {{ keepalived_scripts_path }}/notify_master.sh
|
||||
{% endif %}
|
||||
{% if keepalived_notify_backup %}
|
||||
notify_backup {{ keepalived_scripts_path }}/notify_backup.sh
|
||||
{% endif %}
|
||||
{% if keepalived_notify_fault %}
|
||||
notify_fault {{ keepalived_scripts_path }}/notify_fault.sh
|
||||
{% endif %}
|
||||
{% if keepalived_notify_stop %}
|
||||
notify_stop {{ keepalived_scripts_path }}/notify_stop.sh
|
||||
{% endif %}
|
||||
|
||||
{% if keepalived_track_scripts | length > 0 %}
|
||||
track_script {
|
||||
{% for script in keepalived_track_scripts %}
|
||||
|
Loading…
Reference in New Issue
Block a user