适用于 Tekton 的 Kubeflow Pipelines SDK

如何使用 Tekton 运行 Kubeflow Pipelines

您可以使用 KFP-Tekton SDK带有 Tekton 后端的 Kubeflow Pipelines 上编译、上传和运行您的 Kubeflow Pipeline DSL Python 脚本。

SDK 包

kfp-tekton SDK 是 Kubeflow Pipelines SDK 的扩展,增加了 TektonCompilerTektonClient

  • kfp_tekton.compiler 包含用于将流水线 Python DSL 编译为 Tekton PipelineRun YAML 规范的类和方法。此包中的方法包括但不限于以下内容:

    • kfp_tekton.compiler.TektonCompiler.compile 将您的 Python DSL 代码编译成单个静态配置(YAML 格式),Kubeflow Pipelines 服务可以处理该配置。Kubeflow Pipelines 服务将静态配置转换为一组 Kubernetes 资源进行执行。
  • kfp_tekton.TektonClient 包含用于 Kubeflow Pipelines API 的 Python 客户端库。此包中的方法包括但不限于以下内容:

    • kfp_tekton.TektonClient.upload_pipeline 上传本地文件以在 Kubeflow Pipelines 中创建新的流水线。
    • kfp_tekton.TektonClient.create_experiment 创建一个流水线实验并返回一个实验对象。
    • kfp_tekton.TektonClient.run_pipeline 运行流水线并返回一个运行对象。
    • kfp_tekton.TektonClient.create_run_from_pipeline_func 编译流水线函数并将其提交到 Kubeflow Pipelines 执行。
    • kfp_tekton.TektonClient.create_run_from_pipeline_package 在 Kubeflow Pipelines 上运行本地流水线包。

安装 KFP-Tekton SDK

您需要 Python 3.5 或更高版本才能使用适用于 Tekton 的 Kubeflow Pipelines SDK。我们建议首先使用 Miniconda 或虚拟环境管理器(例如 virtualenv 或 Python 3 的 venv 模块)创建一个 Python 虚拟环境。

python3 -m venv .venv-kfp-tekton
source .venv-kfp-tekton/bin/activate

您可以从 PyPi 安装 kfp-tekton 编译器的最新版本。

pip3 install kfp-tekton --upgrade

编译 Kubeflow Pipelines DSL 脚本

安装 kfp-tekton Python 包后,kfp-tekton Python 包会附带 dsl-compile-tekton 命令行可执行文件,该文件应在您的终端 shell 环境中可用。

如果您克隆了 kfp-tekton 项目,可以在 samples 文件夹或 sdk/python/tests/compiler/testdata 文件夹中找到示例流水线。

dsl-compile-tekton \
    --py sdk/python/tests/compiler/testdata/parallel_join.py \
    --output pipeline.yaml

注意:如果 KFP DSL 脚本包含调用 kfp_tekton.compiler.TektonCompiler.compile() 函数的 __main__ 方法

if __name__ == "__main__":
    from kfp_tekton.compiler import TektonCompiler
    TektonCompiler().compile(pipeline_func, "pipeline.yaml")

然后可以直接从命令行使用 python3 运行 DSL 脚本来编译流水线,并在同一目录中生成 Tekton YAML 文件 pipeline.yaml

python3 pipeline.py

附加文档

反馈

本页是否有帮助?


上次修改时间:2025 年 3 月 29 日:website: Add dark theme (#3981) (4f092f1)