hifis.haproxy

Rola HAProxy

:warning: Ten projekt jest zarchiwizowany! :warning:

Ta rola została przeniesiona do naszej kolekcji hifis.toolkit:

Status CI Rola Ansible: hifis.haproxy Pobrania Roli Ansible Licencja Apache-2.0 Najświeższa wersja DOI

Rola do skonfigurowania HAProxy jako load balancera w kontekście wysokiej dostępności i skalowalności.

Aktualnie wspierane platformy to:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

Ta rola jest testowana na dwóch ostatnich wersjach LTS HAProxy. Obecnie oznacza to oficjalne wsparcie dla serii wydań HAProxy:

  • 2.6
  • 2.4

Inne wersje również działają, ale nie są automatycznie testowane.

Wymagania

Brak.

Zmienne roli

Obowiązkowe zmienne, które nie są ustawione domyślnie

Adresy IP backend GitLab

Określ listę backendów z nazwą i adresem IP (port jest opcjonalny, domyślnie jest to 80):

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

Adres IP frontend

Określ pływający adres IP frontend:

haproxy_frontend_ip: '192.168.33.100'

Obowiązkowe zmienne, które są ustawione domyślnie, ale muszą być dostosowane

Liczba procesorów używanych przez HAProxy

Ustal liczbę procesorów używanych przez HAProxy:

haproxy_nbproc: '1'

Liczba wątków używanych przez HAProxy

Ustal liczbę wątków używanych przez HAProxy:

haproxy_nbthread: '2'

Mapa CPU HAProxy dla wielowątkowości

Mapowanie wątków na rdzenie CPU:

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

Włącz/wyłącz statystyki

Zmienna do włączenia lub wyłączenia statystyk:

haproxy_stats_enable: 'enable'

Nazwa użytkownika administratora statystyk

Zmienna do przechowywania nazwy użytkownika administratora statystyk:

haproxy_stats_admin_user: 'admin'

Hasło użytkownika administratora statystyk

Zmienna do przechowywania hasła użytkownika administratora statystyk:

haproxy_stats_admin_user_password: 'changeme'

Wszystkie inne zmienne domyślne

Ścieżka do pliku wykonywalnego HAProxy

Zmienna ścieżkowa wskazująca na lokalizację pliku wykonywalnego HAProxy:

haproxy_executable_path: '/usr/sbin/haproxy'

Wersja PPA HAProxy

Zmienna do przypisania wersji PPA do określonej wartości:

haproxy_ppa_version: 'ppa:vbernat/haproxy-2.6'

Wersja HAProxy

Zmienna do przypisania wersji HAProxy do określonej wartości:

haproxy_version: '2.6.*'

Użytkownik HAProxy

Zmienna do określenia użytkownika systemowego HAProxy:

haproxy_user: 'haproxy'

Grupa HAProxy

Zmienna do określenia grupy systemowej HAProxy:

haproxy_group: 'haproxy'

Zależności HAProxy do zainstalowania

Lista zależności HAProxy do zainstalowania:

haproxy_dependencies:
  - 'software-properties-common'

Nazwa pliku binarnego HAProxy

Nazwa pliku binarnego HAProxy:

haproxy_name: 'haproxy'

Szablon konfiguracji HAProxy

Podaj ścieżkę do szablonu konfiguracji HAProxy:

haproxy_config_template: 'haproxy.cfg.j2'

Ścieżka do katalogu konfiguracji HAProxy

Podaj ścieżkę do katalogu konfiguracji HAProxy:

haproxy_conf_dir: '/etc/haproxy/'

Ścieżka do pliku konfiguracyjnego HAProxy

Podaj ścieżkę do pliku konfiguracyjnego HAProxy:

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

Ścieżka do socketu logowania HAProxy

Podaj ścieżkę do socketu logowania HAProxy:

haproxy_log_socket: '/dev/log'

Poziom logowania HAProxy

Określ poziom logowania HAProxy. Możliwe wartości to: emerg, alert, crit, err, warning, notice, info, debug.

haproxy_log_level: 'info'

Ścieżka do pliku socketu HAProxy

Podaj ścieżkę do pliku socketu HAProxy:

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

Tworzenie certyfikatu SSL z własnym podpisem

Czy utworzyć certyfikat SSL z własnym podpisem:

haproxy_create_self_signed_cert: true

Nazwa kraju dla certyfikatu SSL

Określ kraj, który ma być użyty dla certyfikatu SSL:

haproxy_country_name: 'DE'

Nazwa stanu dla certyfikatu SSL

Określ stan, który ma być użyty dla certyfikatu SSL:

haproxy_state_or_province_name: 'Saksonia'

Nazwa lokalności dla certyfikatu SSL

Określ lokalność, która ma być użyta dla certyfikatu SSL:

haproxy_locality_name: 'Drezno'

Nazwa organizacji dla certyfikatu SSL

Określ organizację, która ma być użyta dla certyfikatu SSL:

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

Nazwa jednostki organizacyjnej dla certyfikatu SSL

Określ jednostkę organizacyjną, która ma być użyta dla certyfikatu SSL:

haproxy_organizational_unit_name: 'FWCC / Computational Science'

Adres e-mail dla certyfikatu SSL

Określ adres e-mail, który ma być użyty dla certyfikatu SSL:

haproxy_email_address: '[email protected]'

Nazwa wspólna dla certyfikatu SSL

Określ nazwę wspólną, która ma być użyta dla certyfikatu SSL:

haproxy_common_name: 'Helmholtz Association'

Ścieżka katalogu SSL HAProxy

Podaj ścieżkę do katalogu SSL HAProxy:

haproxy_ssl_certificate_dir: '/etc/haproxy/ssl'

Ścieżka do pliku klucza prywatnego HAProxy

Podaj ścieżkę do pliku klucza prywatnego HAProxy:

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

Ścieżka do pliku żądania podpisania certyfikatu HAProxy

Podaj ścieżkę do pliku żądania podpisania certyfikatu HAProxy:

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

Ścieżka do pliku certyfikatu HAProxy

Podaj ścieżkę do pliku certyfikatu HAProxy:

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

Ścieżka do pliku PKCS12 HAProxy

Podaj ścieżkę do pliku PKCS12 HAProxy:

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

Ścieżka do pliku łańcucha certyfikatów HAProxy

Podaj ścieżkę do pliku łańcucha certyfikatów HAProxy:

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

Ścieżka do źródłowego pliku łańcucha certyfikatów HAProxy

Podaj ścieżkę do źródłowego pliku łańcucha certyfikatów HAProxy na węźle sterującym, który zostanie skopiowany na zdalny host:

haproxy_ssl_cert_chain_src_file_path: "haproxy.pem"

Uwaga: Ta zmienna jest obowiązkowa, gdy haproxy_create_self_signed_cert jest ustawione na false. Plik powinien być sformatowany w PEM i zawierać przynajmniej publiczny certyfikat i klucz prywatny.

Ścieżka do pliku parametrów DH HAProxy

Podaj ścieżkę do pliku parametrów DH:

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

Rozmiar parametru DH HAProxy

Rozmiar (w bitach) generowanych parametrów DH:

haproxy_ssl_dhparam_size: 4096

Zależności

Brak.

Uwaga: Ta rola jest przeznaczona do użycia w połączeniu z rolą hifis.keepalived.

Przykład pliku 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

Licencja

Apache-2.0

Informacje o autorze

Zespół Oprogramowania HIFIS

Współtwórcy

Chcielibyśmy podziękować i uznać następujących współtwórców tego projektu:

O projekcie

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

Zainstaluj
ansible-galaxy install hifis.haproxy
Licencja
other
Pobrania
25.9k
Właściciel
Helmholtz Digital Services for Science — Collaboration made easy.