我们决定在Kubernetes上运行Airflow。我们希望使用Kubernetes的力量,但要以平衡的方式。我们在DAG中有一些非常小的任务,例如创建一个目录。KubernetesExecutor为每个任务旋转一个pod,这需要很长的时间,因此对于许多短任务来说是过度杀伤力。
我的问题是,是否可以将Airflow配置为为整个DAG旋转一个Kubernetes pod,而不是每个任务一个pod?(最好不要芹菜)
发布于 2021-04-08 20:48:59
我不认为每个DAG使用一个pod是可能的,因为KubernetesExecutor is designed to request a pod per task
当DAG提交任务时,KubernetesExecutor会向Kubernetes API请求一个worker pod。然后,worker pod运行任务,报告结果,然后终止。
也许将多个较小的任务合并为一个任务是一种可行的方法。
发布于 2021-05-04 15:12:06
https://airflow.apache.org/docs/apache-airflow/stable/executor/celery_kubernetes.html
CeleryKubernetes执行器允许您使用芹菜工人的即时资源,或者为任务启动一个pod。我还没有配置这个设置,但它似乎符合您的用例。
https://stackoverflow.com/questions/67003790
复制相似问题