gpt4 book ai didi

kubernetes - Apache Airflow 或 Argoproj 用于在 kubernetes 上长时间运行和 DAG 任务

转载 作者:行者123 更新时间:2023-12-03 09:42:17 40 4
gpt4 key购买 nike

我们在 k8s 中有很多长时间运行的、内存/cpu 密集型作业,这些作业在谷歌云平台上的 kubernetes 上使用 celery 运行。然而,我们在扩展/重试/监控/警报/交付保证方面存在很大问题。我们想从 celery 转移到一些更高级的框架。

有对比:https://github.com/argoproj/argo/issues/849但这还不够。

空 Airflow 动:

  • 在社区有更好的支持 ~400 vs ~12 个标签,13k 星 vs
    ~3.5k 星
  • python 定义流的方式比仅使用 yaml 感觉更好
  • GCP 作为产品的支持:Cloud Composer
  • 更好的仪表板
  • 一些不错的运营商,如电子邮件运营商

  • 阿尔戈项目:
  • Kubernetes 的 native 支持(我认为它在某种程度上更好)
  • 支持 future 可能有用的 CI/CD/事件
  • (可能)更好地支持将结果从一项工作传递到另一项工作(在 Airflow xcom 机制中)

  • 我们的 DAG 并没有那么复杂。我们应该选择哪些框架?

    最佳答案

    Idiomatic Airflow 并不是真正设计为单独执行长时间运行的作业。相反,Airflow 旨在充当启动另一个服务中的计算作业(这由 Operator 完成)的促进者,同时监视给定计算作业的状态(这由 Sensor 完成)。

    给定您的示例,Airflow 中所需的任何计算任务都将使用所使用的给定服务的适当 Operator 启动(Airflow 具有 GCP Hook 以简化此操作),并且适当的 Sensor 将确定任务何时完成并且不再阻塞下游任务依赖在那个操作上。

    虽然对 Argoproj 的细节不是很熟悉,但它似乎不像 Airflow 那样是一个“调度系统”,而更像是一个用于编排和实际执行大部分计算的系统。

    关于kubernetes - Apache Airflow 或 Argoproj 用于在 kubernetes 上长时间运行和 DAG 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57037302/

    40 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com