Home lab - Usine Logicielle

Home lab - Usine Logicielle

Laissez moi vous présenter quelques facettes de mon "laboratoire domestique", ou "usine logicielle".
J'appelle ainsi cette configuration de 3 raspberry pi qui me sert de datacenter.

🐧 pi1 🐧 pi1 🐧 pi2 🐧 pi2 🐧 pi3 🐧 pi3

Équipement principal

Les Raspberry Pi (ou rpi / pi ) sont connectés en éthernet sur la livebox. La livebox sert de routeur et de passerelle/gateway vers internet.
Ils possèdent des cartes wifi fonctionnelles, mais elles surchauffent si on utilise un outil comme Longhorn qui réplique les données des disques durs externes pour prévenir des incidents.

ServiceUsage
Google Cloudstockage de données (backup et terraform)
CloudflareDNS global, site web static, captcha
OVHnom de domaine en ".fr"
Zohomail pro
CrowdSecpare-feu
DuckDNSDNS global gratuit (pas assez fiable)

Réseau

Plusieurs choses apparaissent sur ce schéma.

On retrouve le cluster de 3 raspberry pi.

  • J'ai installé K3S, une version plus légère de K8S (Kubernetes).
  • J'ai fait le choix d'utiliser Docker, et c'est avec docker compose que je déploie Gitea, une version plus légère de Gitlab qui supporte la CI/CD de Github sur des "Gitea Act Runner".
  • L'installation de chaque composant de mon usine logicielle est scripté avec Ansible.
  • Le DNS local, qui me permet de désigner mes services internes sous le domaine "arcodange.lab" est assuré par Pi Hole, avec une règle "wildcard/joker" qui redirige les requêtes interne vers le point d'entrée du cluster K3S.
  • Le point d'entrée du réseau est Traefik (le reverse proxy). Si une requête vient d'internet alors elle passe par des middleware de sécurité, puis Traefik route la requête vers l'application adéquate.
  • Pour exposer mes applications sur internet, j'ai configuré, avec Terraform, les zones DNS de mon domaine "arcodange.fr" acheté sur OVH et géré via Cloudflare, et déployé le client cloudflared de Cloudflare Tunnel.

Vous pouvez donc visiter cms-rec.arcodange.fr ou encore gitea.arcodange.fr hébergés sur mes Raspberry Pi.

DevOps

Gitea - Gitea Act Runner - Argo CD - Vault - Terraform - Responsabilité des dépots

Persistence

Dépot mirroirs, réplication longhorn, backup postgres, stockage terraform