Introduction

An introduction to Kubeflow

What is Kubeflow

Kubeflow is the foundation of tools for AI Platforms on Kubernetes.

AI platform teams can build on top of Kubeflow by using each project independently or deploying the entire AI reference platform to meet their specific needs. The Kubeflow AI reference platform is composable, modular, portable, and scalable, backed by an ecosystem of Kubernetes-native projects that cover every stage of the AI lifecycle.

Whether you’re an AI practitioner, a platform administrator, or a team of developers, Kubeflow offers modular, scalable, and extensible tools to support your AI use cases.

What are Kubeflow Projects

Kubeflow is composed of multiple open source projects that address different aspects of the AI lifecycle. These projects are designed to be usable both independently and as part of the Kubeflow AI reference platform. This provides flexibility for users who may not need the full end-to-end AI platform capabilities but want to leverage specific functionalities, such as model training or model serving.

Kubeflow ProjectSource Code
Kubeflow KServekserve/kserve
Kubeflow Katibkubeflow/katib
Kubeflow Model Registrykubeflow/model-registry
Kubeflow Notebookskubeflow/notebooks
Kubeflow Pipelineskubeflow/pipelines
Kubeflow Spark Operatorkubeflow/spark-operator
Kubeflow Trainerkubeflow/trainer

What is the Kubeflow AI Reference Platform

The Kubeflow AI reference platform refers to the full suite of Kubeflow projects bundled together with additional integration and management tools. Kubeflow AI reference platform deploys the comprehensive toolkit for the entire AI lifecycle. The Kubeflow AI reference platform can be installed via Packaged Distributions or Kubeflow Manifests.

Kubeflow AI Reference Platform ToolSource Code
Central Dashboardkubeflow/dashboard
Profile Controllerkubeflow/dashboard
Kubeflow Manifestskubeflow/manifests

Kubeflow Overview Diagram

The following diagram shows the Kubeflow projects to cover each stage of the AI lifecycle on top of Kubernetes. Read the architecture overview to learn how Kubeflow projects fit in AI lifecycle.

Kubeflow Overview Diagram

Kubeflow Video Introduction

Watch the following video which provides an introduction to Kubeflow.

The Kubeflow Mission

Our goal is to make scaling AI models and deploying them to production as simple as possible, by letting Kubernetes do what it’s great at:

  • Easy, repeatable, portable deployments on a diverse infrastructure (for example, experimenting on a laptop, then moving to an on-premises cluster or to the cloud).
  • Deploying and managing loosely-coupled microservices.
  • Scaling based on demand.

Because AI practitioners use a diverse set of tools, one of the key goals is to customize the stack based on user requirements (within reason) and let the system take care of the “boring stuff”. While we have started with a narrow set of technologies, we are working with many different projects to include additional tooling.

Ultimately, we want to have a set of simple manifests that give you an easy to use AI stack anywhere Kubernetes is already running, and that can self configure based on the cluster it deploys into.

History

Kubeflow started as an open sourcing of the way Google ran TensorFlow internally, based on a pipeline called TensorFlow Extended. It began as just a simpler way to run TensorFlow jobs on Kubernetes, but has since expanded to be a foundation of tools for running AI workloads on Kubernetes.

The Kubeflow logo represents the letters K and F inside the heptagon of the Kubernetes logo, which represent two communities: Kubernetes (cloud-native) and flow (Machine Learning). In this context, flow is not only indicating TensorFlow, but also all ML frameworks which make use of Dataflow Graph as the normal form for model/algorithm implementation.

Roadmaps

Kubeflow projects have individual roadmaps which established by project maintainers:

To see what’s coming up in future versions of Kubeflow AI reference platform, refer to the Kubeflow AI reference platform.

Kubeflow Community

Kubeflow is a community-led project maintained by the Kubeflow Working Groups under the guidance of the Kubeflow Steering Committee.

We encourage you to learn about the Kubeflow Community and how to contribute to the project!

Next Steps

Feedback

Was this page helpful?