Passer au contenu principal
Menu
Data

AIRFLOW KUBERNETES ORCHESTRATION

Déploiement Cloud Native d'Apache Airflow pour orchestrer des pipelines ETL fiables.

Dépôt bientôt disponible
KubernetesHelmPythonPostgreSQLDocker
Phase 1

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).

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Déploiement d'Apache Airflow sur un cluster Kubernetes via le chart Helm officiel

  2. 2

    Configuration du KubernetesExecutor pour scaler dynamiquement (1 pod K8s = 1 tâche Airflow)

  3. 3

    Développement de DAGs (Directed Acyclic Graphs) en Python pour modéliser les workflows

  4. 4

    Pipeline ETL : Extraction via API Publique, Transformation (nettoyage) via Pandas, Chargement en base PostgreSQL

  5. 5

    Mise en place d'alertes Slack en cas d'échec d'une tâche

Phase 3

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.

Phase 4

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

All Projects