Implementation:SeldonIO Seldon core Seldon Pipeline CRD
| Field | Value |
|---|---|
| Implementation Name | Seldon Pipeline CRD |
| Type | Pattern Doc |
| Overview | Concrete pattern for declaring Seldon Core 2 Pipeline resources as Kubernetes YAML manifests. |
| Related Principle | SeldonIO_Seldon_core_Pipeline_Topology_Definition |
| Source | samples/pipelines/tfsimples.yaml:L1-16 |
| Domains | MLOps, Data_Flow |
| External Dependencies | Kubernetes API (mlops.seldon.io/v1alpha1), Kafka |
| Knowledge Sources | Repo (https://github.com/SeldonIO/seldon-core), Doc (https://docs.seldon.io/projects/seldon-core/en/v2/) |
| Last Updated | 2026-02-13 00:00 GMT |
Description
This implementation provides the concrete YAML pattern for defining Seldon Core 2 Pipeline custom resources. A Pipeline CRD declares a directed acyclic graph of model steps with explicit data flow edges and optional tensor name remapping. The Kubernetes API server validates the CRD schema, and the Seldon scheduler reconciles the desired state.
Code Reference
Pipeline CRD YAML (tfsimples)
apiVersion: mlops.seldon.io/v1alpha1
kind: Pipeline
metadata:
name: tfsimples
spec:
steps:
- name: tfsimple1
- name: tfsimple2
inputs:
- tfsimple1
tensorMap:
tfsimple1.outputs.OUTPUT0: INPUT0
tfsimple1.outputs.OUTPUT1: INPUT1
output:
steps:
- tfsimple2
Source: samples/pipelines/tfsimples.yaml:L1-16
Fan-in Pipeline YAML (join)
apiVersion: mlops.seldon.io/v1alpha1
kind: Pipeline
metadata:
name: join
spec:
steps:
- name: tfsimple1
- name: tfsimple2
- name: tfsimple3
inputs:
- tfsimple1.outputs.OUTPUT0
- tfsimple2.outputs.OUTPUT1
tensorMap:
tfsimple1.outputs.OUTPUT0: INPUT0
tfsimple2.outputs.OUTPUT1: INPUT1
output:
steps:
- tfsimple3
Source: samples/pipelines/tfsimples-join.yaml:L1-18
Key Parameters
| Parameter | Description | Example |
|---|---|---|
spec.steps[].name |
Name of a deployed model to use as a pipeline step | tfsimple1
|
spec.steps[].inputs |
List of upstream step references providing input data | [tfsimple1]
|
spec.steps[].tensorMap |
Tensor name remapping from upstream outputs to this step's inputs | tfsimple1.outputs.OUTPUT0: INPUT0
|
spec.output.steps |
List of step names whose outputs form the pipeline response | [tfsimple2]
|
I/O Contract
Inputs
- Deployed model names: Each step references a model that must already be loaded and available via the Seldon scheduler.
- Desired DAG topology: The logical flow of data between models, expressed as step input references.
Outputs
- Pipeline CRD YAML manifest: A Kubernetes-native resource definition that can be applied via
seldon pipeline loadorkubectl apply.
Usage Examples
Simple Two-Step Chain
In this pattern, tfsimple1 receives the pipeline input, produces OUTPUT0 and OUTPUT1, and tfsimple2 receives those outputs remapped to INPUT0 and INPUT1:
spec:
steps:
- name: tfsimple1
- name: tfsimple2
inputs:
- tfsimple1
tensorMap:
tfsimple1.outputs.OUTPUT0: INPUT0
tfsimple1.outputs.OUTPUT1: INPUT1
output:
steps:
- tfsimple2
Fan-in from Two Parallel Steps
In this pattern, tfsimple1 and tfsimple2 both receive the pipeline input independently. tfsimple3 then joins their outputs:
spec:
steps:
- name: tfsimple1
- name: tfsimple2
- name: tfsimple3
inputs:
- tfsimple1.outputs.OUTPUT0
- tfsimple2.outputs.OUTPUT1
tensorMap:
tfsimple1.outputs.OUTPUT0: INPUT0
tfsimple2.outputs.OUTPUT1: INPUT1
output:
steps:
- tfsimple3
Loading the Pipeline
seldon pipeline load -f ./pipelines/tfsimples.yaml
Related Pages
- SeldonIO_Seldon_core_Pipeline_Topology_Definition - implements - Principle describing DAG-based inference pipeline topology.
- SeldonIO_Seldon_core_Seldon_Model_Load_For_Pipeline - prerequisite - Models must be loaded before the pipeline CRD can be applied.
- SeldonIO_Seldon_core_Seldon_Pipeline_Advanced_Routing - extends - Advanced conditional routing patterns layered on the base CRD structure.
- SeldonIO_Seldon_core_Seldon_Pipeline_Load - next step - CLI tool for submitting the pipeline CRD to the scheduler.
- Environment:SeldonIO_Seldon_core_Kubernetes_Cluster_Environment
- Environment:SeldonIO_Seldon_core_Go_Build_Toolchain_Environment
- Environment:SeldonIO_Seldon_core_Kafka_Messaging_Environment