Kubeflow Pipelines SDK for Tekton
Old Version
This page is about Kubeflow Pipelines V1, please see the V2 documentation for the latest information.
Note, while the V2 backend is able to run pipelines submitted by the V1 SDK, we strongly recommend migrating to the V2 SDK.
For reference, the final release of the V1 SDK was kfp==1.8.22, and its reference documentation is available here.
You can use the KFP-Tekton SDK to compile, upload and run your Kubeflow Pipeline DSL Python scripts on a Kubeflow Pipelines with Tekton backend.
SDK packages
The kfp-tekton SDK is an extension to the Kubeflow Pipelines SDK
adding the TektonCompiler and the TektonClient:
kfp_tekton.compilerincludes classes and methods for compiling pipeline Python DSL into a Tekton PipelineRun YAML spec. The methods in this package include, but are not limited to, the following:kfp_tekton.compiler.TektonCompiler.compilecompiles your Python DSL code into a single static configuration (in YAML format) that the Kubeflow Pipelines service can process. The Kubeflow Pipelines service converts the static configuration into a set of Kubernetes resources for execution.
kfp_tekton.TektonClientcontains the Python client libraries for the Kubeflow Pipelines API. Methods in this package include, but are not limited to, the following:kfp_tekton.TektonClient.upload_pipelineuploads a local file to create a new pipeline in Kubeflow Pipelines.kfp_tekton.TektonClient.create_experimentcreates a pipeline experiment and returns an experiment object.kfp_tekton.TektonClient.run_pipelineruns a pipeline and returns a run object.kfp_tekton.TektonClient.create_run_from_pipeline_funccompiles a pipeline function and submits it for execution on Kubeflow Pipelines.kfp_tekton.TektonClient.create_run_from_pipeline_packageruns a local pipeline package on Kubeflow Pipelines.
Installing the KFP-Tekton SDK
You need Python 3.5 or later to use the Kubeflow Pipelines SDK for Tekton.
We recommend to create a Python virtual environment first using
Miniconda or a virtual environment
manager such as virtualenv or the Python 3 venv module:
python3 -m venv .venv-kfp-tekton
source .venv-kfp-tekton/bin/activate
You can install the latest release of the kfp-tekton compiler from
PyPi:
pip3 install kfp-tekton --upgrade
Compiling Kubeflow Pipelines DSL scripts
The kfp-tekton Python package comes with the dsl-compile-tekton command line
executable, which should be available in your terminal shell environment after
installing the kfp-tekton Python package.
If you cloned the kfp-tekton project, you can find example pipelines in the
samples folder or in the sdk/python/tests/compiler/testdata folder.
dsl-compile-tekton \
--py sdk/python/tests/compiler/testdata/parallel_join.py \
--output pipeline.yaml
Note: If the KFP DSL script contains a __main__ method calling the
kfp_tekton.compiler.TektonCompiler.compile() function:
if __name__ == "__main__":
from kfp_tekton.compiler import TektonCompiler
TektonCompiler().compile(pipeline_func, "pipeline.yaml")
The pipeline can then be compiled by running the DSL script with python3
directly from the command line, producing a Tekton YAML file pipeline.yaml
in the same directory:
python3 pipeline.py
Additional documentation
- Installing Kubeflow Pipelines with Tekton Backend
- KFP-Tekton Compiler Features
- Kubeflow Pipelines for Tekton on GitHub
Feedback
Was this page helpful?
Thank you for your feedback!
We're sorry this page wasn't helpful. If you have a moment, please share your feedback so we can improve.