hifis.keepalived

Rôle Keepalived

:warning: Ce projet est archivé ! :warning:

Ce rôle a été migré vers notre collection hifis.toolkit :

État CI Rôle Ansible : hifis.keepalived Téléchargements du rôle Ansible Licence Apache-2.0 Dernière version

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

Apache-2.0

Informations sur l'auteur

Équipe des services logiciels HIFIS

À propos du projet

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

Installer
ansible-galaxy install hifis.keepalived
Licence
other
Téléchargements
26.6k
Propriétaire
Helmholtz Digital Services for Science — Collaboration made easy.