Infrastructure En cours 2024

Cluster Kubernetes Homelab

Cluster k3s 4 nœuds sur Raspberry Pi avec stockage distribué Longhorn, monitoring et services auto-hébergés.

Cluster Kubernetes Homelab
Kubernetesk3sLonghornRaspberry PiTraefik
Code source ↗

Contexte

J’ai voulu pousser mon homelab au-delà du simple NAS ou du serveur unique. L’objectif : une infrastructure résiliente, reproductible et proche d’un environnement de production réel, mais sur du matériel ARM à faible consommation.

Architecture

Schéma d'architecture du cluster K3s homelab

Le cluster tourne sur 4 Raspberry Pi 4 (8 Go RAM chacun) reliés en Ethernet gigabit :

  • 1 control plane dédié
  • 3 nœuds worker avec stockage Longhorn distribué
  • Pi-hole pour DNS/DHCP et filtrage réseau
  • Traefik comme ingress controller avec certificats TLS automatiques

Services auto-hébergés

  • Immich — gestion de photos façon Google Photos
  • Gitea — dépôt Git privé
  • Docker Registry — registre d’images privé
  • Joplin — synchronisation de notes
  • Radicale — CalDAV/CardDAV

Gestion de l’alimentation

J’ai construit un onduleur maison (UPS) avec batteries LiPo et contrôleur Arduino pour déclencher un arrêt propre du cluster en cas de coupure secteur. Un script surveille la tension batterie via I2C et envoie les commandes d’arrêt séquencées.

Difficultés rencontrées

La récupération Longhorn après réinstallation a été le défi le plus complexe — il a fallu recréer manuellement les mappings de volumes pour préserver les données existantes sans format propriétaire.

Ce que j’ai appris

  • Gestion fine des ressources sur des nœuds ARM contraints
  • Debugging réseau profond (CNI, kube-proxy, CoreDNS)
  • Stratégies de backup sans verrouillage vendor