Après avoir fait un état de l'art sur les
clusters existants et fait une analyse par rapport à notre travail, nous
allons dans cette partie présenter les différentes architectures
à implémenter pour notre cluster. Nous avons opté
implémenter un cluster de répartition de charge (Load Balancing)
auquel nous allons coupler un cluster haute disponibilité et
implémenter par la suite un cluster Docker Swarm.
3.4.1 Nombre de Noeuds du Cluster
Notre cluster sera formé de dix (10) noeuds Raspberry
Pi. Nous avons choisi la dernière version de Raspberry Pi à
l'heure actuelle c'est à dire le Raspberry Pi 3 Modele B (voir section
2.2.1.6). Les dix noeuds seront repartis ainsi :
36 IAI Gabon
* deux (02) noeuds serveurs maitres HAProxy
(Load Balancer)
Sur ces deux noeuds maitres nous allons virtualiser
l'addresse IP d'accès au cluster pour garantir la haute
disponibilité. Un des deux maitres sera actif à un moment
donné tandis que l'autre sera passif et prêt à prendre le
relais dès que le maitre principal tombe.
NB : Ces deux noeuds seront aussi maitre pour le cluster
Docker Swarm. * huit (08) noeuds serveurs esclaves
Sur ces huit noeuds, nous allons déployer les
différentes applications
containerisées8 de l'entreprise comme Odoo
par exemple et planifier la répartition de charge dessus (Load
Balancing).
NB : Les noeuds maitres peuvent aussi jouer le
rôle des noeuds esclaves, c'est à dire contenir des applications
containerisées.
3.4.2 Adressage IP du Cluster
En fonction de certaines contraintes du réseau local
de l'entreprise, nous avons choisi la plage d'adresse suivante pour adresser
les noeuds du cluster.
Adresse du cluster :
-- adresse réseau : 172.16.0.0 -- masque réseau :
255.255.0.0 -- passerelle : 172.16.0.1
Nous avons utilisé la plage allant de 172.16.0.50
à 172.16.0.60 pour adresser les noeuds
du cluster. L'adresse 172.16.0.50 étant la seule adresse
d'accès du cluster les autres étant les
adresses internes au cluster.
Noeud Consul: 172.16.0.51
Noeud Master1 (actif) 172.16.0.52
Noeud Master2 (passif) 172.16.0.56
Noeud exclave Simple: 172.16.0.53; 172.16.0.54; 172.16.0.55;
172.16.0.57; 172.16.0.58; 172.16.0.59;
172.16.0.60
Les noms des hôtes vont de "black-pearl1 à
black-pearl10".
3.4.3 Constituant de chaque noeud
Comme nous l'avions dejà insinué plus haut, les
noeuds du cluster seront des Raspberry Pi. Les Raspberry Pi sont à
processeur ARM et supportent certains versions derivées du
système d'exploitation Linux telles que RASPBIAN, ARCHLINUX,
ALPINELINUX, HYPRIOT OS et bien d'autres (voir section 2.2.1). Pour notre
travail, nous avons utilisé le système HYPRIOT OS
et ce pour des raisons suivantes :
-- ce système a été nativement conçu
pour Raspberry
8. Installer dans un Docker
c~Tchuenché Rodrigue Élève Ingénieur
En Informatique 36
37 IAI Gabon
-- Ce système intègre déjà le moteur
Docker pour gérer les Docker et le Docker Swarm
-- Ce système est facile à installer
-- Ce système permet l'utilisation de HAProxy et
Heartbeat
-- Ce système permet le fonctionnement de beaucoup
d'applications y compris l'application
phare de notre travail.
Au dessus du système HYPRIOT OS de chaque Raspberry
(Noeud) nous allons:
· Pour les noeuds maitre
-- configurer les Docker maitres -- configurer les Docker
esclaves -- installer et configurer HAProxy -- installer et configurer
Heartbeat
· Pour les noeuds esclaves
Nous allons dans la suite présenter deux architectures de
cluster que nous allons implémenter :