rhtconsulting.haproxy

haproxy

Rol de Ansible para instalar y configurar HAProxy para una o más aplicaciones balanceadas por carga.

Este rol opina que, en lugar de preocuparse por configurar servidores frontend y backend en HAProxy, el usuario debería preocuparse por configurar aplicaciones balanceadas por carga. Por lo tanto, el uso de este rol se basa en la idea de que el usuario especifica las aplicaciones que le gustaría balancear y deja que el rol se encargue de configurar los servidores frontend y backend de HAProxy.

Requisitos

Requisitos para que este rol funcione.

Paquetes

Paquetes que deben estar disponibles para que el rol pueda instalar.

  • haproxy

Servicios

Servicios que deben estar habilitados para que el rol los configure.

  • firewalld

Variables del Rol

Información sobre los parámetros esperados del rol.

parámetro requerido predeterminado opciones comentarios
haproxy_applications Lista de hashes que definen las aplicaciones para balancear carga

haproxy_applications

El parámetro haproxy_applications es una lista de hashes que definen las aplicaciones para balancear carga. Cada elemento de la lista puede contener los siguientes parámetros.

parámetro requerido predeterminado opciones comentarios
name Nombre de la aplicación. Se usa para definir servidores frontend y backend. Debe ser descriptivo, ya que aparecerá en las estadísticas de HAProxy. Debe coincidir con /a-zA-Z0-9-_/
domain FQDN que se resolverá a los servidores HAProxy para balancear la carga de los servers. Puede ser un FQDN simple o una expresión regex para coincidir con un dominio.
domain_is_regex no false true, false true si el domain dado es regex, false para tratarlo como un FQDN simple.
expose_http no false true, false true para exponer esta aplicación en http, false para no exponer en http.
expose_https no false true, false true para exponer esta aplicación en https, false para no exponer en https.
redirect_http_to_https no false true, false true para redirigir automáticamente http a https, false para no redirigir.
servers Lista de hashes que definen los servidores para balancear carga.

servers

Cada elemento en la lista haproxy_applications debe contener una clave servers, la cual es una lista de hashes que definen los servidores a balancear para la respectiva aplicación. Cada elemento de la lista puede contener los siguientes parámetros.

parámetro requerido predeterminado opciones comentarios
name Nombre usado para referenciar al servidor. Se mostrará en las estadísticas de HAProxy. Debe coincidir con /a-zA-Z0-9-_/
address FQDN o IP del servidor para balancear carga.
port_http no 80 Puerto del servidor en address para balancear cuando expose_http es true.
port_https no 443 Puerto del servidor en address para balancear cuando expose_https es true.

Ejemplos de Playbooks

Balancear carga Ansible Tower

- name: HAProxy
  hosts: haproxy
  roles:
    - role: haproxy
      haproxy_applications:
        - name: ansible-tower
          domain: tower.example.com
          expose_https: True
          redirect_http_to_https: True
          servers:
            - name: tower0002
              address: tower0002.example.com
            - name: tower0003
              address: tower0003.example.com
            - name: tower0004
              address: tower0004.example.com

Balancear carga de los maestros y routers de OpenShift Container Platform (OCP)

- name: HAProxy
  hosts: haproxy
  roles:
    - role: haproxy
      haproxy_applications:
        - name: ocp-admin
          domain: ocp.example.com
          expose_https: True
          redirect_http_to_https: True
          servers:
            - name: ocp0002-master
              address: ocp0002.example.com
            - name: ocp0003-master
              address: ocp0003.example.com
            - name: ocp0004-master
              address: ocp0004.example.com
        - name: ocp-router
          domain: .*.apps.example.com
          domain_is_regex: True
          expose_https: True
          expose_http: True
          redirect_http_to_https: False
          servers:
            - name: ocp0005-infra
              address: ocp0005.example.com
            - name: ocp0006-infra
              address: ocp0006.example.com
            - name: ocp0007-infra
              address: ocp0007.example.com

Información del Autor

Acerca del proyecto

Ansible role for installing and configuring HAProxy for one or many frontend and backend servers.

Instalar
ansible-galaxy install rhtconsulting.haproxy
Licencia
apache-2.0
Descargas
145.4k
Propietario