argoproj/argo-workflows
Workflow Engine for Kubernetes
解决的问题
Argo Workflows 解决了在 Kubernetes 上编排复杂并行作业的挑战。通过提供一种容器原生的方式来管理多步骤的计算密集型任务(例如机器学习和数据处理所需的任务),它消除了传统虚拟机和基于服务器的环境带来的开销。
工作原理
Argo Workflows 作为 Kubernetes 自定义资源定义 (CRD) 实现,允许用户定义每个步骤均为容器的工作流。这些工作流可以建模为简单的任务序列,或者建模为有向无环图 (DAG) 以捕获步骤之间的复杂依赖关系。它提供具有 REST API (HTTP 和 GRPC) 的服务器接口,并支持 Java、Golang、Python (通过 Hera) 和 Typescript (通过 Juno) 的各种客户端库。
适用对象
专为需要在任何 Kubernetes 集群上运行可扩展、云无关的批处理、机器学习流水线或 CI/CD 自动化任务的开发人员和平台工程师设计。
亮点
- 容器原生编排:工作流中的每个步骤都是一个容器,专为 Kubernetes 设计。
- 灵活的工作流建模:支持 DAG 和顺序步骤。
- 丰富的功能集:包括用于可视化的 UI、制品支持 (S3, GCS, Azure 等)、计划的 cron 工作流以及循环/条件逻辑。
- 强大的执行控制:具有步骤级超时、重试、重新提交以及暂停和恢复工作流的能力。
- 广泛的生态系统:被 Kubeflow Pipelines 和 Metaflow 等主要项目用于 AI/ML 编排。
相关
- 项目
- 项目
- 项目
- 项目
- 项目