Mon Cluster de Raspberry Pi

Mon Cluster de Raspberry Pi

Ça fait maintenant 4 mois que je l’utilise et qu’il héberge mes sites. Je n’ai pas envie de vous présenter un Tuto de comment faire la même chose. Ça serait inintéressant et compliqué à écrire. La route a été longue, sinueuse et jonchée de retour en arrière. Aujourd’hui on parle du cluster de raspberry pi qui héberge mes sites.

L’idée de départ

Cluster Kubernetes se basant sur des processeurs ARM.
Hein ?
Expliquons un peu l’idée que je voulais mettre en place ... c’est un gros raté mais c’est pas inintéressant.

Un cluster Kubenetes c’est quoi ?

Kubernetes se basse sur docker c’est à dire l’isolement des applications, de ces outils et de ces librairies dans des containers tournant sur une machine hôte.
Docker

Puisque le container est jetable et pouvant tourner sur n’importe quel hôte, pourquoi ne pas les répartir sur plusieurs machines et les orchestrer. Cela permet de dépenser l’argent non pas à acheter des machines de plus en plus puissantes mais des machines de plus en plus nombreuses.

Du coup un vocabulaire spéciale s’impose.

Est appelé Noeud (node) ou travailleur (worker) les machines réelles ou virtuelles sur lesquelles tournent les applications.
Pod un groupe de containers devant tourner ensemble.
Orchestrateur le truc qui va gérer tout ça ... en donnant aux machines des containers en fonction de la demande. Et en gérant une éventuelle panne d’une machine.
kubernetes-pods

Processeur ARM

L’Architecture ARM de processeur est une architecture spéciale de processeurs (avec un jeu d’instructions RISC, enseigné en école d’ingénieur, pour ceux qui étudient les micro-processeurs). Sans entrer trop dans le détail c’est cette infrastructure qui fait tourner vos iPhone, iPad et ici les Raspberry.

Mon idée était donc de faire tourner une infrastructure type gros serveurs à une échelles plus réduite et sur une architecture de processeurs émergente (émergente depuis presque 40 ans). En mettant 3 noeuds et un manager pour les gouverner tous.

Puis finalement ...

J’ai jamais réussi à installer bien kubenetes et à faire en sorte que le système ne soit pas super lent. Ayant eu peu de temps pour procéder à l’installation j’ai choisi la solution de facilité. La solution de facilité c’est de garder une infrastructure basique. J’ai cependant gardé,quand même, l’utilisation de docker car j’aime ça et j’en ai besoin pour Laravel.
InfraCergy
Voilà un schéma de l’infrastructure (un tout petit peu simplifié). Que constatons nous ? Et bien comme dans d’autres domaines (comme les binômes de TP, les groupes de travails, les députés,...) certains travaillent plus que d’autres ! La Raspberry la plus à gauche (manager) fait tourner nettement trop d’applications je devrais revoir ça à l’avenir.

Je ferais prochainement un article pour parler de ces quelques trucs géniaux que j’ai découvert : GitLab Runner et surtout Træfik qui changent la vie !

Ah oui ! Et paye ton cable management !
cables

Afficher les commentaires