将 Kubeflow(训练 / 评估 / 注册)与 Argo CD(GitOps 交付 / 回滚)配对的实用指南。完整架构、manifest 与反模式,请阅读 长文章.
一段话版。 Kubeflow 掌管 Kubernetes 上的 ML 生命周期——流水线、训练作业、model registry 与 KServe。Argo CD 掌管交付:每一个
InferenceService、流水线定义与平台组件均从 Git 调和。在 Kubeflow 中训练与评估;通过更新 Git manifest 晋级;回滚用 git revert。把模型放在对象存储——Git 存 URI 与配置,不存权重。
为何两者都要?
Kubeflow 回答:我们如何在 GPU 上做可复现的训练与评估? Argo CD 回答:我们如何把得到的模型交付到生产,而不造雪花集群?只用 Kubeflow 往往止于手工 kubectl apply 用于服务。仅用 Argo CD 会缺少一流的 ML 流水线与实验系统。两者合起来形成闭环 MLOps。
分工
| 关注点 | 工具 | Git 中存什么 |
|---|---|---|
| 流水线 DAG、TrainJobs、实验 | Kubeflow Pipelines / Trainer | 流水线 YAML / 组件规格 |
| 模型产物与血缘 | Model Registry + object storage | URI + 元数据——不是权重文件 |
| 服务、金丝雀、回滚 | KServe + Argo CD | InferenceService overlays |
| 平台安装与升级 | Argo CD Applications | Kubeflow 本身用 Helm/Kustomize |
端到端闭环(好的样子是什么样)
- 数据科学家合并流水线变更 → Argo CD 同步流水线 CRD。
- Kubeflow 在 GPU 节点上运行训练(可选经 Kueue 排队)。
- 评估门禁通过 → 注册模型 URI;PR 更新生产
InferenceServicestorageUri. - Argo CD 检测到 OutOfSync 并上线(先金丝雀流量)。
- 漂移或指标变差 →
git revert恢复先前 URI;Argo CD 进行调和。
帮你少踩坑的五项实践
- 分离仓库或文件夹: 平台(Kubeflow 安装)vs 应用(pipelines + InferenceServices)。
- 切勿提交模型二进制文件 — 参考
s3:///gs:/// PVC URIs。 - Sync waves: 在 KFP 组件之前准备好 MySQL/MinIO(或托管等价物)。
- 每一步的资源限制 — 无限制的训练作业会饿死集群。
- 晋级 = PR, 不是笔记本里的一个按钮。审计轨迹免费附带。
何时这套栈过重
一台运行 Ollama 的 Mac Studio 服务中小企业聊天机器人,并不需要 Kubeflow + Argo CD。当你有多个模型、GPU 争用、合规需求,或必须保持一致的多个环境(dev/staging/prod)时,再采用这一模式。
相关阅读。 我们已发布聚焦 Argo CD 与 Flux 的 GitOps 概览: Kubernetes Continuous Delivery:用 ArgoCD 与 Flux 的 GitOps 流水线。本文是面向 ML 的配套文——把 Kubeflow 纳入闭环。
阅读长文版本
该 长文章 涵盖 2026 Kubernetes MLOps 地图(KFP v2、Trainer、KServe、Kueue)、Argo CD Application 模式、晋级门禁、金丝雀服务、GPU FinOps 与上线清单。发布方为 Workstation.