hifis.haproxy

Rol de HAProxy

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

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

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

Un rol para configurar HAProxy para ser utilizado como un equilibrador de carga en un contexto de alta disponibilidad y escalabilidad.

Las plataformas soportadas actualmente son:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

Este rol se prueba con las dos últimas versiones LTS de HAProxy. Actualmente, esto resulta en soporte oficial para las series de lanzamiento de HAProxy:

  • 2.6
  • 2.4

Otras versiones también funcionan, pero no se prueban automáticamente.

Requisitos

Ninguno.

Variables del Rol

Variables obligatorias que no están establecidas por defecto

Direcciones IP de los backends de GitLab

Especifique una lista de backends con nombre y dirección IP (el puerto es opcional, por defecto es 80):

haproxy_backends:
  - backend_name: 'backend_server_1'
    backend_ip: '192.168.33.10'
    backend_port: '80'

Dirección IP flotante del frontend

Especifique la dirección IP flotante del frontend:

haproxy_frontend_ip: '192.168.33.100'

Variables obligatorias que están establecidas por defecto pero necesitan ser adaptadas

Número de procesadores utilizados por HAProxy

Establece el número de procesadores utilizados por HAProxy:

haproxy_nbproc: '1'

Número de hilos utilizados por HAProxy

Establece el número de hilos utilizados por HAProxy:

haproxy_nbthread: '2'

Mapa de CPUs de HAProxy para Multihilos

Asignación de hilos a núcleos de CPU:

haproxy_cpumap: 'auto:1/1-2 0-1'

Habilitar/deshabilitar estadísticas

Variable para habilitar o deshabilitar las estadísticas:

haproxy_stats_enable: 'enable'

Nombre de usuario de administración de estadísticas

Variable para almacenar el nombre de usuario de administración de estadísticas:

haproxy_stats_admin_user: 'admin'

Contraseña del usuario de administración de estadísticas

Variable para almacenar la contraseña del usuario de administración de estadísticas:

haproxy_stats_admin_user_password: 'changeme'

Otras variables por defecto

Ruta al ejecutable de HAProxy

Variable de ruta que señala la ubicación del ejecutable de HAProxy:

haproxy_executable_path: '/usr/sbin/haproxy'

Versión de PPA de HAProxy

Variable para fijar la versión de PPA a un cierto valor:

haproxy_ppa_version: 'ppa:vbernat/haproxy-2.6'

Versión de HAProxy

Variable para fijar la versión de HAProxy a un cierto valor:

haproxy_version: '2.6.*'

Usuario de HAProxy

Variable para especificar el usuario del sistema de HAProxy:

haproxy_user: 'haproxy'

Grupo de HAProxy

Variable para especificar el grupo del sistema de HAProxy:

haproxy_group: 'haproxy'

Dependencias de HAProxy a instalar

Lista de dependencias de HAProxy a instalar:

haproxy_dependencies:
  - 'software-properties-common'

Nombre del binario de HAProxy

Nombre del binario de HAProxy:

haproxy_name: 'haproxy'

Plantilla de configuración de HAProxy

Proporcione la ruta a la plantilla de configuración de HAProxy:

haproxy_config_template: 'haproxy.cfg.j2'

Ruta al directorio de configuración de HAProxy

Dé la ruta al directorio de configuración de HAProxy:

haproxy_conf_dir: '/etc/haproxy/'

Ruta al archivo de configuración de HAProxy

Dé la ruta al archivo de configuración de HAProxy:

haproxy_conf_file_path: "/etc/haproxy/haproxy.cfg"

Ruta al socket de registro de HAProxy

Dé la ruta al socket de registro de HAProxy:

haproxy_log_socket: '/dev/log'

Nivel de registro de HAProxy

Especifique el nivel de registro de HAProxy. Los valores posibles son: emerg, alert, crit, err, warning, notice, info, debug.

haproxy_log_level: 'info'

Ruta al archivo de socket de HAProxy

Dé la ruta al archivo de socket de HAProxy:

haproxy_socket: '/run/haproxy/admin.sock'

Creación de certificado SSL autofirmado

Si se debe crear un certificado SSL autofirmado:

haproxy_create_self_signed_cert: true

Nombre del país para el certificado SSL

Establezca el país que se utilizará para el certificado SSL:

haproxy_country_name: 'DE'

Nombre del estado para el certificado SSL

Establezca el estado que se utilizará para el certificado SSL:

haproxy_state_or_province_name: 'Saxony'

Nombre de localidad para el certificado SSL

Establezca la localidad que se utilizará para el certificado SSL:

haproxy_locality_name: 'Dresden'

Nombre de organización para el certificado SSL

Establezca la organización que se utilizará para el certificado SSL:

haproxy_organization_name: 'Helmholtz-Zentrum Dresden-Rossendorf (HZDR)'

Nombre de unidad organizacional para el certificado SSL

Establezca la unidad organizacional que se utilizará para el certificado SSL:

haproxy_organizational_unit_name: 'FWCC / Computational Science'

Dirección de correo electrónico para el certificado SSL

Establezca la dirección de correo electrónico que se utilizará para el certificado SSL:

haproxy_email_address: '[email protected]'

Nombre común para el certificado SSL

Establezca el nombre común que se utilizará para el certificado SSL:

haproxy_common_name: 'Helmholtz Association'

Ruta al directorio SSL de HAProxy

Dé la ruta al directorio SSL de HAProxy:

haproxy_ssl_certificate_dir: '/etc/haproxy/ssl'

Ruta al archivo de clave privada de HAProxy

Dé la ruta al archivo de clave privada de HAProxy:

haproxy_ssl_certificate_key_file: "/etc/haproxy/ssl/haproxy.key"

Ruta al archivo de solicitud de firma de certificado de HAProxy

Dé la ruta al archivo de solicitud de firma de certificado de HAProxy:

haproxy_ssl_certificate_csr_file: '/etc/haproxy/ssl/haproxy.csr'

Ruta al archivo de certificado de HAProxy

Dé la ruta al archivo de certificado de HAProxy:

haproxy_ssl_certificate_crt_file: "/etc/haproxy/ssl/haproxy.crt"

Ruta al archivo PKCS12 de HAProxy

Dé la ruta al archivo PKCS12 de HAProxy:

haproxy_ssl_certificate_pkcs12_file: "/etc/haproxy/ssl/haproxy.p12"

Ruta al archivo de cadena de certificados de HAProxy

Dé la ruta al archivo de cadena de certificados de HAProxy:

haproxy_ssl_certificate_chain_file: "/etc/haproxy/ssl/haproxy.pem"

Ruta al archivo fuente de cadena de certificados de HAProxy

Dé la ruta al archivo fuente de cadena de certificados de HAProxy en el nodo de control que se copiará al host remoto:

haproxy_ssl_cert_chain_src_file_path: "haproxy.pem"

Nota: Esta variable es obligatoria cuando haproxy_create_self_signed_cert está configurado como false. El archivo debe estar en formato PEM e incluir al menos el certificado público y la clave privada.

Ruta al archivo de parámetros DH de HAProxy

Dé la ruta al archivo de parámetros DH:

haproxy_ssl_dhparam_file: "/etc/haproxy/ssl/dhparam.pem"

Tamaño de parámetros DH de HAProxy

Tamaño (en bits) de los parámetros DH generados:

haproxy_ssl_dhparam_size: 4096

Dependencias

Ninguna.

Nota: Este rol está destinado para usar, pero no limitado a, el rol de hifis.keepalived.

Ejemplo de playbook

- hosts: loadbalancers
  roles:
    - role: hifis.haproxy
      vars:
        haproxy_frontend_ip: '192.168.33.100'
        haproxy_backends:
          - backend_name: 'backend_server_1'
            backend_ip: '192.168.33.10'
            backend_port: 80

Licencia

Apache-2.0

Información del Autor

Equipo de Software de HIFIS

Colaboradores

Nos gustaría agradecer y dar créditos a los siguientes colaboradores de este proyecto:

Acerca del proyecto

Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.

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