construire une plateforme de test Docker Swarm Cluster à la maison avec des RaspberryPi

Se former à Docker et à Docker Swarm

Depuis le début de ma carrière : je me forme ! En plus, Docker Inc. vient d’annoncer un programme de certification et les examens ne doivent pas tarder. Comme j’écris régulièrement des tutos sur Docker et Docker Swarm, de nombreuses personnes me demandent : “sur quelle plateforme ?”. Il y a plusieurs solutions que j’ai déjà décrit :

Il en existe 2 autres, que j’affectionne particulièrement, car je pratique l’auto-hébergement chez moi depuis des années (ce blog est hébergé sur un cluster de RaspberryPI, derrière mon ADSL). Dans ces solutions que je vais présenter il y a :

  • Un cluster Intel NUC Z83, 3 noeuds
  • Un cluster RaspberryPI, 4 noeuds

Le cluster Docker Swarm NUC Z83, 3 noeuds

Je commence par ma solution préférée puisque la plus récente. Ce nouveau cluster qui est en cours de montage, est composé de 3 boitiers Bqeel Z83II :

caractéristiques techniques du mini PC NUC z8350

  • Boîtier Processeur Intel Atom x5-Z8350 processeur fanless
  • 2 Go DDR3 + 32 Go eMMC
  • Intel HD Graphics
  • 4K
  • 1000Mbps LAN
  • Double bande Wifi avec antenne intégrée
  • Bluetooth 4.0
  • USB 3.0
  • USB 2.0
  • HDMI
  • SD

Voici une photo que j’ai prise lors du déballage du colis :

déballage du minipc atom z8350

Avantage de la solution NUC pour Docker Swarm

C’est ma nouvelle plateforme, donc je ne lui trouve que des avantages :

  • Le processeur Intel ATOM Z8350 est 8x plus rapide que le processeur BCM2837 du RaspberryPI
  • Chaque noeud est équipé de :
    • 2Go de RAM DDR3 (il existe des modèles 4Go)
    • 32 Go de SSD (il existe des modèles 64Go)
    • Une interface réseaux 1Gb/sec
  • Installation d’Ubuntu server 17.04 en bootant sur une clé USB avec l’image officielle Ubuntu
  • Disponibilité de milliers d’images Docker officielles et natives x86_64

Le prix de la machine varie entre 75€ et 110€ suivant la marque et le site web, soit le double d’un RaspberryPI 3. Les modèles 4Go de RAM, 64Go de SSD se trouvent aux environs de 130€.

Je suis toujours très attentif aux aspects consommation électrique et GreenIT et j’ai mesuré la consommation de la machine en fonctionnement normal : 6W.

Une fois Ubuntu 17.04 et Docker installé, il me reste 24Go de libre pour travailler.

Le cluster Docker Swarm RaspberryPI, 4 noeuds

cluster docker swarm raspberryPi

J’utilise depuis maintenant plusieurs années ce cluster de 4 noeuds RaspberryPI pour mener mes tests de clustering Docker Swarm, tout fonctionne très bien. Mais, le constat est sans appel par rapport à ma nouvelle plateforme.

Défaut de la solution Raspberry PI pour Docker Swarm

  • Le processeur du RaspberryPI est plus lent
  • 1 Go de RAM
  • Le flashage des cartes SD est lent et soulant
  • Le stockage sur carte SD est lent
  • L’interface réseau est bridée à 100Mb/sec (au mieux)
  • Les solutions de stockage et de volumes distribuées comme Ceph, Minio, Rancher Convoy, Flocker ne fonctionnent pas
  • Certaines applications n’existent pas : par exemple MongoDB sous RaspberryPI

Conclusion

Mon cluster RaspberryPI 2 est à vendre. Et je vais me concentrer sur cette nouvelle plateforme en mettant en oeuvre :
- Un NAS pour partager les données du cluster Docker Swarm
- Du provisionning Bare Metal de mes noeuds avec Foreman
- Du Continuous Integration avec Ansible.

Plein de futurs articles à venir sur ces sujets !