rhtconsulting.haproxy

haproxy

Ansible-Rolle für die Installation und Konfiguration von HAProxy für eine oder mehrere lastverteilte Anwendungen.

Diese Rolle geht davon aus, dass der Benutzer sich mehr um die Konfiguration der lastverteilten Anwendungen kümmern sollte, als um die Konfiguration von Frontend- und Backend-Servern in HAProxy. Daher basiert die Verwendung dieser Rolle auf der Idee, dass der Benutzer die Anwendungen angibt, die er oder sie lastverteilen möchte, und die Rolle dann die Konfiguration der Frontend- und Backend-Server von HAProxy übernimmt.

Anforderungen

Anforderungen, damit diese Rolle funktioniert.

Pakete

Pakete, die für die Installation durch die Rolle verfügbar sein müssen.

  • haproxy

Dienste

Dienste, die aktiviert sein müssen, um sie von der Rolle konfigurieren zu lassen.

  • firewalld

Rollenvariablen

Informationen über die erwarteten Rolleneinstellungen.

Parameter erforderlich Standard Auswahl Kommentare
haproxy_applications ja Liste von Hashes, die die zu lastverteilenden Anwendungen definieren.

haproxy_applications

Der Parameter haproxy_applications ist eine Liste von Hashes, die die Anwendungen zur Lastverteilung definieren. Jedes Element in der Liste kann die folgenden Parameter enthalten.

Parameter erforderlich Standard Auswahl Kommentare
name ja Name der Anwendung. Wird zur Definition der Frontend- und Backend-Server verwendet. Soll beschreibend sein, da er in den HAProxy-Statistiken angezeigt wird. Muss mit /a-zA-Z0-9-_/ übereinstimmen.
domain ja FQDN, der auf den HAProxy-Server(n) aufgelöst wird, um die Server zu lastverteilen. Kann einfach ein FQDN oder eine reguläre Ausdruck-Angabe zur Übereinstimmung mit einer Domain sein.
domain_is_regex nein false true, false true, wenn der angegebene domain ein Regex ist, false, um ihn als einfaches FQDN zu behandeln.
expose_http nein false true, false true, um diese Anwendung über http verfügbar zu machen, false, um sie nicht über http verfügbar zu machen.
expose_https nein false true, false true, um diese Anwendung über https verfügbar zu machen, false, um sie nicht über https verfügbar zu machen.
redirect_http_to_https nein false true, false true, um http automatisch auf https umzuleiten, false, um nicht umzuleiten.
servers ja Liste von Hashes, die die Server zur Lastverteilung definieren.

servers

Jedes Element in der Liste haproxy_applications muss einen Schlüssel servers enthalten, der eine Liste von Hashes definiert, die die Server zur Lastverteilung für die jeweilige Anwendung definieren. Jedes Element in der Liste kann die folgenden Parameter enthalten.

Parameter erforderlich Standard Auswahl Kommentare
name ja Name, der verwendet wird, um den Server zu referenzieren. Wird in den HAProxy-Statistiken angezeigt. Muss mit /a-zA-Z0-9-_/ übereinstimmen.
address ja FQDN oder IP des Servers, der lastverteilt werden soll.
port_http nein 80 Port des Servers bei address, der lastverteilt werden soll, wenn expose_http true ist.
port_https nein 443 Port des Servers bei address, der lastverteilt werden soll, wenn expose_https true ist.

Beispiel-Playbooks

Lastverteilung mit 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

Lastverteilung für OpenShift Container Platform (OCP) Master und Router

- 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

Autorinformationen

Über das Projekt

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

Installieren
ansible-galaxy install rhtconsulting.haproxy
GitHub Repository
Lizenz
apache-2.0
Downloads
145.4k