【发布时间】:2018-07-03 00:25:01
【问题描述】:
我们正在构建工作流调度应用程序。我们发现 Airflow 是工作流管理器的一个不错的选择,而 Kubernetes 是集群管理器的一个不错的选择。因此,流量将是,
- 我们会将工作流 DAG 提交给 Airflow。
- Airflow 应通过指定 docker 映像将给定 DAG 的任务提交给 Kubernetes。
- Kubernetes 应该通过在集群的可用 EC2 工作节点上运行 docker 容器来执行任务。
在搜索中,我们发现 Airflow 有用于与 ECS、Mesos 集成但不用于 Kubernetes 的 Operator。但是,我们在Airflow wiki 上发现了对 Kubernetes Operator 的请求,但没有任何进一步的更新。
那么,简单来说问题就是,如何将 Airflow 与 Kubernetes 集成?
【问题讨论】:
-
我看到的方式是使用 BashOperator 并调用您的 .sh 脚本来利用您的
kubectl -
@Chengzhi 是的。这是我们想到的解决方法之一。但是,我相信,在这种情况下,我们可能还必须处理其他责任,例如。使用 Kubernetes API 等从容器中提取日志。相反,我正在寻找更清洁或更好的方法,可能由 Kubernetes 或 Airflow 本身提供,因此,我们将专注于我们的域,而不是在我们的代码中添加或处理第 3 方的复杂性。
标签: kubernetes airflow airflow-scheduler google-kubernetes-engine