Aller au contenu

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.

  • par