Auto-update blog content from Obsidian: 2025-05-25 20:51:11
All checks were successful
Deploy / Deploy (push) Successful in 4s
All checks were successful
Deploy / Deploy (push) Successful in 4s
This commit is contained in:
@@ -18,16 +18,16 @@ En 2015, je suis passé à un Raspberry Pi 2, à la recherche de meilleures perf
|
||||
|
||||
En 2018, le besoin de plus de RAM m'a conduit à un Raspberry Pi 3, me permettant d'exécuter encore plus d'applications. Mes trois petites machines fonctionnaient harmonieusement ensemble, dans un bordel bien ordonné.
|
||||
|
||||
Enfin, en 2019, mon nouveau travail m'a fait découvrir la virtualisation, avec les machines virtuelles et surtout Docker. Je voulais essayer ça à la maison, et je suis passé a la vitesse supérieure avec un mini-PC compact mais assez puissant qui a posé les bases de mon homelab.
|
||||
Enfin, en 2019, mon nouveau travail m'a fait expérimenter la virtualisation, avec les machines virtuelles et surtout Docker. Je voulais essayer ça à la maison, et je suis passé a la vitesse supérieure avec un mini-PC compact mais assez puissant qui a posé les bases de mon homelab.
|
||||
|
||||
---
|
||||
## Pourquoi un Homelab ?
|
||||
|
||||
Je voulais mon propre terrain de jeu, un espace où casser des objets était non seulement acceptable, mais encouragé. C'est le meilleur moyen d'apprendre à les réparer et, surtout, de vraiment comprendre leur fonctionnement.
|
||||
Je voulais mon propre terrain de jeu, un espace où je pouvais construire mais aussi casser des choses sans risques, apprendre à les réparer et mieux comprendre leur fonctionnement.
|
||||
|
||||
Mon unique serveur était génial, mais tester quoi que ce soit de risqué dessus était devenu problématique. Il exécutait des services critiques comme la domotique ou le DNS, et croyez-moi, ne pas avoir de lumières ni d'internet était un incident majeur pour ma famille. Le serveur était devenu indispensable. Lorsqu'il était en panne, tout était en panne. Plus aussi fun.
|
||||
Mon unique serveur était génial, mais tester quoi que ce soit de risqué dessus était devenu problématique. Il exécutait des services critiques comme la domotique ou le DNS, lorsqu'il était en panne, tout était en panne. Le serveur était devenu indispensable, et croyez-moi, ne pas avoir de lumières ni d'internet était un incident majeur pour ma famille. Plus aussi fun.
|
||||
|
||||
Le premier grand défi que je me suis lancé a été de créer un cluster Kubernetes. Bien sûr, je pouvais en exécuter un sur un seul nœud, mais à quoi bon un cluster avec un seul nœud ? On pourrait dire qu'utiliser Kubernetes pour contrôler mes volets est excessif, et vous auriez raison. Mais ce n'était pas le sujet.
|
||||
Le premier grand défi que je me suis lancé a été de créer un cluster Kubernetes. Bien sûr, j'aurais pu en exécuter un sur un seul nœud, mais à quoi bon un cluster avec un seul nœud ? On pourrait dire qu'utiliser Kubernetes pour contrôler mes volets est overkill, et vous auriez raison. Mais ce n'était pas le sujet.
|
||||
|
||||
Je voulais aussi créer de nouvelles machines virtuelles à volonté, les reconstruire de zéro et appliquer les principes de l'Infrastructure as Code. J'aurais pu faire tout cela dans le cloud, mais je voulais un contrôle total.
|
||||
|
||||
@@ -43,17 +43,17 @@ Cela impliquait :
|
||||
- **Haute disponibilité** : Trois nœuds pour garantir qu'aucun point de défaillance ne puisse tout interrompre.
|
||||
- **Stockage distribué** : Redondance des données entre les nœuds, non seulement pour garantir la disponibilité, mais aussi pour apprendre le fonctionnement des systèmes de stockage d'entreprise.
|
||||
- **Segmentation du réseau** : Plusieurs VLAN pour imiter les topologies de réseau réelles, isoler les services et pratiquer la mise en réseau avancée.
|
||||
|
||||
En résumé, je souhaitais construire un mini datacenter dans un placard.
|
||||
### Contraintes
|
||||
|
||||
Bien sûr, la réalité ne correspond pas toujours aux ambitions. Voici ce à quoi je me suis heurté :
|
||||
- **Espace** : Mon labo devait tenir dans une petite armoire de service cachée au milieu de mon appartement. Pas vraiment une salle de serveurs.
|
||||
- **Espace** : Mon lab devait tenir dans un petit espace de service cachée au milieu de mon appartement. Pas vraiment une salle de serveurs.
|
||||
- **Bruit** : Le silence était crucial. Ce n'était pas un endroit caché dans un garage ou un sous-sol, mais en plein cœur de notre espace de vie.
|
||||
- **Consommation électrique** : Fonctionnant 24/7, la consommation électrique devait être maîtrisée. Je ne pouvais pas me permettre de tripler ma facture d'électricité juste pour bricoler des machines virtuelles.
|
||||
- **Budget** : Je n'allais pas dépenser des milliers d'euros pour du matériel professionnel. L'équilibre résidait dans la recherche d'un équipement d'occasion fiable et abordable.
|
||||
- **Température** : Franchement, je n'y avais pas pensé… Les mini-PC ne chauffent pas beaucoup, mais le matériel réseau ? C'est une autre histoire. Leçon apprise.
|
||||
|
||||
En un mot, je souhaitais construire un mini datacenter dans un placard.
|
||||
|
||||
---
|
||||
|
||||
## Présentation de l'Infrastructure
|
||||
@@ -87,9 +87,8 @@ Voici les spec de mes nœuds :
|
||||
| **NIC** | 1Gbps (+ 2.5Gbps) | 1Gbps + 2.5Gbps | 1Gbps + 2.5Gbps |
|
||||
| **M.2** | 2 | 1 | 1 |
|
||||
| **2,5"** | 2 | 2 | 1 |
|
||||
| | | | |
|
||||
|
||||
Chaque nœud a la même configuration de disque : un SSD de 256 Go dans la baie 2,5 pouces pour le système d’exploitation et un disque NVMe de 1 To pour le stockage des données.
|
||||
Chaque nœud a la même configuration de disque : un SSD de 256 Go dans la baie 2,5" pour le système d’exploitation et un disque NVMe de 1 To pour le stockage des données.
|
||||
### Réseau
|
||||
|
||||
Pour le réseau, j’avais deux objectifs principaux : implémenter des VLAN pour la segmentation du réseau et gérer mon pare-feu pour un contrôle plus précis. Mes nœuds étant équipés de cartes réseau 2,5 Gbit/s, j’avais besoin de switchs capables de gérer ces débits, ainsi que de quelques ports Power over Ethernet (PoE) pour mon antenne Zigbee et ses futures fonctionnalités.
|
||||
@@ -123,8 +122,8 @@ La meilleure solution que j'ai trouvée a été de percer deux trous de 40 mm a
|
||||
|
||||
Voici à quoi ça ressemble :
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
## Stack Logicielle
|
||||
|
@@ -18,14 +18,14 @@ In 2015, I upgraded to a Raspberry Pi 2, seeking better performance to run multi
|
||||
|
||||
By 2018, the need for more RAM led me to a Raspberry Pi 3, allowing me to run even more applications. My 3 little machines were running happily together, in a quite ordered mess.
|
||||
|
||||
Finally, in 2019, my new job made me discover the virtualization, with virtual machines and above all Docker. I wanted to try that at home, I took a significant step forward with a compact yet quite powerful headless mini PC that laid the foundation of my homelab.
|
||||
Finally, in 2019, my new job made me experiment the virtualization, with virtual machines and above all Docker. I wanted to try that at home, I took a significant step forward with a compact yet quite powerful headless mini PC that laid the foundation of my homelab.
|
||||
|
||||
---
|
||||
## Why a Homelab ?
|
||||
|
||||
I wanted my own playground, a space where breaking things was not just okay, but encouraged. It’s the best way to learn how to fix them and, more importantly, to really understand how they work.
|
||||
I wanted my own playground, a space where I could build but also safely break things, learn to fix them, and gain a deeper understanding of how they work.
|
||||
|
||||
My single server was great, but testing anything risky on it became a problem. It was running critical services like home automation or DNS, and believe me, having no lights or internet is a major incident in my family. The server had become indispensable. When it was down, everything was down. Not so fun anymore.
|
||||
My single server was great, but testing anything risky on it became a problem. It was running critical services like home automation or DNS, when it was down, everything was down. The server had become indispensable, and believe me, having no lights or internet is a major incident in my family. Not so fun anymore.
|
||||
|
||||
The first big challenge I set for myself was building a Kubernetes cluster. Sure, I could run one on a single node, but what’s the point of a cluster with only one node? You could argue that running Kubernetes to control my shutters is overkill, and you’d be right. But that wasn’t the point.
|
||||
|
||||
@@ -43,8 +43,6 @@ That meant:
|
||||
- **High Availability:** Three nodes to ensure that no single point of failure would bring everything down.
|
||||
- **Distributed Storage:** Data redundancy across nodes, not just for uptime but also to learn how enterprise-grade storage systems work.
|
||||
- **Network Segmentation:** Multiple VLANs to mimic real-world network topologies, isolate services, and practice advanced networking.
|
||||
|
||||
Basically, I wanted to build a tiny datacenter in a closet.
|
||||
### Constraints
|
||||
|
||||
Of course, reality doesn’t always align with ambitions. Here’s what I was up against:
|
||||
@@ -54,6 +52,8 @@ Of course, reality doesn’t always align with ambitions. Here’s what I was up
|
||||
- **Budget:** I wasn’t going to drop thousands on enterprise-grade hardware. The balance was finding reliable, second-hand gear that wouldn’t break the bank.
|
||||
- **Temperature**: I’m not gonna lie, I hadn't thought of it... Mini PCs don’t generate much heat, but network gear? That’s a different story. Lesson learned.
|
||||
|
||||
In a nutshell, I wanted to build a tiny datacenter in a closet.
|
||||
|
||||
---
|
||||
## Infrastructure Overview
|
||||
|
||||
@@ -121,8 +121,9 @@ Inside the rack, I also added two 80mm fans to help with airflow. To keep everyt
|
||||
|
||||
Here what is look like:
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
---
|
||||
## Software Stack
|
||||
|
Reference in New Issue
Block a user