hifis.keepalived
Rôle Keepalived
:warning: Ce projet est archivé ! :warning:
Ce rôle a été migré vers notre collection hifis.toolkit
:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
Rôle Ansible pour configurer Keepalived dans un contexte de haute disponibilité et d'évolutivité.
Les plateformes prises en charge actuellement sont :
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
Exigences
Aucune.
Variables du rôle
Variables requises qui ne sont pas définies par défaut
Adresses IP de pairs unicast de l'instance Keepalived
Définissez les adresses IP de pairs unicast de l'instance Keepalived :
keepalived_unicast_peers:
- '192.168.33.15'
- '192.168.33.16'
Adresse IP virtuelle de l'instance Keepalived
Définissez l'adresse IP virtuelle de l'instance Keepalived :
keepalived_virtual_ip_address: '192.168.33.100'
Optionnel : Liste des configurations d'adresses IP virtuelles
Si vous devez configurer plusieurs adresses IP virtuelles, vous pouvez définir cette variable optionnelle. Cela prend le pas sur keepalived_virtual_ip_address
.
keepalived_virtual_ipaddress_configs:
- "10.0.10.15 dev eth0"
- "10.0.11.15 dev eht1"
Toutes les autres variables par défaut
Version de Keepalived
Variable pour définir la version de Keepalived à une certaine valeur :
keepalived_version: '2.2.8'
Liste des dépendances de Keepalived
Liste des dépendances de Keepalived à installer :
keepalived_dependencies:
- 'build-essential'
- 'curl'
- 'gcc'
- 'libssl-dev'
- 'libnl-3-dev'
- 'libnl-genl-3-dev'
- 'libsnmp-dev'
Chemin vers l'exécutable Keepalived
Chemin vers l'exécutable Keepalived :
keepalived_executable_path: '/usr/local/sbin/keepalived'
URL de téléchargement de Keepalived
URL à partir de laquelle Keepalived peut être téléchargé :
keepalived_download_url: 'https://www.keepalived.org/software/keepalived-{{ keepalived_version }}.tar.gz'
Nom du fichier modèle de configuration Keepalived
Nom du fichier modèle pour le fichier de configuration Keepalived :
keepalived_conf_template: 'keepalived.conf.j2'
Répertoire de configuration Keepalived
Répertoire contenant les fichiers de configuration Keepalived :
keepalived_conf_dir: '/etc/keepalived'
Chemin du fichier de configuration Keepalived
Chemin vers le fichier de configuration Keepalived :
keepalived_conf_file_path: '/etc/keepalived/keepalived.conf'
Chemin du fichier de sysconfig Keepalived
Chemin vers le fichier de sysconfig Keepalived :
keepalived_sysconfig_file_path: "/etc/keepalived/keepalived.sysconfig"
Nom du fichier modèle de service Systemd
Nom du fichier modèle pour le service Systemd :
keepalived_service_template: 'keepalived.service.j2'
Chemin du fichier de service Keepalived
Chemin vers le fichier de service Keepalived :
keepalived_service_file_path: '/etc/systemd/system/keepalived.service'
Chemin du fichier PID Keepalived
Chemin vers le fichier PID Keepalived :
keepalived_pid_file_path: "/run/keepalived/keepalived.pid"
Configurer l'adresse e-mail de notification
Configurer le destinataire des e-mails de notification :
keepalived_notification_email: 'name@localhost'
Configurer l'expéditeur de notification
Configurer l'expéditeur des e-mails de notification :
keepalived_notification_email_from: 'keepalived@localhost'
Configurer le serveur SMTP
Configurer l'adresse IP ou le FQDN du serveur SMTP :
keepalived_smtp_server: '127.0.0.1'
État de l'instance Keepalived MASTER ou BACKUP
Définissez l'état de l'instance Keepalived sur MASTER ou BACKUP :
keepalived_state: 'BACKUP'
Priorité de l'instance Keepalived
Définissez la priorité de l'instance Keepalived :
keepalived_priority: '99'
Priorité automatique maximale augmentée
Priorité maximale à laquelle Keepalived peut augmenter automatiquement (doit être dans la plage [0, 99] ou -1 pour désactiver) :
keepalived_max_auto_priority: '99'
ID de routeur de l'instance Keepalived
Définissez le nom unique du routeur Keepalived :
keepalived_router_id: 'KEEPALIVED_2'
Poids de l'instance Keepalived
Ajustez la priorité par ce poids :
keepalived_weight: '0'
Adresse IP source unicast de l'instance Keepalived
Définissez l'adresse IP source unicast de l'instance Keepalived :
keepalived_unicast_src_ip: '{{ ansible_default_ipv4.address }}'
Interface réseau de l'instance Keepalived
Définissez l'interface réseau à laquelle l'adresse IP flottante est associée :
keepalived_interface: "{{ ansible_default_ipv4.interface }}"
Adresse IP virtuelle de l'instance Keepalived et interface réseau
Définissez l'adresse IP virtuelle et l'interface réseau de l'instance Keepalived :
keepalived_virtual_ipaddress_config: "{{ keepalived_virtual_ip_address }} dev {{ keepalived_interface }}"
Mot de passe d'authentification de l'instance Keepalived
Définissez le mot de passe d'authentification de l'instance Keepalived :
keepalived_auth_pass: 'changeme'
Activer la sécurité des scripts
Drapeau pour activer la sécurité des scripts pour empêcher l'exécution de scripts par l'utilisateur root si une partie du chemin est accessible en écriture par un utilisateur non root :
keepalived_set_script_security_flag: true
Utilisateur pour exécuter le script Keepalived
Spécifiez le nom d'utilisateur pour exécuter le script Keepalived :
keepalived_script_user: 'haproxy'
Groupe pour exécuter le script Keepalived
Spécifiez le nom du groupe pour exécuter le script Keepalived :
keepalived_script_group: 'haproxy'
Drapeau pour activer le suivi des processus
Activez le suivi des processus dans la configuration de Keepalived :
keepalived_enable_process_tracking: true
Définir quel processus doit être suivi
keepalived_track_process: 'haproxy'
Drapeau pour activer un script à exécuter
Activez le script qui est exécuté par Keepalived :
keepalived_activate_script: false
Nom du script à exécuter
Spécifiez le nom du script à exécuter par Keepalived :
keepalived_script_name: 'chk_haproxy_process'
Commande du script à exécuter
Spécifiez la commande à exécuter par Keepalived :
keepalived_script_command: '/usr/bin/killall -0 haproxy'
Dépendances
Aucune.
Remarque : Ce rôle est destiné à être utilisé avec, mais pas seulement avec, le rôle hifis.haproxy.
Exemple de 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'
Licence
Informations sur l'auteur
A role to set up Keepalived in a high availability and scalability context.
ansible-galaxy install hifis.keepalived