C'est quand même à la mode les clusters de Raspberry, non ? Et apparemment si je n'en monte pas un avant mes 25 ans ( moi je rajeunis avec le temps ) , je ne serai jamais un bon "Cloud Architecte/DevOps/SysAdmin/Développeur FullStack" ( raye la mention inutile ).

Et ça va me permettre d'en apprendre plus sur comment monter mon cluster Docker Swarm/Kubernetes  ( au choix 😂 ). Donc je devais impérativement me lancer !

Bref un jour, j'ai voulu monter un cluster de Raspberry.

Pourtant c'est facile ?

Promis ce n'est pas moi qui le dit, comme à mon habitude j'ai forcément effectué une recherche Google ( comme tout le monde, non ? ). Et en plus au vu du nombre de résultats et des titres très enthousiastes comme "Monter un cluster de Raspberry Pi Zéro c'est facile" j'étais tout de même très confiant.

J'ai donc acheté le matériel et le moins qu'on puisse dire : c'est finalement pas donné ! Tout de même environ 30€-40€ le boitier, multiplié par 3 au moins ( Bah quoi? De temps en temps y a du stock sur les Pi Zero W ? 😂 ) . Et sans compter les alimentations, les boitiers, les cartes SD ... Ma facture finale avoisine les 200€ 😞

Par contre rien à redire, la plupart des tutoriels ont fonctionné du premier coup. J'ai pu copier/coller les lignes et avoir un cluster fonctionnel en quelques minutes. En bonus j'avais même quelques photos à mettre en ligne pour les potes !

Bon, je n'ai pas tout compris mais ça fonctionne, non ?

  • C'est quoi un overlay network ?
  • Ingress ?
  • Egress ?
  • Raft consensus ?

Et sans compter certains logiciels qui n'ont jamais voulu se lancer car il n'existe pas de version ARM :

  • Istio ?
  • Minio ?
  • Linkerd ?
  • Flux ?

Je suis sauvé, j'ai pu utiliser MySQL avec son image Docker officiel. Merci l'ajout récent des noyaux 64 bits pour les Raspberry avec Raspbian Raspberry Pi OS 😥

Finalement ?

Alors finalement, c'est une bonne idée de se monter un cluster de Raspberry pour apprendre ?

Je vais faire une bonne réponse de normand : ça dépend.

Bon ça dépend de quoi alors ?

  • De ton budget immédiat : 4 "petits serveurs", comme des VPS, ( peu importe le provider choisi ) vont coûter environ 3€ HT/mois. On est loin de l'investissement pour monter un cluster Raspberry !
  • Ce que tu souhaites essayer : Si tu souhaites pousser ton cluster kubernetes jusqu'à l'intégration d'Istio, ce n'est pas possible pour l'instant ... Il faut donc bien étudier le projet avant d'investir.
  • De ta volonté de hack ( je parle bien ici de : bidouiller ), d'exploration du possible sur un tel matériel. Qu'est ce que je peux faire avec un cluster de Raspberry ? Monter un service d'auto-hébergement pour mon blog ? Une pipeline CI/CD pour la mise à jour de mes images containers maison ?

Si vous souhaitez tout de même vous lancer dans la création de votre cluster Raspberry. Il existe d'excellents articles disponibles sur internet :

Building a Raspberry Pi cluster with Docker Swarm
Raspberry Pi is a tiny computer with low-cost that you can use to practice programming, hardware understanding and build some DIY projects. NOTE: - The default user is pi, and the password is…
  • Le blog d'Alex Ellis est une référence dans ce domaine pour tout ce qui touche à Kubernetes sur un Raspberry :
Alex Ellis’ Blog
OSS, Cloud Native & Raspberry Pi
  • Une série de vidéos sur ce sujet par Jeff Geerling :

Alors oui, si vous suivez régulièrement le blog ( et je vous en remercie d'ailleurs ! ), ce deuxième article de la série ne devait initialement pas être sur ce sujet !

Comment j'en suis arrivé là ? Ce matin je voulais écrire un article sur la première création d'un Cluster Docker Swarm et apporter quelques notions de bases. Et forcément en effectuant quelques recherches je suis rapidement tombé sur tous les articles liés à la création d'un cluster avec ... des Raspberry.

Sans vouloir porter un jugement critique sur les tutoriels à ce sujet, qui sont pour la plupart d'excellents articles, je souhaitais juste remettre dans leur contexte leur utilité dans l'apprentissage de la gestion d'un Cluster.

Je ne suis clairement pas contre ce type de solution, bien au contraire. Il est peut-être même très intéressant de s'aventurer dans ce domaine afin de découvrir l'IoT au travers des Raspberry. Mais ...

Si votre but unique est de gagner en compétence sur la gestion d'un Cluster Kubernetes ou Swarm, aucun débat pour moi, ne passez pas par un cluster Rapsberry :

Prenez des VPS ou utilisez un outil comme multipass sur votre machine.

Un cluster-mix avec Multipass, Docker et Kubernetes
Un environnement sandbox avec Docker et Kubernetes sous Ubuntu 20.04. Et en prime Traefik pour gérer nos flux webs ! On regarde ça ensemble !
En tout cas  n'hésitez pas à m'apporter des remarques ou des commentaires sur Twitter, ou ici 👇