hifis.haproxy
HAProxy Rolle
:warning: Dieses Projekt ist archiviert! :warning:
Diese Rolle wurde in unsere hifis.toolkit
Sammlung übertragen:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
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
Autor Informationen
Mitwirkende
Wir möchten uns bei den folgenden Mitwirkenden dieses Projekts bedanken und anerkennen:
Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.
ansible-galaxy install hifis.haproxy