功能介绍
分布式容器云平台工作流是基于开源Argo Workflow构建的一款开箱即用的无服务器工作流引擎。它将开源 Argo Workflows 的强大编排能力与分布式容器云平台的调度相融合。无论是在数据处理、机器学习 Pipeline 还是 CI/CD 场景下,该集群都能提供高可用、低成本的自动化编排体验。
适用场景
Argo Workflows 是 CNCF 毕业项目(Argo 家族成员)中最核心的工作流引擎之一。它是一个Kubernetes 原生(Kubernetes-native) 的容器化工作流编排工具,使用 YAML 定义 的 Workflow CRD(自定义资源)来描述多步骤任务。
| 场景分类 | 典型例子 | 为什么适合 Argo Workflows |
|---|---|---|
| CI/CD 流水线 | 构建 → 测试 → 镜像扫描 → 部署 → 通知 | 比 Jenkins/Tekton 更轻、更灵活;天然支持 GitOps + Argo CD 联动;每个步骤容器化隔离好 |
| 机器学习 / MLOps | 数据预处理 → 特征工程 → 模型训练 → 评估 → 部署 | 支持 GPU/TPU 调度;DAG 完美表达训练依赖;artifact 轻松传递大模型文件/数据集 |
| 批处理 / ETL / 数据管道 | 日志聚合 → 数据清洗 → 聚合计算 → 入仓 | 处理海量数据时并行能力强;支持 artifact 从 S3/GCS/本地卷传递;易与 Spark/Flink 集成 |
| 基础设施自动化 | 集群升级 → 配置迁移 → 备份恢复 → 资源回收 | 复杂多步骤依赖 + 重试机制;可通过 CronWorkflow 定时执行;挂起等待人工审批 |
| 大规模并行任务 | 图像/视频批量处理、科学计算、A/B 测试 | 轻松扩展到数千 Pod 并行;Kubernetes 调度器天然支持资源分配 |
| 事件驱动任务 | Webhook 触发 → 数据验证 → 处理 → 回调 | 与 Argo Events 结合,实现 GitHub push / S3 事件触发工作流 |
管理工作流实例
启用工作流
登录分布式容器云平台控制台。
在左侧导航栏选择 平台服务 > 工作流。
在工作流页面,点击启用工作流按钮,选择需要启用的集群实例。
注意
为提供控制台访问入口,启用工作流时我们将自动委托创建一个弹性负载均衡(ELB)实例。该ELB资源由弹性负载均衡直接向您计费。
停用工作流
登录分布式容器云平台控制台。
在左侧导航栏选择 平台服务 > 工作流。
进入工作流列表页面,找到需要停用的工作流实例,点击其右侧的 停用 按钮。
注意
停用后,该工作流将立即暂停所有后续调度和执行。任何未保存的临时数据、输出文件或中间状态可能会丢失,请确保您已备份或导出所有关键数据。
开通Argo Server公网访问
在工作流集群中需要使用Argo Workflow UI提交或访问任务时,您可以开通Argo Server公网访问,从而能更便捷地访问Argo控制台。本文介绍如何在工作流实例开通Argo Server公网访问。
登录分布式容器云平台控制台。
在左侧导航栏选择 平台服务 > 工作流。
在工作流页面列表,选择需要绑定EIP的实例,进入工作流管理控制台页面。
单击 绑定 EIP,在弹窗中选择目标 EIP 并确认。待实例状态更新为“绑定成功”后,单击 点击跳转 按钮,弹框选择公网地址,即可通过分配的公网地址访问 Argo Server。
开启日志功能
绑定EIP后可获得公网访问Argo Workflow控制台的能力。
登录分布式容器云平台控制台。
在左侧导航栏选择 平台服务 > 工作流。
在工作流页面列表,选择需要绑定EIP的实例,进入工作流管理控制台页面。
在工作流管理控制台页面左侧导航栏选择 运维管理 > 日志。
安装日志插件后,点击启用按钮,启用日志功能。
管理工作流
创建工作流
本章节将会kubectl创建工作流。
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world- # 或 name: hello-world
spec:
serviceAccountName: my-custom-sa # ← 这里指定 ServiceAccount 名称
entrypoint: whalesay
templates:
- name: whalesay
container:
image: docker/whalesay
command: [cowsay]
args: ["hello world"]
resources:
requests:
cpu: 0.5
memory: 1Gi
limits:
cpu: 0.5
memory: 1Gi使用kubectl 创建 Workflow。
kubectl create -f wf.yaml可观测性
分布式容器云平台默认集成Prometheus服务,提供完善的可观测能力,您可以在工作流监控页面查看工作流运行状况和集群的健康状况。