Dans un monde où les données sont au cœur de la stratégie des entreprises, il devient essentiel de se doter d’outils modernes pour les orchestrer, les analyser et les valoriser. C’est dans cette optique qu’une entreprise cliente nous a confié un projet d’envergure : la mise en place d’une infrastructure data interne, capable de faire tourner des outils puissants comme Apache Airflow (gestion de workflows) et Apache Superset (visualisation de données).
Plutôt que d’opter pour une solution dans le cloud public, l’entreprise a souhaité garder la maîtrise de son environnement en interne (on-premise), tout en bénéficiant des standards d’automatisation, de sécurité et d’évolutivité qu’offrent les technologies modernes comme Kubernetes.
Contexte & collaboration inter-équipes
Dès le départ, le projet s’est inscrit dans un contexte d’intégration complexe, avec un VPN d’entreprise structuré en plusieurs sous-réseaux (serveurs GitLab, bases de données internes, etc.). Pour garantir une compatibilité totale, nous avons travaillé en étroite collaboration avec l’équipe IT, en coordonnant :
- L’accès aux machines internes (l’ERP SAGE & plusieurs applications internes « maison »)
- L’ouverture des ports nécessaires
- L’ajout d’entrées DNS internes
- L’intégration des certificats SSL d’entreprise
- La mise en place de snapshots pour sécuriser les machines critiques
En parallèle, nous avons également collaboré avec l’équipe de développement pour structurer les projets GitLab liés aux composants déployés : Airflow, Superset, DBT, ainsi que l’infrastructure elle-même.
Une infrastructure Kubernetes on-premise robuste
Pour répondre aux besoins de fiabilité et de résilience de l’entreprise, nous avons déployé un cluster Kubernetes on-premise, configuré sur deux machines (1 master, 1 worker) sous Debian 12. Cette infrastructure a été pensée pour rester évolutive, avec la possibilité d’ajouter facilement des nœuds supplémentaires ou de passer à un mode haute disponibilité (HA).
Nous avons intégré les composants suivants :
- Calico comme système de réseau (CNI)
- Ingress-NGINX pour la gestion des accès, avec les certificats internes
- MetalLB comme LoadBalancer pour exposer certains services en local
- Longhorn pour le stockage des volumes persistants, avec une configuration spécifique permettant de préserver les données même après la suppression de ressources Kubernetes
- metrics-server pour monitorer les ressources du cluster
Enfin, une base de données PostgreSQL dédiée a été installée sur une machine voisine du cluster, assurant les besoins pour Airflow et Superset.
Sécurité, automatisation & bonnes pratiques GitOps
La sécurité a été un axe fondamental tout au long du projet.
Nous avons adopté une approche GitOps pour piloter l’infrastructure via GitLab :
- Tous les manifestes Kubernetes sont versionnés dans un dépôt Git
- Les secrets sensibles sont chiffrés avec SOPS et Age, garantissant leur protection
- Les déploiements sont générés via Helm templates, puis personnalisés avec Kustomize, ce qui permet à l’équipe de surcharger dynamiquement les environnements selon les besoins
L’accès aux images Docker privées hébergées dans GitLab est protégé via des imagePullSecrets, assurant un contrôle total sur les versions déployées.
Applications métiers déployées
Une fois le socle technique en place, nous avons pu déployer les applications principales demandées :
- Airflow, avec personnalisation des configurations et stockage des logs sur des volumes persistants
- Superset, également personnalisé, pour répondre aux besoins de dataviz de l’équipe métier
- DBT, intégré comme sous-module Git dans le projet Airflow, pour orchestrer des transformations de données SQL
- Un serveur FTP sécurisé, basé sur l’image atmoz/sftp, exposé via MetalLB pour des échanges de fichiers avec des partenaires externes
- Un système de templating CI/CD dans GitLab, permettant de générer et publier automatiquement les images Docker des applications déployées
Documentation & transfert de compétences
Pour rendre cette infrastructure pérenne et maintenable par les équipes internes, une documentation complète a été rédigée au format Markdown :
- Procédures d’installation et de mise à jour
- Bonnes pratiques de gestion de secrets et de versionnement
- Explication des différents composants et leurs interactions
Conclusion : un cluster interne sécurisé, flexible et maîtrisé
Ce projet illustre parfaitement ce que peut apporter une infrastructure maîtrisée, même en interne. Grâce à Kubernetes, GitOps et des outils modernes comme Airflow et Superset, l’entreprise dispose aujourd’hui d’une plateforme data fiable, automatisée, évolutive et surtout totalement intégrée à son environnement réseau existant.
Vous êtes une entreprise à la recherche d’une solution similaire ? Que ce soit dans le cloud ou on-premise, nous vous accompagnons sur la mise en place d’un socle robuste, sécurisé et documenté, adapté à vos besoins métiers.
👉 Contactez-nous pour en discuter