面向 Kubernetes 的事件驱动工作流自动化框架,可由 Webhook、定时任务、消息队列等事件触发动作。
- Star
- 17,082
- Fork
- 3,727
- 未关闭 Issue
- 1,372
- 最近提交
- 21小时前
这是什么?
Argo Workflows 用于在 Kubernetes 上运行多步骤任务,每个步骤都是一个容器。工作流既可以声明为有先后顺序的任务序列,也可以定义为有向无环图(DAG)来描述任务之间的依赖关系。它以 Kubernetes CRD 的形式实现,因此可以使用常规的集群工具进行管理。
它主要面向机器学习流水线、数据处理、基础设施自动化和 CI/CD 等计算密集型批处理场景。步骤之间可以传递参数和制品,并支持条件判断、循环、重试、超时以及基于 cron 的定时调度。项目提供 Web UI 用于可视化和管理工作流,同时支持 REST 与 gRPC 接口,并提供 Java、Go、Python(Hera)和 TypeScript(Juno)SDK。
该项目是 CNCF 毕业项目,可运行在任意 Kubernetes 集群上。制品可存储在 S3、GCS、Azure Blob Storage、Git、HTTP 等多种后端。
核心功能
- 01以 DAG 或步骤序列定义工作流,每个步骤在容器中运行
- 02提供 Web UI 用于可视化和管理工作流
- 03支持将制品传递到 S3、GCS、Azure Blob、Git 等存储后端
- 04支持基于 cron 的定时工作流和 Webhook 触发
- 05提供 REST 和 gRPC 接口,以及 Java、Go、Python、TypeScript SDK
- 06支持步骤或工作流级别的重试、超时、条件、循环和暂停恢复
适用场景
- 在 Kubernetes 集群上运行机器学习训练和数据处理流水线
- 将 CI/CD 任务编排为容器化工作流
- 用带依赖关系的多步骤流程自动化基础设施任务
- 并行执行大批量计算任务
快速上手
- 1
打开 Argo Workflows 官方文档中的快速入门指南
- 2
学习文档中的演练示例
使用前须知
- 需要 Kubernetes 集群,因为它是以 Kubernetes CRD 形式实现的。
收录于专题
标签
#workflow#kubernetes#dag#batch-processing#pipelines#cloud-native#data-engineering#machine-learning#airflow#argo
常见问题
- argo-workflows 是什么?
- 面向 Kubernetes 的容器原生工作流引擎,用于编排并行任务。 Argo Workflows 用于在 Kubernetes 上运行多步骤任务,每个步骤都是一个容器。工作流既可以声明为有先后顺序的任务序列,也可以定义为有向无环图(DAG)来描述任务之间的依赖关系。它以 Kubernetes CRD 的形式实现,因此可以使用常规的集群工具进行管理。
- argo-workflows 可以免费使用吗?用的什么许可证?
- argo-workflows 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- argo-workflows 还在维护吗?
- 活跃维护中。argo-workflows 最近一次提交是在 2026年11月6日。
- argo-workflows 适合用来做什么?
- 在 Kubernetes 集群上运行机器学习训练和数据处理流水线 将 CI/CD 任务编排为容器化工作流 用带依赖关系的多步骤流程自动化基础设施任务 并行执行大批量计算任务
- argo-workflows 怎么安装和运行?
- 打开 Argo Workflows 官方文档中的快速入门指南 学习文档中的演练示例
- 在哪里获取 argo-workflows?
- 源代码和安装说明在 GitHub 上:https://github.com/argoproj/argo-workflows
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2714+6 本周849GoApache-2.0维护活跃更新于 7天前
Netflix 开源的通用工作流编排器,用于调度和运行数据与机器学习流水线。
3852+1 本周311JavaApache-2.0维护活跃更新于 22小时前
一个分布式、低代码的数据编排平台,用于构建、调度和监控复杂的数据管道工作流。
1.5万+7 本周5123JavaApache-2.0维护活跃更新于 昨天
用于定义、运行和监控数据资产(表、数据集、机器学习模型、报表)的 Python 编排平台。
1.6万+20 本周2399PythonApache-2.0更新于 22小时前
一个轻量级 Python 库,用普通函数定义可测试、可自文档化的数据转换 DAG,可在任何 Python 环境中运行。
2624+2 本周230Jupyter NotebookApache-2.0更新于 昨天
一款声明式 GitOps 持续交付工具,可将 Kubernetes 应用同步为 Git 仓库中定义的状态。
2.5万+54 本周8099GoApache-2.0维护活跃更新于 19小时前