evrardjp.keepalived

Keepalived

Este rol instala keepalived y lo configura según las variables que le pases al rol.

Requisitos

No se requieren requisitos complicados. Solo manejo de paquetes y archivos en el rol.

A partir de la versión 4.0.0 de este rol, se requieren las siguientes versiones mínimas de SO:

  • Ubuntu: 15.04 o superior
  • Debian: Jessie o superior
  • CentOS: 7 o superior

Para sistemas operativos más antiguos, utiliza una versión anterior de este rol.

Variables del Rol

Por defecto, este rol no configura keepalived, solo lo instala. De esta manera, keepalived es totalmente flexible según lo que proporciones como entrada. Se dan ejemplos en la carpeta vars. ¡No los intentes inmediatamente, no funcionarán! (Necesitas definir VIPs, contraseñas, etc.). Los ejemplos son solo una fuente de inspiración.

Las principales variables son:

  • keepalived_instances: Este es un diccionario obligatorio. Recoge información sobre los VIPs, el estado preferido (master/backup), los IDs de VRRIP y prioridades, la contraseña utilizada para la autenticación... Aquí es donde se configuran cosas como nopreempt. Nopreempt permite permanecer en estado de backup (en lugar de pasar al master configurado) cuando vuelve a estar disponible, tras una falla. Consulta la plantilla para más configuraciones de soporte y la documentación original de keepalived para su configuración.
  • keepalived_sync_groups: Este es un diccionario opcional. Agrupa elementos definidos en keepalived_instances y (si se desea) permite la configuración de scripts de notificación por grupo de keepalived_instances. Los scripts de notificación se activan cuando cambia el estado de keepalived y son opcionales.
  • keepalived_virtual_servers: Este es un diccionario opcional. Configura un servidor virtual + puerto y distribuye el tráfico entre los real_servers dados en un sub diccionario. Consulta los archivos _example.yaml en vars/ para ver un ejemplo de cómo usar este diccionario. La documentación oficial para el virtual_server de keepalived se puede encontrar aquí.
  • keepalived_scripts: Este es un diccionario opcional donde puedes tener scripts de verificación que pueden activar los scripts de notificación.
  • keepalived_bind_on_non_local: Esta variable (por defecto "False") determina si el sistema que aloja keepalived permitirá a sus aplicaciones enlazarse en direcciones no locales. Si lo estableces como verdadero, esto permite que las aplicaciones se enlacen (y comiencen) incluso si no tienen actualmente el VIP, por ejemplo.

Consulta los ejemplos para más explicaciones sobre cómo deben configurarse estos diccionarios. Puedes encontrar un ejemplo de playbook en este README y otros ejemplos en tests/, incluyendo ejemplos sobre la configuración de variables.

Otras variables editables están listadas en el archivo defaults/main.yml. Por favor, lee la explicación allí si quieres anularlas. También se proporciona un ejemplo de un script de notificación en la carpeta de archivos.

Otra buena fuente de información es el repositorio GIT oficial de keepalived donde puedes encontrar un keepalived.conf completamente comentado. También se proporcionan varios ejemplos oficiales.

Dependencias

Sin dependencias

Ejemplo de Playbook

Míralo en tests/keepalived-install-example.yml

Licencia

Apache2

Información del Autor

Jean-Philippe Evrard

Acerca del proyecto

This role installs and configure keepalived based on a simple dict

Instalar
ansible-galaxy install evrardjp.keepalived
Licencia
apache-2.0
Descargas
1.4M