Vous êtes ici:

Menu


Stacks Image 36912
Je vous présente le ClusterHat pour Raspberry. Celui-ci utilise des PI Zero et un PI 2, 3 ou 4 pour avoir un mini-cluster. Ce montage m'intéresse pour me familiariser avec Docker et les outils de haute-disponibilité comme Swarm. Etant donné que je débute avec Docker, je resterai assez basique sur ce système. Je vais d'abord réaliser ce tutoriel sur l'installation du ClusterHat en vous donnant quelques astuces que j'ai glanées sur la toile.

1 - Installation physique

Le kit Cluster Hat acheté chez Kubii contient la platine se fixant sur un Raspberry, quatre PI Zero, quatre carte SD Noobs, la visserie et le câble USB.
Stacks Image 969841
Le contenu du kit
Il faudra rajouter un Raspberry PI 2 ou 3, une alimentation 5v 2,5 A, un clavier (dans mon cas un mini-clavier USB), un écran (ou une liaison USB to TTL) et bien sûr une connexion ethernet (avec une box fournissant du DHCP).
Stacks Image 969878
Le pré requis pour le kit
L'installation physique du ClusterHat ne pose pas de problème. Les explications sur le site du constructeur sont claires. Si vous installez un cordon USB to TTL pour le port console, repérez les connexions avant d'installer les deux premiers PI Zero. Le fil rouge ne servira pas à moins d'avoir un port USB suffisant pour alimenter tout ce petit monde. Privilégiez une alimentation dédiée.
Stacks Image 969883
Connexion du câble USB to TTL

2 - Installation du système

Avant de démarrer ce matériel, il faut installer le système sur le Raspberry PI 3 et les PI Zero. Toutes les instructions sont présentes sur le site du constructeur. J'ai choisi l'onglet Simple pour commencer. Depuis ma première installation, il y a eu pas mal de changement sur le site. Il est possible de choisir deux modes réseaux : le NAT et le BRIDGE. Debian Buster est fourni dans ces image et il y a trois type images pour le raspberry supportant la carte : Full, Standard et Lite. Il faudra copier les images pour le Controller (Rapberry PI 3) et les quatre PI Zero (attention les images sont différentes).
Les PI Zero, grâce à l'utilisation de Composite USB Gadgets, obtiennent un adresse IP en passant par le port USB. Cette configuration permet l'utilisation de l'USB comme une interface série ou ethernet par exemple. Si vous êtes curieux, vous pouvez voir la configuration du fichier config.txt les lignes suivantes :
 # Load overlay to allow USB Gadget devices
dtoverlay=dwc2,dr_mode=peripheral
Et le fichier cmdline.txt, vous trouverez la ligne suivante indiquant à l'usb le mode serial.
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=4d3ee428-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

2.1 - Installation en mode NAT

Pour le Controller, on peut choisir l'image CNAT Lite Controller sans interface graphique. Ce mode permet de natter les interfaces réseaux des PI Zero passant pas les gadgets USB. Les PI Zero ne seront accessibles qu'à partir du Controller.
L'utilisation de l'image en mode NAT, impose la récupération d'une adresse IP privé grâce à l'utilisation de Composite USB Gadgets. Cette configuration spécifique permet l'utilisation de l'USB comme une interface série ou ethernet par exemple.

2.2 - Installation en mode BRIDGE

Pour le Controller, on peut choisir l'image CBRIDGE Lite Controller sans interface graphique. Ce mode permet de connecter les interfaces PI Zéro sur un commutateur virtuel faisant office de pont. On pourra alors attribuer des adresses IP sur le même réseau que le controller.
Ce mode est très pratique pour réaliser une déploiement par Ansible.

2.3 - Préparation du matériel

Avant de démarrer ce matériel, il faut installer le système sur le Raspberry PI 3 et les PI Zero. Toutes les instructions sont présentes sur le site du constructeur. J'ai choisi l'onglet Simple pour commencer. Depuis ma première installation, il y a eu pas mal de changement sur le site. Il est possible de choisir deux modes réseaux : le NAT et le BRIDGE. Debian Buster est fourni dans ces image et il y a trois type images pour le raspberry supportant la carte : Full, Standard et Lite. Il faudra copier les images pour le Controller (Rapberry PI 3) et les quatre PI Zero (attention les images sont différentes). Pour le Controller, j'ai choisi l'image Lite (pour un PI 3+, il faudra choisir l'image NAT Lite Controller) sans interface graphique.
Si vous voulez utilisez les images stretch, il faudra récupérer les ISO dans les archives de ClusterHat à cette adresse : https://dist1.8086.net/clusterctrl/stretch/2019-04-08/
Pour les quatre cartes SDRam, il suffira d'ajouter le fichier ssh dans la partition boot.

2.3a - NAT

Normalement, si vous connectez votre raspberry PI 3 au réseau, le système va récupérer un adresse dynamique. Lors du démarrage des Pi Zéro, ceux-ci vont récupérer les adresses internes du réseau 172.19.181.0.

2.3b - BRIDGE

Au premier démarrage, il faudra affecter une adresse IP à l'interface br0.
interface br0
static ip_address=192.168.1.70/24 #ClusterCTRL
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
fallback clusterctrl_fallback_br0
Pour les Pi Zéro, préparer les images comme pour les Pi 4. Créez un fichier ssh dans la partition boot. Pour l’adresse IP, modifiez le fichier /etc/dhcpcd.conf comme ceci.
interface usb0
static ip_address=192.168.1.71/24 #ClusterCTRL
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
fallback clusterctrl_fallback_usb0
On affectera les adresses 71 à 74. On peut réaliser cette opération avant de lancer les systèmes en montant les partitions de la carte sur un système Linux.

3 - Configuration du système

Toutes les cartes sont installées, alors c'est parti. Pour les nouvelles ISO, le démarrage fait une extension automatique du disque et redémarre le système. On utilise une alimentation assez puissante pour éviter les alertes de tension basse. On se connecte d'abord sur le Controller. Attention le système est configuré pour un clavier QWERTY. Avec les dernière versions de l'ISO, Il faut saisir le mot de passe de l'utilisateur pi comme ci-dessous.
clusterctrl
Avec les anciennes versions, le mot de passe est clusterhat. Il faudra penser à saisir le q pour le a en clavier AZERTY.
Stacks Image 969562
Démarrage en mode console avec le cordon USB to TTL
Pour la première configuration, pensez à modifier avec la commande sudo raspi-config :
  • L'espace de stockage de votre carte (use entire disk) pour les anciennes versions
  • La localisation du système et le changement du clavier en Français
  • Change l'option vidéo à 16 Go (pour l'ISO Lite)
  • Modifier le mot de passe
  • Activer le ssh si cela n'a pas été fait avec le fichier ssh
Vérifiez ensuite le fonctionnement du DHCP, vous devriez obtenir une adresse IP de votre réseau. Toutefois, si vous obtenez une adresse IP différente (exemple : 172.19.181.254), relancez la requête DCHP en libérant auparavant l'interface réseau.
dhcpcd -k
dhcpcd
Maintenant que notre Controller est opérationnel, lancer les PI Zero avec la commande suivante :
clusterctrl on
ou
clusterhat on
Stacks Image 969851
Activez les PI Zéro
Les PI Zéro s'activent. En mode NAT, on récupère les informations du fichier /etc/dhcpcd.conf, section profile clusterctrl_fallback_usb0. Exemple pour le p1
profile clusterctrl_fallback_usb0
static ip_address=172.19.181.1/24 #ClusterCTRL
static routers=172.19.181.254
static domain_name_servers=8.8.8.8 208.67.222.222
En mode NAT, on peut vérifier en lançant les commandes suivantes :
ping p1.local
…
ping p2.local
…
ping p3.local
…
ping p4.local
…
Normalement, on affectera pour chaque pi, les adresses respectives 172.19.181.1, 172.19.181.2, 172.19.181.3 et 172.19.181.4. Pour chaque PI Zero, il faudra configurer le système. Comme vous avez activé le SSH (voir plus haut), connectez-vous sur chaque PI Zero à partir du Controller avec la commande suivante pour le p1 par exemple :
ssh pi@p1.local
Si vous êtes en mode BRIDGE et que vous avez configuré vos cartes avec des adresses statique, connectez-vous avec l'adresse IP sélectionnée.
Pensez au clavier pour le mot de passe par défaut clusterhat (clusterhqt avec un clavier azerty). Modifiez le système :
  • L'espace de stockage de votre carte (use entire disk) pour les anciennes versions
  • La localisation du système et le changement du clavier en Français
  • Modifier le mot de passe
Pour arrêter les PI Zero, utilisez cette commande :
clusterctrl off
ou
clusterhat off
Il est possible d'activer ou désactiver chaque PI Zero avec les commandes suivantes :
clusterctrl on p1
clusterctrl off p1
ou
clusterhat on p1
clusterhat off p1
L'installation de notre Clusterhat est terminée, passons à l'installation de Docker.

Références

comments powered by Disqus
comments powered by Disqus
 Vous êtes ici: