Construire un Cloud Hybride Privé Distribué avec Kubeadm et WireGuard
Face à des enjeux croissants de souveraineté, de performance et de résilience, nous avons entrepris la création d’un cloud hybride privé, distribué sur plusieurs régions, en nous appuyant uniquement sur des outils open source : Kubeadm pour l’orchestration Kubernetes et WireGuard pour le réseau privé. Voici notre retour d’expérience complet, structuré selon la méthode STAR : Situation, Tâche, Action, Résultat.
🛰️ Situation
En 2024, notre équipe R&D devait exécuter des workloads critiques, notamment en intelligence artificielle, avec de fortes exigences :
- Distribution géographique (Europe + USA)
- Haute disponibilité et réplication des données
- Utilisation de GPU
- Contrôle complet sur l’infrastructure
🎯 Tâche
Nos objectifs techniques étaient :
- Créer un cluster Kubernetes en mode privé, avec Kubeadm
- Interconnecter les nœuds avec un VPN WireGuard full-mesh
- Répartir les rôles : 2 masters, 3 Etcd, 4 workers (dont 3 GPU) + 1 worker on-premise
- Déployer une stack applicative géodistribuée (MinIO, PostgreSQL, Elasticsearch)
- Implémenter des politiques de sécurité et de supervision robustes
🛠️ Actions
1. Cartographie de l’Infrastructure
Voici la répartition des ressources physiques :
Rôle | Localisation | Fournisseur |
---|---|---|
Master 1 | Paris | SCW |
Master 2 | Nice | OVH |
Etcd 1 | Graveline | OVH |
Etcd 2 | Florence | HostingSolution |
Etcd 3 | Paris | SCW |
Worker 1 (GPU) | Falkenstein | Hetzner |
Worker 2 (GPU) | Florence | HostingSolution |
Worker 3 (GPU) | Houston | Tensordoc |
Worker 4 | On-prem (Paris) | Site local |
2. VPN WireGuard Full-Mesh
- Déploiement automatisé avec Ansible
- Adresses IP privées dans le subnet
10.42.0.0/16
- Chiffrement des communications Kubernetes (API, Etcd, pods)
3. Déploiement Kubernetes avec Kubeadm
Configuration de Calico comme CNI, taints et affinities pour organiser les workloads GPU. Extrait de la commande d’initialisation :
kubeadm init --control-plane-endpoint "10.42.0.1:6443" \
--upload-certs \
--pod-network-cidr=192.168.0.0/16
4. Stack applicative géo-répliquée
- MinIO distribué avec bucket replication
- PostgreSQL + BDR entre Paris, Florence, Houston
- Elasticsearch multi-shard avec réplication géographique
5. Supervision & Sécurité
- Prometheus + Grafana + Alertmanager
- RBAC, Vault pour certificats, Calico policies
- CI/CD avec GitLab déployant automatiquement selon les labels de zone
✅ Résultats
Performance et Fiabilité
- 99.95% de disponibilité sur 3 mois
- Latence intra-Europe : < 40 ms / Europe-USA : ~110 ms
- PostgreSQL BDR : < 7 secondes de lag
Économies et Souveraineté
- ~42% d’économies par rapport à un cloud public équivalent
- Aucune dépendance à un fournisseur unique
- Maîtrise complète des certificats, clés, monitoring, déploiements
💬 Conclusion
Cette expérience prouve qu’un cloud privé hybride, distribué et sécurisé, est une alternative viable aux solutions hyperscaler. Avec des outils comme Kubeadm, WireGuard et une stack bien pensée, on obtient à la fois résilience, performance, et maîtrise budgétaire.
Prochaine étape : intégration ARM, scheduler coût/latence-aware, observabilité IA.