AIRFLOW KUBERNETES ORCHESTRATION
Déploiement Cloud Native d'Apache Airflow pour orchestrer des pipelines ETL fiables.
Contexte
Remplacement de scripts Cron fragiles par un véritable orchestrateur DataOps. L'objectif était de lier mes compétences DevOps (Kubernetes) avec le standard de l'ingénierie Data (Airflow).
Méthodologie d'Apprentissage
- 1
Déploiement d'Apache Airflow sur un cluster Kubernetes via le chart Helm officiel
- 2
Configuration du KubernetesExecutor pour scaler dynamiquement (1 pod K8s = 1 tâche Airflow)
- 3
Développement de DAGs (Directed Acyclic Graphs) en Python pour modéliser les workflows
- 4
Pipeline ETL : Extraction via API Publique, Transformation (nettoyage) via Pandas, Chargement en base PostgreSQL
- 5
Mise en place d'alertes Slack en cas d'échec d'une tâche
Défis Techniques
Persistance et partage des données (XComs vs PVC)
Comment passer un fichier de 500Mo d'une tâche à l'autre ? Solution : Utilisation d'un bucket S3 externe au lieu des XComs Airflow, inadaptés aux gros volumes.
Gestion des secrets dans Airflow K8s
Mots de passe BDD codés en dur dans les DAGs. Solution : Intégration des Kubernetes Secrets natifs associés aux connexions Airflow.
Debugging des pods éphémères
Logs des tâches perdus quand le pod disparaît. Solution : Configuration du Remote Logging Airflow vers S3/CloudWatch.
Résultats
Orchestrateur Data résilient capable de reprendre là où il a échoué (Retries automatisés)
Visibilité totale sur l'état des pipelines via l'UI Airflow
Fusion réussie des mondes DevOps (K8s/Helm) et Data Engineering
Architecture capable de scaler horizontalement à l'infini en fonction du nombre de tâches
Explore More