evrardjp.keepalived
Keepalived
Ce rôle installe keepalived et le configure selon les variables que vous fournirez.
Exigences
Pas d'exigences spéciales. Seulement la gestion des paquets et des fichiers dans le rôle.
À partir de cette version du rôle 4.0.0, les versions minimales de systèmes d'exploitation suivantes sont requises :
- Ubuntu : 15.04 ou supérieur
- Debian : Jessie ou supérieur
- CentOS : 7 ou supérieur
Pour les systèmes d'exploitation plus anciens, veuillez utiliser une version précédente de ce rôle.
Variables du Rôle
Par défaut, ce rôle nconfigure pas keepalived, il l'installe à peine. Ainsi, keepalived est entièrement flexible selon ce que vous donnez en entrée.
Des exemples sont fournis dans le dossier vars. Ne les essayez pas immédiatement, ils ne fonctionneront pas ! (Vous devez définir les VIP, les mots de passe, etc.). Les exemples ne sont qu'une source d'inspiration.
Les variables principales sont :
- keepalived_instances : C'est un dictionnaire obligatoire. Il rassemble des informations sur les vips, l'état préféré (maître/sauvegarde), les ID VRRIP et les priorités, le mot de passe utilisé pour l'authentification... C'est ici que des éléments tels que nopreempt sont configurés. Nopreempt permet de rester en état de sauvegarde (au lieu de passer à un maître configuré) lors d'un retour d disponibilité du maître après sa défaillance. Veuillez consulter le modèle pour le support des paramètres supplémentaires et la documentation originale de keepalived pour leur configuration.
- keepalived_sync_groups : C'est un dictionnaire optionnel. Il regroupe les éléments définis dans keepalived_instances et (si souhaité) permet la configuration de scripts de notifications par groupe de keepalived_instances. Les scripts de notification sont déclenchés lors d'un changement d'état de keepalived et sont facultatifs.
- keepalived_virtual_servers : C'est un dictionnaire optionnel. Il configure un serveur virtuel + port et équilibre le trafic entre les serveurs réels donnés dans un sous-dictionnaire. Consultez les fichiers _example.yaml dans vars/ pour voir un exemple sur l'utilisation de ce dictionnaire. La documentation officielle pour le virtual_server de keepalived peut être trouvée ici.
- keepalived_scripts : C'est un dictionnaire optionnel où vous pouvez avoir des scripts de vérification qui peuvent déclencher les scripts de notification.
- keepalived_bind_on_non_local : Cette variable (par défaut à "False") détermine si le système qui héberge keepalived permettra à ses applications de se lier à des adresses non locales. Si vous la définissez sur vrai, cela permet aux applications de se lier (et de démarrer) même si elles n'ont actuellement pas le VIP par exemple.
Veuillez consulter les exemples pour plus d'explications sur la façon dont ces dictionnaires doivent être configurés.
Vous pouvez trouver un exemple de playbook dans ce README et d'autres exemples dans tests/
, y compris des exemples sur la configuration des variables.
D'autres variables modifiables sont listées dans defaults/main.yml. Veuillez lire l'explication si vous souhaitez les remplacer.
Un exemple de script de notification est également fourni, dans le dossier files.
Une autre bonne source d'informations est le dépôt officiel de keepalived GIT où vous pouvez trouver un keepalived.conf entièrement commenté. De nombreux échantillons officiels sont également fournis.
Dépendances
Pas de dépendance
Exemple de Playbook
Voyez-le dans tests/keepalived-install-example.yml
Licence
Apache2
Informations sur l'Auteur
Jean-Philippe Evrard
This role installs and configure keepalived based on a simple dict
ansible-galaxy install evrardjp.keepalived