The Docker container runtime has been deprecated on Kubernetes 1.20+. Kubeflow Pipelines has switched to use Emissary Executor by default from Kubeflow Pipelines 1.8. Emissary executor is Container runtime agnostic, meaning you are able to run Kubeflow Pipelines on Kubernetes cluster with any Container runtimes.
Refer to the versioning policy and feature stages documentation for more information about how we manage versions and feature stages (such as Alpha, Beta, and Stable).
Contributing to Kubeflow Pipelines
Before you start contributing to Kubeflow Pipelines, read the guidelines in How to Contribute. To learn how to build and deploy Kubeflow Pipelines from source code, read the developer guide.
Kubeflow pipelines uses Argo Workflows by default under the hood to orchestrate Kubernetes resources. The Argo community has been very supportive and we are very grateful. Additionally there is Tekton backend available as well. To access it, please refer to Kubeflow Pipelines with Tekton repository.
Kubeflow Pipeline 介绍
Kubeflow 是一个专注于简化 Kubernetes 上机器学习(ML)工作流部署的多功能工具集,它通过提供强大的工具来实现工作流的便携性和可扩展性。
Kubeflow 管道利用 Kubeflow 管道 SDK,允许用户构建和执行一系列端到端的机器学习工作流程,从而提高开发效率。
Kubeflow 管道服务旨在实现以下核心目标:
通过这些目标,Kubeflow 管道服务不仅提升了机器学习项目的生产力,而且通过模块化和标准化的方法,推动了机器学习操作的最佳实践。
项目概况
在当前的项目中,我们在现有的 Kubeflow Pipeline 平台之上进行深入的二次开发,扩展其功能并满足特定的业务需求。我们的主要开发目标集中在三个关键领域:数据库操作的集成、模块化入口的封装,以及模块服务的具体实现。
首先,我们设计并实现了一个应用管理模块,这是整个系统的核心组成部分。在这个模块中,我们定义了一套完整的数据结构,这些结构不仅符合应用管理的业务逻辑,而且能够高效地支持数据的存取和处理,采用了关系型数据库来存储结构化数据,并通过精心设计的表结构来优化数据的存储效率和查询性能。
在数据库设计方面,我们考虑到了数据的完整性、一致性和可扩展性,为应用管理模块创建了必要的表,并建立了适当的索引以加速查询操作。同时,也实现了数据的备份和恢复机制,确保在系统出现故障时数据的安全性和可靠性。
接下来,我们对模块的入口进行了封装。封装的目的是为了提供一个清晰、简洁的接口,使得其他开发者可以方便地集成和使用我们的模块。我们定义了一系列的 API 接口,这些接口封装了模块的核心功能,并提供了统一的参数验证和错误处理机制,简化了模块的使用流程,并提高了代码的可维护性。
最后,本项目实现了模块服务,我们采用了微服务架构来设计模块服务,每个服务都负责处理特定的业务逻辑,并通过定义良好的接口与其他服务进行交互。这种设计不仅提高了系统的可扩展性,而且也使得各个服务可以独立地进行开发、部署和扩展。
在开发过程中,我们遵循了 MLOps 和 DevOps 的最佳实践,包括持续集成和持续部署(CI/CD),以确保智能软件的快速迭代和高质量,此外还引入了自动化测试,以验证新功能的实现是否符合预期,并确保系统的稳定性和可靠性,不仅增强了 Kubeflow Pipeline 的功能,而且也为用户提供了一个更加强大、灵活和易于使用的应用管理平台。
说明
本项目安装方式与原 Kubeflow pipelines 相同,具体见 Installation 部分
Overview of the Kubeflow pipelines service
Kubeflow is a machine learning (ML) toolkit that is dedicated to making deployments of ML workflows on Kubernetes simple, portable, and scalable.
Kubeflow pipelines are reusable end-to-end ML workflows built using the Kubeflow Pipelines SDK.
The Kubeflow pipelines service has the following goals:
Installation
Install Kubeflow Pipelines from choices described in Installation Options for Kubeflow Pipelines.
The Docker container runtime has been deprecated on Kubernetes 1.20+. Kubeflow Pipelines has switched to use Emissary Executor by default from Kubeflow Pipelines 1.8. Emissary executor is Container runtime agnostic, meaning you are able to run Kubeflow Pipelines on Kubernetes cluster with any Container runtimes.
Documentation
Get started with your first pipeline and read further information in the Kubeflow Pipelines overview.
See the various ways you can use the Kubeflow Pipelines SDK.
See the Kubeflow Pipelines API doc for API specification.
Consult the Python SDK reference docs when writing pipelines using the Python SDK.
Refer to the versioning policy and feature stages documentation for more information about how we manage versions and feature stages (such as Alpha, Beta, and Stable).
Contributing to Kubeflow Pipelines
Before you start contributing to Kubeflow Pipelines, read the guidelines in How to Contribute. To learn how to build and deploy Kubeflow Pipelines from source code, read the developer guide.
Kubeflow Pipelines Community Meeting
The meeting is happening every other Wed 10-11AM (PST) Calendar Invite or Join Meeting Directly
Meeting notes
Kubeflow Pipelines Slack Channel
#kubeflow-pipelines
Blog posts
Acknowledgments
Kubeflow pipelines uses Argo Workflows by default under the hood to orchestrate Kubernetes resources. The Argo community has been very supportive and we are very grateful. Additionally there is Tekton backend available as well. To access it, please refer to Kubeflow Pipelines with Tekton repository.