HAProxy - Load Balancing de serveur Web – Partie 3
Alasta 15 Juillet 2013 ha Apache CentOS HA Proxy Least Connection Linux Load Balancer Open Source Reverse Proxy VirtualBox
Description : Dans les parties 1 et 2, nous avons vu la mise en place rapide et simple de haute disponibilité d'un service web basic. Ce troisième volet va présenter quelques affinages de configuration pour la rendre plus modulaire.
Pour faire quelque chose de plus modulaire, facile à travailler nous allons utiliser les directives frontend et backend.
Ces directives font respectivement, gestion de tout ce qui est côté client et gestion de tout ce qui est côté serveur.
En fin de compte, listen regroupe les directives frontend et backend en une seule.
La directive listen est plutôt à réserver à l'interface de statistiques.
Configuration :
Nous allons voir un fichier complet, la description des options fera l'objet d'un article dédié.
Ayant dédié une interface aux statistiques et une à la VIP du service web, je crée une interface secondaire (ici elle sera faite à la volée, mais pour une configuration pérenne il faut la créer dans le système).
ifconfig eth0:1 192.168.5.18
Edition du fichier /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
#debug
#quiet
user haproxy
group haproxy
stats socket /var/run/haproxy.stat level admin
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen IP_stats 192.168.5.17:80 //Declaration de l'interface pour les stats
stats enable
stats uri /stats // Endroit où les stats seront consultables
stats auth pseudo:password // votre username : password
frontend ft_www //Declaration de la VIP coté client
bind 192.168.5.18:80
mode http
log global
option httplog
maxconn 4000
default_backend bk_apache
backend bk_apache //Declaration de la ferme de serveur backend
balance static-rr
mode http
server apache1 10.0.0.1:80 check
server apache2 10.0.0.2:80 check
server apache3 10.0.0.3:80 check
Là on voit rapidement qu'il est simple de créer plusieurs backends et de rapidement les changer dans le frontend.
Nous verrons dans un autre articles les avantages de ces directives lors de configurations avancées.
