Différences entre versions de « Configurer un HA Proxy sur Cloudstack »
m |
m |
||
Ligne 126 : | Ligne 126 : | ||
<pre> etc/init.d/haproxy start </pre> | <pre> etc/init.d/haproxy start </pre> | ||
− | + | ;En nous rendant sur notre ip xxx.xxx.xxx.xxx/stats et en utlisant notre login et mot de passe nous arrivons sur la page d'administration de HA Proxy. | |
[[File:HAProxyStats.png]] | [[File:HAProxyStats.png]] | ||
− | ;Nous pouvons à présent nous connecter à nos | + | ;Nous pouvons à présent nous connecter à nos serveurs en ''SSH'' en tapant |
<pre># Serveur web1 | <pre># Serveur web1 | ||
ssh root@yyy.yyy.yyy.yyy | ssh root@yyy.yyy.yyy.yyy |
Version du 2 novembre 2015 à 17:56
Warning: Article en cours de rédaction. Des modifications peuvent intervenir à tout moment.
Introduction
Vous souhaitez configurer un HA Proxy sur la plateforme Cloudstack. Cet article vous expliquera la démarche à suivre au travers d'un exemple de configuration.
Mise en place
Voici la procédure à suivre afin de mettre en place un HA Proxy sur une instance Debian 8 "Jessie" sous Cloudstack.
Créer la nouvelle instance HAProxy
Vous trouverez la procédure de création d'une instance sous Cloudstack sur l'article Creer une nouvelle instance cloudstack
Configurer la nouvelle instance HAProxy
- Notre VM est maintenant démarrée
- Nous pouvons nous connecter à partir de la console intégrée ou par ssh
Pré-requis
L'un des pré-requis essentiel est de conserver son système le plus à jour possible.
apt-get update apt-get upgrade
Afin de conserver votre système Debian à jour, assurez-vous de posséder une liste des dépôts officiels. Vous pourrez trouver une liste des dépôts disponibles chez Ikoula et les instructions d'installation à cette adresse.
Sur un serveur de production, pensez à effectuer ces opérations pendant les heures creuses afin de minimiser l'impact de vos actions.
Pour l'installation de notre instance de Loadbalancing sous Cloudstack nous aurons besoin du service HA Proxy.
Installation d'HA Proxy
- Pour installer HA Proxy en version 1.5, exécutez la commande suivante dans votre terminal
apt-get install haproxy
- Si vous souhaitez la dernière version de HA Proxy, la version 1.6, exécutez les commandes suivantes
# Ajout du repo echo deb http://httpredir.debian.org/debian jessie-backports main | tee /etc/apt/sources.list.d/backports.list apt-get install debian-keyring # Recuperation de la cle gpg gpg --keyring /usr/share/keyrings/debian-keyring.gpg --export bernat@debian.org | apt-key add - # Mise a jour des depots apt-get update # Installation de haproxy apt-get install haproxy -t jessie-backports-1.6
Activation d'HA Proxy
- HA Proxy est maintenant installé, nous devons à présent l'activer en remplaçant la valeur ENABLED=0 par ENABLED=1 dans les deux fichiers /etc/default/haproxy et /etc/init.d/haproxy
# activation de HA Proxy dans /etc/default/haproxy sed -i "s/ENABLED=0/ENABLED=1/g" /etc/default/haproxy # activation de HA Proxy dans /etc/init.d/haproxy sed -i "s/ENABLED=0/ENABLED=1/g" /etc/init.d/haproxy
Configuration d'HA Proxy
La configuration de HA Proxy est réalisée dans le fichier /etc/haproxy/haproxy.cfg .
- Voici un exemple de configuration d'HAProxy
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull contimeout 5000 clitimeout 50000 srvtimeout 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http listen cluster_web xxx.xxx.xxx.xxx:80 mode http balance roundrobin option httpclose option forwardfor server web1 yyy.yyy.yyy.yyy:80 check server web2 zzz.zzz.zzz.zzz:80 check stats enable stats hide-version stats refresh 30s stats show-node stats auth ikoula:ikoula stats uri /stats
L'adresse ip xxx.xxx.xxx.xxx étant l'adresse ip de notre serveur de répartition de charge, les adresses yyy.yyy.yyy.yyy et zzz.zzz.zzz.zzz sont nos serveurs web placés derrière le loadbalancer.
listen cluster_web | L'adresse et le port sur lesquels le service HA Proxy devra écouter les connexions. |
mode | Le mode du balancement, dans notre exemple http pour du web |
balance | L'algorithme utilisé pour la répartition de charge, dans notre exemple RoundRobin Les valeurs disponibles sont: RoundRobin, Source, Least connection, First Response |
server | Déclaration des différents serveurs placés derrière notre loadbalancer, dans notre exemple web1 et web2. |
stats | Permet de configurer l'accès à la page de statistiques du loadbalancer Dans notre exemple la page sera accessible sur xxx.xxx.xxx.xxx/stats avec ikoula/ikoula comme login et mot de passe |
Démarrage d'HA Proxy
- Nous pouvons à présent démarrer HA Proxy
service haproxy start
ou
etc/init.d/haproxy start
- En nous rendant sur notre ip xxx.xxx.xxx.xxx/stats et en utlisant notre login et mot de passe nous arrivons sur la page d'administration de HA Proxy.
- Nous pouvons à présent nous connecter à nos serveurs en SSH en tapant
# Serveur web1 ssh root@yyy.yyy.yyy.yyy # Serveur web2 ssh root@zzz.zzz.zzz.zzz
Configurer les serveurs web
- Si les serveurs ne possèdent pas encore de service web il faut en installer un, par exemple
apt-get install apache2 php5
- Une fois les services web installés, ou si le serveur en possédait déjà un, web1 et web2 apparaîtront en vert dans la page stats
- Si vous tentez d'accéder au serveur en utilisant l'adresse xxx.xxx.xxx vous tombez sur la page de test du serveur web de web1 ou web2 selon la répartition effectuée