Kubeflow Versioning Policies

Versioning policies and status of Kubeflow applications and other components

This page describes the Kubeflow versioning policies and provides a versionmatrix for Kubeflow applications and other components.

Kubeflow versioning

Kubeflow version numbers are of the form vX.Y.Z, where X is the majorversion, Y is the minor version, and Z is the patch version. Theversioning policy follows the Semantic Versioningterminology.

The version name vX.Y.Z refers to the version (git tag) of thekfctl release.If the version number includes an appendix -rcN, where N is anumber, the appendix indicates a release candidate, which is a pre-releaseversion of an upcoming release.

Examples of Kubeflow version numbers:

  • v0.7.0
  • v0.7.0-rc8
  • v1.0.0
  • v1.0.1

Application versioning and stable status

Starting from the release of Kubeflow v1.0, the Kubeflow communityattributes stable status to those applications and components thatmeet a defined level of stability, supportability, and upgradability.

When you deploy Kubeflow to a Kubernetes cluster, your deployment includes anumber of applications. Application versioning is independent of Kubeflowversioning. An application moves to version 1.0 when the application meetscertaincriteriain terms of stability, upgradability, and the provision of services such aslogging and monitoring.

When an application moves to version 1.0, the Kubeflow community willdecide whether to mark that version of the application as stable in the nextmajor or minor release of Kubeflow.

Kubeflow application matrix

The following table shows the status (stable, beta, or alpha) of theapplications that you can deploy to your Kubernetes cluster when you deployKubeflow. The applications are specified in themanifest that youuse to deploy Kubeflow. The kfctl deployment tool deploys the applicationsstrictly according to the manifest. kfctl does not decide whether to deploy ornot deploy an application based on the application status.

You can use the information below to decide which of the applications you shoulddeploy to your production system, and adjust the manifest accordingly.

Application status indicators for Kubeflow:

  • Stable means that the application complies with thecriteriato reach application version 1.0, and that the Kubeflow community has deemedthe application stable for this release of Kubeflow.
  • Beta means that the application is working towards a version 1.0 releaseand its maintainers have communicated a timeline for satisfying the criteriafor the stable status.
  • Alpha means that the application is in the early phases ofdevelopment and/or integration into Kubeflow.

The application version in the table reflects the application version inthe manifest at the time when Kubeflow v1.0 wasreleased. This is therefore the default version of the application that youreceive when you deploy Kubeflow v1.0. Some applicationsmay release later versions that you can choose to install into your Kubeflowdeployment. If you need a later version of a specific application, refer to thedocumentation for that application.

ApplicationStatus in Kubeflow v1.0Application version in Kubeflow v1.0
Central dashboard: Kubeflow UI (GitHub) Stable1.0.0
Chainer operator (GitHub) Alpha
Hyperparameter tuning: Katib (GitHub) Betav1alpha3
KFServing (GitHub) Betav0.2.2
Metadata (GitHub) Beta0.2.1
MPI training: MPI operator (GitHub) Alpha
MXNet training: MXNet operator (GitHub) Alpha
Notebook web app (GitHub) Stable1.0.0
Notebook controller (GitHub) Stable1.0.0
Pipelines (GitHub) Beta0.2.0
Profile Controller for multi-user isolation (GitHub) Stable1.0.0
PyTorch training: PyTorch operator (GitHub) Stable1.0.0
TensorFlow training: TFJob operator (GitHub) Stable1.0.0
XGBoost training: XGBoost operator (GitHub) Alpha

Kubeflow SDKs and CLIs

Alongside Kubeflow v1.0, you may want to useone of the following Kubeflow SDKs and command-line interfaces(CLIs).

SDK / CLIStatus with Kubeflow v1.0SDK/CLI version
Fairing (GitHub) Beta0.7.1
kfctl (GitHub ) Stable1.0.0
Kubeflow Pipelines SDK (GitHub) Beta0.2.0

Support levels

The expectations for supportability and the types of support available dependon the stable status of each application or other component.For more information, see the support page.

Feedback

Was this page helpful?

Glad to hear it! Please tell us how we can improve.

Sorry to hear that. Please tell us how we can improve.

Last modified 18.02.2020: Refactor multiuser guides (#1682) (688286b9)