Argo Workflows 部署编排器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/argo-workflows-deployer
技能介绍
要解决的问题
在 Kubernetes 上交付机器学习训练、数据处理这类计算密集型作业时,常见的痛点是:作业怎么编排、依赖怎么串联、发布怎么避免全量风险、节点资源怎么调度到位。这些问题分别落在三个不同的工具面上,手工拼装既容易出错,也难以维护。
技能如何工作
这个技能把三件事串成一条可编排的部署流水线:
- 编排层:通过 Argo Workflows Engine API 定义和驱动工作流,把多个步骤组织成有向图,而不只是平铺的脚本。
- 发布层:借助 Argo CD ApplicationSet 控制器管理应用集合,并用 Argo Rollouts 的金丝雀与蓝绿策略做渐进式交付,让变更按比例、可回滚地推进。
- 客户端层:为不同语言的工程师提供入口,包括 Java、Golang、TypeScript(Juno)客户端,以及通过
HeraPython SDK 支持 Python 用户。
调度方面,支持亲和性 / 容忍度 / 节点选择器的显式配置。这意味着你可以把 GPU 节点、专属池或污点节点纳入调度范围,避免作业卡在无法落位的 Pod 上。
另一个特点是云无关:只要有 Kubernetes 集群就能运行,不绑定特定云厂商的托管能力。
适用边界与注意点
- 它解决的是编排与发布策略,不替代镜像构建、CI 触发器或注册表管理。
- Argo Rollouts 的金丝雀 / 蓝绿需要集群侧的相应控制器与资源就位,集群里没装的部分不会凭空出现。
- 调度规则(亲和性、容忍度、节点选择器)要和节点实际标签、污点保持一致;标签写错时,Pod 会一直 pending,而不是报错退出。
- 资料中提到的 Java、Golang、Juno、Hera 客户端分别对应不同语言栈,接入前需要确认你所用的客户端版本与 Argo 服务端版本兼容。
使用场景
- 机器学习工程师需要在 Kubernetes 上编排多个训练与数据处理步骤,串联成可复用的工作流
- 发布负责人要把新服务用金丝雀策略逐步放量,先切少量流量验证再全量
- SRE 需要给计算任务配置节点亲和性与容忍度,让作业落到 GPU 节点或专属池
- 平台团队用 ApplicationSet 统一管理多套环境的 Argo CD 应用集合
适合人员
- 平台工程师,需要在 Kubernetes 上编排部署流水线与应用集合
- 机器学习工程师,要在集群里跑计算密集型训练与数据处理作业
- DevOps 工程师,负责用金丝雀或蓝绿策略做渐进式发布
- SRE,需要配置亲和性、容忍度等调度规则保障作业落位