Nous construisons une application de planification de workflow. Nous avons trouvé Airflow comme une bonne option pour le gestionnaire de flux de travail et Kubernetes comme une bonne option pour le gestionnaire de cluster. Ainsi, le flux serait,
Lors de la recherche, nous avons constaté qu'Airflow a des opérateurs pour l'intégration avec ECS, Mesos mais pas pour Kubernetes. Cependant, nous avons trouvé une demande pour Kubernetes Operator sur Airflow wiki , mais pas de mise à jour supplémentaire à ce sujet.
Donc, la question à poser est simplement, comment intégrer Airflow à Kubernetes?
C'est en vol en ce moment. Vous pouvez simplement suivre ce billet Jira majeur
L'une des branches les plus stables (le travail est mené par beaucoup de cette équipe) est située dans la fourche bloomberg sur github dans la branche airflow-kubernetes-executor bien qu'elle soit en cours de rebasage hors d'un maître de flux d'air en mouvement constant.
J'ai une branche sur ma fourchette qui traite de nombreux problèmes à court terme et fonctionne assez bien appelée frankensteins-monster . Utilisez cela à vos risques et périls, bien que cela fonctionne pour moi en ce moment. Je crée une image Docker à l'aide du build.sh
script situé dans scripts/ci/kubernetes/docker
.
Bonne chance!
Il existe deux façons d'utiliser Apache Airflow avec Kubernetes:
En utilisant un opérateur avec KubernetesPodOperator:
Ou en utilisant le KubernetesExecutor:
Pour une expérience rapide, vous pouvez suivre le tutoriel que je viens de faire ici: https://marclamberti.com/blog/airflow-kubernetes-executor/
J'espère que ça aide :)
À votre santé