Déployer une infrastructure edge souveraine avec K3s, MetalLB, Ceph et GitOps

Publié le 20 juin 2025

Edge
Kubernetes
Infrastructure

Dans un monde où la latence, la souveraineté et la résilience sont devenues critiques, les architectures edge prennent tout leur sens. Ce guide vous montre comment construire une plateforme cloud-native bare-metal, 100% auto-hébergée et résiliente, avec K3s, MetalLB, Ceph (via Rook) et GitOps avec FluxCD.

Prérequis

  • Minimum 3 nœuds physiques (Raspberry Pi 4, NUC ou serveurs edge)
  • Réseau local en /24 dédié
  • DNS interne ou fichiers hosts
  • Linux installé sur chaque nœud
  • SSH sans mot de passe entre les nœuds
  • Accès Internet pour les installations

Technologies utilisées

TechnologieRôle
K3sKubernetes léger et HA
MetalLBLoad balancing L2
Rook + CephStockage distribué
FluxCDAutomatisation GitOps
Prometheus + GrafanaSupervision
Tailscale (optionnel)Accès sécurisé inter-sites

Architecture

SITE A                             SITE B
+---------------------------+      +---------------------------+
|  K3s Control Plane (x3)   |      |  K3s Worker Nodes         |
|  Ceph Mon / Mgr / OSD     |      |  Rook/Ceph OSD            |
|  FluxCD                   |      |  Apps / Services          |
+---------------------------+      +---------------------------+

Étape 1 : Installation de K3s (HA)

Sur le nœud 1 (initiateur)

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --cluster-init" sh -

Sur les nœuds 2 et 3

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --server https://<IP_NODE1>:6443" K3S_TOKEN=<token> sh -

Récupérez le token sur le nœud 1 :

cat /var/lib/rancher/k3s/server/node-token

Étape 2 : Déploiement de MetalLB

Installation

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.10/config/manifests/metallb-native.yaml

Configuration IP range

apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: default-addresspool
  namespace: metallb-system
spec:
  addresses:
  - 192.168.100.240-192.168.100.250
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: l2adv
  namespace: metallb-system

Étape 3 : Déploiement de Ceph via Rook

git clone https://github.com/rook/rook.git
cd rook/deploy/examples

kubectl create -f crds.yaml -f common.yaml -f operator.yaml
kubectl create -f cluster.yaml

Vérifiez le statut

kubectl -n rook-ceph get pods
kubectl -n rook-ceph get cephcluster

Création d’un StorageClass

kubectl create -f storageclass.yaml

Étape 4 : GitOps avec FluxCD

curl -s https://fluxcd.io/install.sh | sudo bash

Bootstrap Git

flux bootstrap github   --owner=ton-org   --repository=flux-infra   --branch=main   --path=./clusters/edge   --personal

Exemple d'arborescence GitOps

clusters/
└── edge/
    ├── kustomization.yaml
    ├── ceph/
    └── metallb/

Étape 5 : Monitoring avec Prometheus & Grafana

kubectl create namespace monitoring
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install k3s-monitoring prometheus-community/kube-prometheus-stack -n monitoring

Accès Grafana

kubectl -n monitoring port-forward svc/k3s-monitoring-grafana 3000:80

Naviguez sur http://localhost:3000 (admin / prom-operator password dans le secret Grafana).

Étape 6 : (Bonus) Accès inter-sites avec Tailscale

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --authkey <key> --hostname k3s-node1

Cas d’usage

  • Hébergement d'applications sensibles en local
  • Traitement temps réel sur site industriel (latence réduite)
  • Plateforme edge 100% souveraine (pas de dépendance cloud)
  • Backup croisé + HA (grâce à Ceph)
  • Déploiement GitOps simplifié

Avantages

FonctionnalitéSupporté
Kubernetes HA✅ (K3s)
Stockage distribué✅ (Ceph via Rook)
GitOps✅ (FluxCD)
Monitoring✅ (Prometheus + Grafana)
Load Balancing✅ (MetalLB)
Edge Ready
100% Open Source

Conclusion

Construire une infrastructure edge souveraine avec K3s, Ceph, MetalLB et GitOps vous donne le contrôle total de votre cloud local. Résiliente, extensible, auditable, cette architecture est idéale pour les entreprises modernes souhaitant sortir des solutions propriétaires tout en conservant une scalabilité et une maintenabilité exemplaire.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser