rhtconsulting.haproxy
haproxy
Rôle Ansible pour installer et configurer HAProxy pour une ou plusieurs applications équilibrées par charge.
Ce rôle part du principe que plutôt que de se soucier de la configuration des serveurs frontend et backend dans HAProxy, l'utilisateur doit se concentrer sur la configuration des applications équilibrées par charge. Par conséquent, l'utilisation de ce rôle repose sur cette idée, où l'utilisateur spécifie les applications qu'il souhaite équilibrer par charge et laisse le rôle s'occuper de la configuration des serveurs frontend et backend de HAProxy.
Exigences
Conditions nécessaires au bon fonctionnement de ce rôle.
Paquets
Paquets qui doivent être disponibles pour que le rôle puisse s'installer.
- haproxy
Services
Services qui doivent être activés afin que le rôle puisse les configurer.
- firewalld
Variables de Rôle
Informations sur les paramètres attendus du rôle.
paramètre | requis | défaut | choix | commentaires |
---|---|---|---|---|
haproxy_applications | oui | Liste de hachages définissant les applications à équilibrer par charge. |
haproxy_applications
Le paramètre haproxy_applications
est une liste de hachages définissant les applications à équilibrer par charge. Chaque élément de la liste peut contenir les paramètres suivants.
paramètre | requis | défaut | choix | commentaires |
---|---|---|---|---|
name | oui | Nom de l'application. Utilisé pour définir les serveurs frontend et backend. Doit être descriptif car il apparaîtra dans les statistiques de HAProxy. Doit correspondre à /a-zA-Z0-9-_ |
||
domain | oui | FQDN qui résoudra vers le serveur HAProxy pour équilibrer ensuite les serveurs . Peut être un simple FQDN ou une expression régulière pour correspondre à un domaine. |
||
domain_is_regex | non | faux | vrai, faux | vrai si le domain donné est une regex, faux pour le traiter comme un simple FQDN. |
expose_http | non | faux | vrai, faux | vrai pour exposer cette application sur http, faux pour ne pas exposer sur http. |
expose_https | non | faux | vrai, faux | vrai pour exposer cette application sur https, faux pour ne pas exposer sur https. |
redirect_http_to_https | non | faux | vrai, faux | vrai pour rediriger automatiquement http vers https, faux pour ne pas rediriger. |
servers | oui | Liste de hachages définissant les serveurs à équilibrer. |
servers
Chaque élément de la liste haproxy_applications
doit contenir une clé servers
, qui est une liste de hachages définissant les serveurs à équilibrer pour l'application respective. Chaque élément de la liste peut contenir les paramètres suivants.
paramètre | requis | défaut | choix | commentaires |
---|---|---|---|---|
name | oui | Nom utilisé pour référencer le serveur. Sera affiché dans les statistiques de HAProxy. Doit correspondre à /a-zA-Z0-9-_ |
||
address | oui | FQDN ou IP du serveur à équilibrer. | ||
port_http | non | 80 | Port du serveur à address à équilibrer lorsque expose_http est vrai . |
|
port_https | non | 443 | Port du serveur à address à équilibrer lorsque expose_https est vrai . |
Exemples de Playbooks
Équilibrer 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
Équilibrer les masters et routeurs 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
Informations sur l'Auteur
- 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