0

我们决定在 Kubernetes 上运行 Airflow。我们希望以一种平衡的方式利用 Kubernetes 的力量。我们的 DAG 中有一些非常小的任务,例如创建目录。KubernetesExecutor 为每个任务启动一个 pod,这需要很长时间,因此对于许多短任务来说是多余的。

我的问题是,是否可以将 Airflow 配置为为整个 DAG 启动一个 Kubernetes pod,而不是为每个任务启动一个 pod?(最好不要芹菜)

4

2 回答 2

0

https://airflow.apache.org/docs/apache-airflow/stable/executor/celery_kubernetes.html

CeleryKubernetes Executor 允许您使用 celery worker 的即时资源或为任务启动 pod。我尚未配置此设置,但它似乎与您的用例相匹配。

于 2021-05-04T07:12:05.557 回答
0

我认为每个 DAG 不可能使用一个 pod,因为KubernetesExecutor 旨在为每个任务请求一个 pod

当 DAG 提交任务时,KubernetesExecutor 会从 Kubernetes API 请求一个工作 pod。然后,worker pod 运行任务、报告结果并终止。

也许将多个较小的任务合并为一个是一种方法。

于 2021-04-08T12:48:58.507 回答