为什么选择 Argo Workflows?
Argo Workflows 是一个 Kubernetes 原生工作流引擎,帮助企业实现自动化、缩短交付周期,并显著提高生产效率。以下是选择 Argo Workflows 的几个理由:
- Kubernetes 原生: 完全构建于 Kubernetes 之上,支持公有云和私有云的无缝集成。
- 扩展性强: 支持大规模并行工作流处理,可自动扩展以满足高负载需求。
- 可视化界面: 提供直观的 Web UI,方便监控和管理工作流。
- 易于集成: 能轻松与 CI/CD 工具、数据处理管道和其他 DevOps 工具集成。
- 开源社区支持: 拥有活跃的开源社区,定期更新和丰富功能。
关键功能
- 支持 DAG 和步骤模式: 灵活定义工作流。
- 重试策略: 为失败任务设置重试,确保可靠性。
- 日志收集和存储: 集成日志管理,方便问题排查。
- 事件驱动: 支持事件驱动的工作流启动模式。
适用场景
- 数据处理和 ETL: 自动化数据提取、转换和加载流程。
- 机器学习模型训练: 自动化训练、评估和部署模型。
- CI/CD 管道: 高效管理软件交付生命周期。
- 批处理任务: 管理和调度大规模批处理任务。
计费说明
计算巢 ArgoWorkflows 部署为社区开源版本:Github Repo
- 如果已有阿里云 ACK 集群,用户无需付费。
- 新建阿里云 ACK 集群,则需支付 ACK 资源的费用。
部署流程
您可以在阿里云计算巢搜索,或通过以下链接快速部署:部署链接
部署参数说明
已有 ACK 集群:
验证结果
查看服务实例,创建成功后,部署时间约为10分钟。
点击详情查看实例详情,配置 host 内容到域名 A 记录或本机的 host 配置,访问域名即可链接服务。
高级选项
ACK 场景下使用 ECI+Spot 弹性运行 Worker 节省成本
选择对应的 ACK 集群,运维管理 -> 组件管理 -> 安装 ACK Virtual Node 开启 ECI 弹性能力。
提交 YAML:
metadata:
name: omniscient-octopus
namespace: default
labels:
example: "true"
spec:
arguments:
parameters:
- name: message
value: hello argo
entrypoint: argosay
podMetadata:
annotations:
k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo
labels:
alibabacloud.com/eci: "true"
templates:
- name: argosay
inputs:
parameters:
- name: message
value: "{
{workflow.parameters.message}}"
container:
name: main
image: argoproj/argosay:v2
command:
- /argosay
args:
- echo
- "{
{inputs.parameters.message}}"
ttlStrategy:
secondsAfterCompletion: 300
podGC:
strategy: OnPodCompletion
可以看到virtual-kubelet启动的就是eci的pod了
helm包路径
https://github.com/aliyun-computenest/argo-workflows/blob/main/targets/argo-workflows-0.45.1.tgz
修改配置
计算巢支持修改helm配置 进入服务实例->修改配置,输入helm values的配置
具体helm values的配置请参考地址Github Repo