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.
