❯ NAME STATUS ROLES ARCH VERSION rpi4-1 Ready control-plane,master arm64 v1.35+k3s1 rpi4-2 Ready worker arm64 v1.35+k3s1 rpi4-3 Ready worker arm64 v1.35+k3s1 nipogi Ready worker amd64 v1.35+k3s1 ovh-vps Ready worker,edge amd64 v1.35+k3s1
5-node k3s cluster · WireGuard mesh · 40+ self-hosted services · plain YAML
topologie physique & overlay — survolez les nœuds
━━ WireGuard mesh (Netmaker) · ━━ ingress HTTPS · ━━ NFS / backups — IPs affichées fictives (illustration du VPN)
overlay WireGuard, CNI, ingress & DNS
Mesh overlay chiffré entre tous les nœuds — y compris le VPS OVH distant. Chaque machine rejoint le réseau via une interface netmaker dédiée, sur un subnet privé unique.
CNI du cluster k3s, configuré pour router le trafic pod-à-pod via l'interface WireGuard : le réseau cluster traverse le mesh de façon transparente, même entre LAN et cloud.
Fournit les IPs LoadBalancer sur le LAN local en mode Layer 2 — pas de cloud provider, pas de magie : de l'ARP.
Ingress controller déployé en DaemonSet. Le nœud OVH (IP publique) est le point d'entrée externe : Internet → Traefik → mesh → services.
Certificats wildcard *.fhoo.dev émis via challenge DNS-01 sur l'API OVH. TLS partout, renouvellement automatique.
DNS interne en haute disponibilité — 2 instances répliquées. Résolution locale des domaines internes + filtrage réseau.
k3s v1.35 · plain YAML, no Helm
| Node | Hardware | Arch | Rôle | Spécificités |
|---|---|---|---|---|
| rpi5-1 | Raspberry Pi 5 | arm64 | control-plane + worker | workloads légers |
| rpi4-2 | Raspberry Pi 4 | arm64 | worker | workloads légers |
| rpi4-3 | Raspberry Pi 4 | arm64 | worker | workloads légers |
| nipogi | NiPoGi E3B · Intel N100 | amd64 | worker principal | PostgreSQL (NVMe), VA-API, OpenVINO |
| ovh-vps | VPS OVH · Debian | amd64 | worker + edge | IP publique, expose Traefik |
workload=postgres → tous les pods PostgreSQL s'exécutent exclusivement sur le NiPoGi (SSD NVMe local, hostPath PVs).
kubernetes.io/arch=arm64 → workloads légers épinglés sur les Raspberry Pi.
Tous les manifests sont en YAML brut — pas de Helm, pas de templating. Lisible, diffable, versionné dans Forgejo. Ce que tu vois est ce qui tourne.
Le cluster s'étend du salon au datacenter : 4 nœuds à la maison + 1 VPS OVH, unifiés par le mesh WireGuard. Flannel ne voit qu'un seul réseau plat.
StorageClasses, NAS & stratégie de backup
| StorageClass | Driver | Backend | Usage |
|---|---|---|---|
nfs-nas1 | csi-driver-nfs v4.13.1 | NAS 1 (OMV, principal) | Données applicatives générales |
nfs-nas2 | csi-driver-nfs v4.13.1 | NAS 2 (OMV, backup) | Destination Backrest / restic |
local-ssd | hostPath | NiPoGi (SSD NVMe interne) | PostgreSQL (CNPG), performance |
40+ pods, classés par domaine — tout passe par Traefik + Keycloak
Keycloak OIDC — un seul login pour tout le homelab
fhoo.dev). Pas de comptes locaux éparpillés.