hifis.keepalived

Rol de Keepalived

:warning: ¡Este proyecto está archivado! :warning:

Este rol ha sido migrado a nuestra colección hifis.toolkit:

Estado CI Rol de Ansible: hifis.keepalived Descargas de Rol de Ansible Licencia Apache-2.0 Última versión

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

Apache-2.0

Información del Autor

Equipo de Servicios de Software HIFIS

Acerca del proyecto

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

Instalar
ansible-galaxy install hifis.keepalived
Licencia
other
Descargas
26.6k
Propietario
Helmholtz Digital Services for Science — Collaboration made easy.