UPS Maison pour Cluster RPi - En Cours

Onduleur DIY à base de batteries LiPo et d'un contrôleur Arduino

Problème à résoudre

Un cluster Kubernetes ne s’arrête pas proprement en cas de coupure de courant. Sans arrêt gracieux, Longhorn peut se retrouver dans un état incohérent et les PVC corrompus. Les UPS commerciaux sont chers et surdimensionnés pour ce cas d’usage.

Solution

Un UPS DIY composé de :

  • 2 batteries LiPo 18650 en parallèle (~10 Ah)
  • Contrôleur de charge TP4056 avec protection intégrée
  • Module boost DC-DC 5V/3A pour alimenter les Pi
  • Arduino Nano pour la supervision

Logique de contrôle

L’Arduino mesure la tension batterie toutes les 10 secondes via un diviseur résistif + ADC. Quand la tension descend sous 3.6V/cellule (secteur coupé et batterie qui se vide), il envoie un signal GPIO à un Pi désigné « master shutdown ».

Ce Pi exécute un script Bash qui :

  1. Met tous pods en pause proprement (à l’exception de k3s et longhorn)
  2. Déclenche l’arrêt séquencé des workers
  3. S’éteint en dernier

Résultat

Le cluster devrait survivre aux micro-coupures sans aucune corruption de données. Coût total de la solution : ~50€.