Doubler
tous les étages
Deux Varnish, deux HAproxy, une IP virtuelle, et un maître qu'on éteint sous charge : le laboratoire 3 de l'Application distribuée.
420-5A4-MT · Acte 7 · Ne jamais tomberÀ la fin de la séance, vous aurez :
- Un deuxième Varnish (varnish31) et un balanceur HAproxy (haproxy40) qui répartit entre les deux.
- L'admin WordPress aiguillé vers un chemin réservé (acl).
- Un deuxième HAproxy (haproxy41) et la grappe Heartbeat qui porte l'IP virtuelle (référence : 192.168.56.49).
- Réussi l'épreuve : maître éteint sous charge, WordPress répond encore.
- Le tout mesuré (parties 4 et 5) et dans GitHub : /votre-nom/laboratoire3/
C'est le laboratoire le plus payant du module (10 points) et le plus dense : deux semaines de gestes en une. Minimum 2 commits pertinents en classe cette semaine.
Le deuxième Varnish
- Créer varnish31 (référence : 192.168.56.31), idéalement en clonant varnish30 : même configuration, nouvelle identité.
- Rappel clonage : adresse MAC, nom d'hôte, adresse IP, et l'adresse d'écoute dans varnish.service.
- Vérifier : les deux caches servent le site chacune par leur adresse.
HAproxy balance entre les deux caches
WordPress derrière la passerelle, l'admin à part
- Modifier l'URL d'accès de WordPress : c'est maintenant l'adresse de HAproxy que le monde connaît.
- Ajouter au frontend les acl wp-admin et wp-login, et le backend admin_servers (balance source, vers http20).
- Mesurer : test BRUTAL, captures performances_partie_4_*.png, ligne 4 du tableau.
Amusez-vous à éteindre varnish31 pendant que vous rafraîchissez le site : check inter fait son travail, le site ne bronche pas. Premier avant-goût de la suite.
La grappe Heartbeat
Pièges connus : les noms des noeuds doivent correspondre à uname -n (fichier hosts à l'appui); et sur Ubuntu récent, l'interface par défaut du script IPaddr doit devenir enp0s8. Le coup de main est donné en classe.
HAproxy adopte l'IP virtuelle
- Si le ping répond, la grappe vit. (Ça prend quelques secondes au démarrage.)
- Dernier déménagement de WordPress : son URL devient l'IP virtuelle. C'est la dernière fois, promis : cette adresse-là ne meurt jamais.
Éteindre le maître sous charge
- Lancer le test de charge BRUTAL contre l'IP virtuelle.
- Éteindre brutalement haproxy40, le maître.
- Observer : quelques secondes de flottement... et le site répond encore, porté par haproxy41.
- Mesures de la partie 5 : captures performances_partie_5_*.png, dernière ligne du tableau.
- Rallumez le maître : auto_failback le remet en selle tout seul.
Ce test sera reproduit en classe pour l'évaluation. Répétez-le jusqu'à ce qu'il soit ennuyeux : c'est à ce moment-là qu'il est prêt.
Livrables et devoir
- Dans GitHub : guide, configurations (haproxy.cfg, ha.cf, authkeys expurgé, haresources), tableau, captures. Pour chaque étudiant.
- Six instances vivantes : mysql10, http20, varnish30, varnish31, haproxy40, haproxy41. Votre première vraie grappe.
- Devoir : terminer avant la semaine 9, où cette architecture déménagera sur de vraies machines qu'on peut toucher.
La semaine prochaine, l'acte 8 : le monde réel. En équipe, un cluster de Raspberry Pi, et la panne qu'on provoque en débranchant un fil, pour de vrai.
Version de départ · ce diaporama va s'enrichir