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