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

À propos du projet

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

Installer
ansible-galaxy install rhtconsulting.haproxy
Licence
apache-2.0
Téléchargements
145.4k
Propriétaire