rhtconsulting.haproxy
haproxy
Rola Ansible do instalacji i konfiguracji HAProxy dla jednej lub więcej aplikacji równoważących obciążenie.
Ta rola zakłada, że użytkownik powinien skupić się na konfigurowaniu aplikacji równoważących obciążenie, a nie na konfigurowaniu serwerów frontendowych i backendowych w HAProxy. Dlatego korzystanie z tej roli opiera się na tym, że użytkownik określa aplikacje, które chce zrównoważyć obciążenie, a rola zajmuje się konfiguracją serwerów frontendowych i backendowych HAProxy.
Wymagania
Wymagania, aby ta rola działała.
Pakiety
Pakiety, które muszą być dostępne do zainstalowania przez rolę:
- haproxy
Usługi
Usługi, które muszą być włączone, aby rola mogła je skonfigurować:
- firewalld
Zmienne Roli
Informacje o oczekiwanych parametrach roli.
parametr | wymagane | domyślne | opcje | komentarze |
---|---|---|---|---|
haproxy_applications | tak | Lista hashy definiujących aplikacje do równoważenia obciążenia |
haproxy_applications
Parametr haproxy_applications
to lista hashy definiujących aplikacje do równoważenia obciążenia. Każdy element na liście może zawierać następujące parametry.
parametr | wymagane | domyślne | opcje | komentarze |
---|---|---|---|---|
name | tak | Nazwa aplikacji. Używana do definiowania serwerów frontendowych i backendowych. Powinna być opisowa, ponieważ wyświetli się w statystykach HAProxy. Musi pasować do /a-zA-Z0-9-_/ |
||
domain | tak | FQDN, który będzie rozwiązywał się do serwera(ów) HAProxy, aby zrównoważyć serwery . Może to być po prostu prosty FQDN lub wyrażenie regex do dopasowania domeny. |
||
domain_is_regex | nie | false | true, false | true , jeśli podany domain jest wyrażeniem regex, false , aby traktować jako prosty FQDN. |
expose_http | nie | false | true, false | true , aby udostępnić tę aplikację na http, false , aby nie udostępniać na http. |
expose_https | nie | false | true, false | true , aby udostępnić tę aplikację na https, false , aby nie udostępniać na https. |
redirect_http_to_https | nie | false | true, false | true , aby automatycznie przekierować http na https, false , aby nie przekierowywać. |
servers | tak | Lista hashy definiująca serwery do równoważenia obciążenia. |
serwery
Każdy element na liście haproxy_applications
musi zawierać klucz servers
, który jest listą hashy definiujących serwery do równoważenia obciążenia dla danej aplikacji. Każdy element na liście może zawierać następujące parametry.
parametr | wymagane | domyślne | opcje | komentarze |
---|---|---|---|---|
name | tak | Nazwa używana do odniesienia się do serwera. Będzie wyświetlana w statystykach HAProxy. Musi pasować do /a-zA-Z0-9-_/ |
||
address | tak | FQDN lub IP serwera do równoważenia obciążenia. | ||
port_http | nie | 80 | Port serwera w address , który będzie równoważony, gdy expose_http wynosi true . |
|
port_https | nie | 443 | Port serwera w address , który będzie równoważony, gdy expose_https wynosi true . |
Przykłady Playbooków
Równoważenie obciążenia 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
Równoważenie obciążenia dla OpenShift Container Platform (OCP) masterów i routerów
- 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
Informacje o autorze
- Red Hat Consulting
- Ian Tewksbury (itewk@redhat.com)
Ansible role for installing and configuring HAProxy for one or many frontend and backend servers.
ansible-galaxy install rhtconsulting.haproxy