Data Science Pipelines operator
Data Science Pipelines operator(DSPO)是一个 Kubernetes 原生 operator,用于在 Alauda AI 上部署和管理 Kubeflow Pipelines(KFP)v2 栈。它基于开源的 OpenDataHub Data Science Pipelines Operator,使每个数据科学项目都能运行其各自独立的 pipeline 运行时,并通过单个 DataSciencePipelinesApplication(DSPA)Custom Resource 进行声明——无需争用共享的、集群级别的 pipeline 服务。
它部署的内容
当你在某个 namespace 中创建 DataSciencePipelinesApplication 时,operator 会在该 namespace 中协调出一个自包含的 KFP v2 栈:
- APIServer — Kubeflow Pipelines API server(用于编译、上传、运行和跟踪 pipelines;也是
kfpPython SDK 的目标端)。 - Persistence Agent — 将 workflow engine 中的运行状态同步回 API server / database。
- Scheduled Workflow controller — 驱动周期性运行。
- Argo Workflow controller — 将 pipeline DAG 作为 Argo
Workflows执行。 - ML Metadata(MLMD) — 存储 pipeline/run/artifact 的 lineage,并由 Envoy gRPC proxy 作为前端。
- Database + object storage — 可以是 operator 部署的托管 MariaDB 和 MinIO,也可以是你自己的外部 MySQL 和 S3-compatible 存储。
关键概念
与共享 Kubeflow Pipelines 安装的互斥关系
DSPO 与 Kubeflow plugin(kfp-operator)创建的共享、全局作用域 Kubeflow Pipelines 安装是互斥的。若集群中存在该共享安装,operator 将拒绝协调 DSPA(KUBEFLOW_PIPELINES_GLOBAL_CHECK=enforce)。每个集群请选择一种模型:
- DSPO — 按 namespace 隔离、面向项目的 pipeline 栈(本 operator)。
- Kubeflow plugin
kfp-operator— 为整个集群提供单个共享的 Kubeflow Pipelines 实例。
何时使用
当你希望每个项目或团队都拥有独立的 Kubeflow Pipelines v2 运行时——并且具备各自的 database、object storage 和访问边界——而不是共享一个集群级别的 pipelines 服务时,请使用 Data Science Pipelines operator。