hifis.keepalived
Rol de Keepalived
:warning: ¡Este proyecto está archivado! :warning:
Este rol ha sido migrado a nuestra colección hifis.toolkit
:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
Rol de Ansible para configurar Keepalived en un contexto de alta disponibilidad y escalabilidad.
Las plataformas soportadas actualmente son:
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
Requisitos
Ninguno.
Variables del Rol
Variables requeridas que no están configuradas por defecto
Direcciones IP de los pares unicast de la instancia de Keepalived
Configura las direcciones IP de los pares unicast de la instancia de Keepalived:
keepalived_unicast_peers:
- '192.168.33.15'
- '192.168.33.16'
Dirección IP virtual de la instancia de Keepalived
Configura la dirección IP virtual de la instancia de Keepalived:
keepalived_virtual_ip_address: '192.168.33.100'
Opcional: Lista de configuraciones de direcciones IP virtuales
Si necesitas configurar múltiples direcciones IP virtuales puedes definir esta variable opcional. Tiene prioridad sobre keepalived_virtual_ip_address
.
keepalived_virtual_ipaddress_configs:
- "10.0.10.15 dev eth0"
- "10.0.11.15 dev eht1"
Todas las demás Variables por Defecto
Versión de Keepalived
Variable para fijar la versión de Keepalived a un cierto valor:
keepalived_version: '2.2.8'
Lista de dependencias de Keepalived
Lista de dependencias de Keepalived que se deben instalar:
keepalived_dependencies:
- 'build-essential'
- 'curl'
- 'gcc'
- 'libssl-dev'
- 'libnl-3-dev'
- 'libnl-genl-3-dev'
- 'libsnmp-dev'
Ruta del ejecutable de Keepalived
Ruta al ejecutable de Keepalived:
keepalived_executable_path: '/usr/local/sbin/keepalived'
URL de descarga de Keepalived
URL desde donde se puede descargar Keepalived:
keepalived_download_url: 'https://www.keepalived.org/software/keepalived-{{ keepalived_version }}.tar.gz'
Nombre de la plantilla del archivo de configuración de Keepalived
Nombre del archivo de plantilla para el archivo de configuración de Keepalived:
keepalived_conf_template: 'keepalived.conf.j2'
Directorio de configuración de Keepalived
Directorio que contiene los archivos de configuración de Keepalived:
keepalived_conf_dir: '/etc/keepalived'
Ruta del archivo de configuración de Keepalived
Ruta al archivo de configuración de Keepalived:
keepalived_conf_file_path: '/etc/keepalived/keepalived.conf'
Ruta del archivo de configuración del sistema de Keepalived
Ruta del archivo de configuración del sistema de Keepalived:
keepalived_sysconfig_file_path: "/etc/keepalived/keepalived.sysconfig"
Nombre del archivo de plantilla del servicio de Systemd
Nombre del archivo de plantilla para el servicio de Systemd:
keepalived_service_template: 'keepalived.service.j2'
Ruta del archivo de servicio de Keepalived
Ruta del archivo de servicio de Keepalived:
keepalived_service_file_path: '/etc/systemd/system/keepalived.service'
Ruta del archivo PID de Keepalived
Ruta al archivo PID de Keepalived:
keepalived_pid_file_path: "/run/keepalived/keepalived.pid"
Configurar dirección de correo electrónico de notificación
Configura el destinatario de los correos electrónicos de notificación:
keepalived_notification_email: 'name@localhost'
Configurar remitente de notificación
Configura el remitente de los correos electrónicos de notificación:
keepalived_notification_email_from: 'keepalived@localhost'
Configurar servidor SMTP
Configura la dirección IP o el FQDN del servidor SMTP:
keepalived_smtp_server: '127.0.0.1'
Estado de la instancia de Keepalived MASTER o BACKUP
Configura el estado de la instancia de Keepalived a MASTER o BACKUP:
keepalived_state: 'BACKUP'
Prioridad de la instancia de Keepalived
Configura la prioridad de la instancia de Keepalived:
keepalived_priority: '99'
Máxima prioridad automática incrementada de Keepalived
Máxima prioridad a la que Keepalived puede aumentar automáticamente (debe estar en el rango [0, 99] o -1 para deshabilitar):
keepalived_max_auto_priority: '99'
ID del router de la instancia de Keepalived
Configura el nombre único del router de Keepalived:
keepalived_router_id: 'KEEPALIVED_2'
Peso de la instancia de Keepalived
Ajusta la prioridad por este peso:
keepalived_weight: '0'
Dirección IP de origen unicast de la instancia de Keepalived
Configura la dirección IP de origen unicast de la instancia de Keepalived:
keepalived_unicast_src_ip: '{{ ansible_default_ipv4.address }}'
Interfaz de red de la instancia de Keepalived
Configura la interfaz de red a la que está asociada la dirección IP flotante:
keepalived_interface: "{{ ansible_default_ipv4.interface }}"
Dirección IP virtual de la instancia de Keepalived y la interfaz de red
Configura la dirección IP virtual y la interfaz de red de la instancia de Keepalived:
keepalived_virtual_ipaddress_config: "{{ keepalived_virtual_ip_address }} dev {{ keepalived_interface }}"
Contraseña de autenticación de la instancia de Keepalived
Configura la contraseña de autenticación de la instancia de Keepalived:
keepalived_auth_pass: 'cambiame'
Habilitar seguridad en scripts
Activar la seguridad de scripts para evitar que el script se ejecute como usuario root si cualquier parte de la ruta es escribible por un usuario que no es root:
keepalived_set_script_security_flag: true
Usuario para ejecutar el script de Keepalived
Especifica el nombre de usuario para ejecutar el script de Keepalived:
keepalived_script_user: 'haproxy'
Grupo para ejecutar el script de Keepalived
Especifica el nombre del grupo para ejecutar el script de Keepalived:
keepalived_script_group: 'haproxy'
Bandera para activar el seguimiento de procesos
Activar el seguimiento de procesos en la configuración de keepalived:
keepalived_enable_process_tracking: true
Definir qué proceso se debe rastrear
keepalived_track_process: 'haproxy'
Bandera para activar un script que se ejecutará
Activar el script que es ejecutado por Keepalived:
keepalived_activate_script: false
Nombre del script a ejecutar
Especifica el nombre del script a ejecutar por Keepalived:
keepalived_script_name: 'chk_haproxy_process'
Comando del script a ejecutar
Especifica el comando a ejecutar por Keepalived:
keepalived_script_command: '/usr/bin/killall -0 haproxy'
Dependencias
Ninguna.
Nota: Este rol está destinado a ser utilizado con, pero no limitado a, el rol hifis.haproxy.
Ejemplo 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'
Licencia
Información del Autor
A role to set up Keepalived in a high availability and scalability context.
ansible-galaxy install hifis.keepalived