hifis.haproxy

HAProxy Rolle

:warning: Dieses Projekt ist archiviert! :warning:

Diese Rolle wurde in unsere hifis.toolkit Sammlung übertragen:

CI Status Ansible Rolle: hifis.haproxy Ansible Rollen-Downloads Apache-2.0 Lizenziert Neueste Veröffentlichung DOI

Eine Rolle zum Einrichten von HAProxy, um ihn als Lastenausgleich in einem Hochverfügbarkeits- und Skalierbarkeitskontext zu verwenden.

Aktuell unterstützte Plattformen sind:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

Diese Rolle wird gegen die zwei neuesten LTS-Versionen von HAProxy getestet. Das führt aktuell zu offiziellem Support für die HAProxy-Versionen:

  • 2.6
  • 2.4

Andere Versionen funktionieren ebenfalls, werden aber nicht automatisch getestet.

Anforderungen

Keine.

Rollenvariablen

Pflichtvariablen, die standardmäßig nicht gesetzt sind

Backend GitLab IP-Adressen

Geben Sie eine Liste von Backends mit Namen und IP-Adresse an (Port ist optional, standardmäßig 80):

haproxy_backends:
  - backend_name: 'backend_server_1'
    backend_ip: '192.168.33.10'
    backend_port: '80'

Floating IP-Adresse des Frontends

Geben Sie die Floating IP-Adresse des Frontends an:

haproxy_frontend_ip: '192.168.33.100'

Pflichtvariablen, die standardmäßig gesetzt sind, aber angepasst werden müssen

Anzahl der Prozessoren, die von HAProxy verwendet werden

Legt die Anzahl der von HAProxy verwendeten Prozessoren fest:

haproxy_nbproc: '1'

Anzahl der Threads, die von HAProxy verwendet werden

Legt die Anzahl der von HAProxy verwendeten Threads fest:

haproxy_nbthread: '2'

HAProxy CPU-Karte für Multithreading

Zuordnung von Threads zu CPU-Kernen:

haproxy_cpumap: 'auto:1/1-2 0-1'

Statistiken aktivieren/deaktivieren

Variable, um die Statistiken zu aktivieren oder zu deaktivieren:

haproxy_stats_enable: 'enable'

Admin-Benutzername für Statistiken

Variable zur Speicherung des Admin-Benutzernamens für die Statistiken:

haproxy_stats_admin_user: 'admin'

Passwort des Admin-Benutzers für Statistiken

Variable zur Speicherung des Passworts des Admin-Benutzers für die Statistiken:

haproxy_stats_admin_user_password: 'changeme'

Alle anderen Standardvariablen

Pfad zur ausführbaren Datei von HAProxy

Pfadvariable, die auf den Speicherort der HAProxy ausführbaren Datei zeigt:

haproxy_executable_path: '/usr/sbin/haproxy'

HAProxy PPA-Version

Variable zur Festlegung der PPA-Version auf einen bestimmten Wert:

haproxy_ppa_version: 'ppa:vbernat/haproxy-2.6'

HAProxy-Version

Variable zur Festlegung der HAProxy-Version auf einen bestimmten Wert:

haproxy_version: '2.6.*'

HAProxy-Benutzer

Variable zur Angabe des HAProxy-Systembenutzers:

haproxy_user: 'haproxy'

HAProxy-Gruppe

Variable zur Angabe der HAProxy-Systemgruppe:

haproxy_group: 'haproxy'

Zu installierende HAProxy-Abhängigkeiten

Liste der zu installierenden HAProxy-Abhängigkeiten:

haproxy_dependencies:
  - 'software-properties-common'

Name der HAProxy-Binärdatei

Name der HAProxy-Binärdatei:

haproxy_name: 'haproxy'

HAProxy-Konfigurationsvorlage

Geben Sie den Pfad zur HAProxy-Konfigurationsvorlage an:

haproxy_config_template: 'haproxy.cfg.j2'

Pfad zum Konfigurationsverzeichnis von HAProxy

Geben Sie den Pfad zum Konfigurationsverzeichnis von HAProxy an:

haproxy_conf_dir: '/etc/haproxy/'

Pfad zur Konfigurationsdatei von HAProxy

Geben Sie den Pfad zur Konfigurationsdatei von HAProxy an:

haproxy_conf_file_path: "/etc/haproxy/haproxy.cfg"

Pfad zur Log-Socket von HAProxy

Geben Sie den Pfad zur Log-Socket von HAProxy an:

haproxy_log_socket: '/dev/log'

Log-Level von HAProxy

Geben Sie das Log-Level von HAProxy an. Mögliche Werte sind: emerg, alert, crit, err, warning, notice, info, debug.

haproxy_log_level: 'info'

Pfad zur Socket-Datei von HAProxy

Geben Sie den Pfad zur Socket-Datei von HAProxy an:

haproxy_socket: '/run/haproxy/admin.sock'

Erstellung eines selbstsignierten SSL-Zertifikats

Ob ein selbstsigniertes SSL-Zertifikat erstellt werden soll:

haproxy_create_self_signed_cert: true

Landesname für das SSL-Zertifikat

Legen Sie das Land fest, das für das SSL-Zertifikat verwendet werden soll:

haproxy_country_name: 'DE'

Staatsname für das SSL-Zertifikat

Legen Sie den Staat fest, der für das SSL-Zertifikat verwendet werden soll:

haproxy_state_or_province_name: 'Sachsen'

Lokalitätsname für das SSL-Zertifikat

Legen Sie die Lokalität fest, die für das SSL-Zertifikat verwendet werden soll:

haproxy_locality_name: 'Dresden'

Organisationsname für das SSL-Zertifikat

Legen Sie die Organisation fest, die für das SSL-Zertifikat verwendet werden soll:

haproxy_organization_name: 'Helmholtz-Zentrum Dresden-Rossendorf (HZDR)'

Organisationszugehörigkeit für das SSL-Zertifikat

Legen Sie die organisatorische Einheit fest, die für das SSL-Zertifikat verwendet werden soll:

haproxy_organizational_unit_name: 'FWCC / Computational Science'

E-Mail-Adresse für das SSL-Zertifikat

Legen Sie die E-Mail-Adresse fest, die für das SSL-Zertifikat verwendet werden soll:

haproxy_email_address: '[email protected]'

Allgemeiner Name für das SSL-Zertifikat

Legen Sie den allgemeinen Namen fest, der für das SSL-Zertifikat verwendet werden soll:

haproxy_common_name: 'Helmholtz-Vereinigung'

Pfad zum SSL-Verzeichnis von HAProxy

Geben Sie den Pfad zum SSL-Verzeichnis von HAProxy an:

haproxy_ssl_certificate_dir: '/etc/haproxy/ssl'

Pfad zur privaten Schlüsseldatei von HAProxy

Geben Sie den Pfad zur privaten Schlüsseldatei von HAProxy an:

haproxy_ssl_certificate_key_file: "/etc/haproxy/ssl/haproxy.key"

Pfad zur Zertifikatsanforderungsdatei von HAProxy

Geben Sie den Pfad zur Zertifikatsanforderungsdatei von HAProxy an:

haproxy_ssl_certificate_csr_file: '/etc/haproxy/ssl/haproxy.csr'

Pfad zur Zertifikatsdatei von HAProxy

Geben Sie den Pfad zur Zertifikatsdatei von HAProxy an:

haproxy_ssl_certificate_crt_file: "/etc/haproxy/ssl/haproxy.crt"

Pfad zur PKCS12-Datei von HAProxy

Geben Sie den Pfad zur PKCS12-Datei von HAProxy an:

haproxy_ssl_certificate_pkcs12_file: "/etc/haproxy/ssl/haproxy.p12"

Pfad zur Zertifikatkette von HAProxy

Geben Sie den Pfad zur Zertifikatkette von HAProxy an:

haproxy_ssl_certificate_chain_file: "/etc/haproxy/ssl/haproxy.pem"

Pfad zur Quelldatei der Zertifikatkette von HAProxy

Geben Sie den Pfad zur Quelldatei der Zertifikatkette von HAProxy auf dem Steuerknoten an, die auf den Remote-Host kopiert wird:

haproxy_ssl_cert_chain_src_file_path: "haproxy.pem"

Hinweis: Diese Variable ist notwendig, wenn haproxy_create_self_signed_cert auf false gesetzt ist. Die Datei sollte im PEM-Format vorliegen und mindestens das öffentliche Zertifikat sowie den privaten Schlüssel enthalten.

Pfad zur DH-Parameterdatei von HAProxy

Geben Sie den Pfad zur DH-Parameterdatei an:

haproxy_ssl_dhparam_file: "/etc/haproxy/ssl/dhparam.pem"

Größe der DH-Parameter

Größe (in Bit) der generierten DH-Parameter:

haproxy_ssl_dhparam_size: 4096

Abhängigkeiten

Keine.

Hinweis: Diese Rolle ist für die Verwendung mit, aber nicht beschränkt auf, die hifis.keepalived Rolle gedacht.

Beispiel-Playbook

- hosts: loadbalancers
  roles:
    - role: hifis.haproxy
      vars:
        haproxy_frontend_ip: '192.168.33.100'
        haproxy_backends:
          - backend_name: 'backend_server_1'
            backend_ip: '192.168.33.10'
            backend_port: 80

Lizenz

Apache-2.0

Autor Informationen

HIFIS Software Team

Mitwirkende

Wir möchten uns bei den folgenden Mitwirkenden dieses Projekts bedanken und anerkennen:

Über das Projekt

Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.

Installieren
ansible-galaxy install hifis.haproxy
GitHub Repository
Lizenz
other
Downloads
25.9k
Besitzer
Helmholtz Digital Services for Science — Collaboration made easy.