Kubeflow Pipelines on Tekton
Project bringing Kubeflow Pipelines and Tekton together. The project is driven according to this design doc. The current code allows you run Kubeflow Pipelines with Tekton backend end to end.
- Create your Pipeline using Kubeflow Pipelines DSL, and compile it to Tekton YAML.
- Upload the compiled Tekton YAML to KFP engine (API and UI), and run end to end with logging and artifacts tracking enabled.
For more details about the project please follow this detailed blog post. For latest information and supported offerings, please follow the Kubeflow Pipelines on Tekton 1.0 release blog. Additionally, look at these slides as well as this deep dive presentation for demos.
Note: If you are interested in a sister project built on top of Kubeflow Pipelines with Tekton, please try Machine Learning eXchange (MLX), Data and AI Assets Catalog and Execution Engine. It introduces a 'Component Registry' for Kubeflow Pipelines, amongst other things.
Architecture
We are currently using Kubeflow Pipelines 1.8.4 and Tekton >= 0.47.1 for this project.
Kubeflow Pipelines is a platform for building and deploying portable, scalable machine learning (ML) workflows. More architectural details about the Kubeflow Pipelines can be found on the Kubeflow website.
The Tekton Pipelines project provides Kubernetes-style resources for declaring CI/CD-style pipelines. Tekton introduces several Custom Resource Definitions(CRDs) including Task, Pipeline, TaskRun, and PipelineRun. A PipelineRun represents a single running instance of a Pipeline and is responsible for creating a Pod for each of its Tasks and as many containers within each Pod as it has Steps. Please look for more details in the Tekton repo.
Get Started using Kubeflow Pipelines on Tekton
Install Kubeflow Pipelines with Tekton backend
KFP Tekton Pipelines User Guide
Development Guides
Compilation Tests Status Report
Design Guides
KFP, Argo and Tekton Features Comparison