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 | sí | 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 | sí | 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 | sí | 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 | sí | 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 | sí | Nombre usado para referenciar al servidor. Se mostrará en las estadísticas de HAProxy. Debe coincidir con /a-zA-Z0-9-_/ |
||
address | sí | 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
- Red Hat Consulting
- Ian Tewksbury (itewk@redhat.com)
Ansible role for installing and configuring HAProxy for one or many frontend and backend servers.
ansible-galaxy install rhtconsulting.haproxy