Mixer des nodes sur un cluster k3s est tout à fait possible et c’est assez
simple à mettre en œuvre puisque l’agent contient directement les pods
techniques (load balancer et ingress) avec la bonne architecture détectée lors
de l’installation.
Je fais le choix d’utiliser les images fournies par hypriot car elles sont
optimisées et ne nécessitent pas d’écran pour la post-installation.
On récupère dans un premier temps l’outil pour flasher les cartes SD.
Maintenant flashons les cartes SD avec la dernière de la distribution
hypriotOS sur des cartes SD (prenez des classes 10) qui vous devrez au préalable
formater en FAT32 :
Une fois flashée, installez les dans vos rpi et allumez-les. Une fois détecté
par votre serveur DHCP (perso celui de ma bbox) fixer leurs adresses. Si besoin,
ajoutez leurs adresses dans votre fichier /etc/hosts. Ensuite une fois
redémarrés, copiez votre clé ssh sur les rpi avec le compte pirate :
Ajouter les lignes suivantes avec vos adresses IP fixées :
Copie de votre clé ssh :
Installons l’agent k3S avec la même commande que pour les nodes AMD64:
Au bout de quelques instants, vous devriez retrouver les nodes dans votre cluster
K3S :
Forcer les image dockers AMD64 et ARM à tourner sur les bons nodes
Il suffit d’utiliser les labels définit par défaut et d’ajouter à vos
déploiements/statefulsets un nodeSelector :
Affichons les labels des nodes :
On va utiliser le label kubernetes.io/arch dans le déploiement :
Les lignes importantes :
Les images docker au format ARM vont bien aller sur les nodes rpi (ARM). Faites
de même pour les déploiements avec des images AMD64 en changeant le node
selector :