hifis.haproxy
Rola HAProxy
:warning: Ten projekt jest zarchiwizowany! :warning:
Ta rola została przeniesiona do naszej kolekcji hifis.toolkit
:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
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
Informacje o autorze
Współtwórcy
Chcielibyśmy podziękować i uznać następujących współtwórców tego projektu:
Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.
ansible-galaxy install hifis.haproxy