Skip to content

Kubeflow vs deployKF

Understand the differences between Kubeflow and deployKF.

Migrate to deployKF

When you're ready to start migrating from vanilla Kubeflow to deployKF, check out our migration guide:

Migrate from Kubeflow Distributions


Introduction

Kubeflow and deployKF are different but related projects. By using deployKF, you get everything that Kubeflow offers, plus a lot more.

Before we dive into the differences, let's define each project:

Project What is it?
deployKF A tool for building Data and Machine Learning platforms on Kubernetes.
Kubeflow A CNCF project to develop MLOps tools that run on Kubernetes.
Kubeflow Manifests A collection of Kustomize manifests provided by the Kubeflow project.

deployKF vs Kubeflow Manifests

deployKF and Kubeflow Manifests are both used to deploy Kubeflow. However, they are designed for different purposes and have different features.

Kubeflow Manifests deployKF
Purpose To be used as a base for packaged Kubeflow distributions by vendors. Enable organizations to build their Data and ML Platforms on Kubernetes.
Key Feature A collection of Kustomize manifests requiring significant manual patching to use in production. A centralized config system to manage all aspects of the platform, very similar to Helm Chart values.

Area: Ease of Use

Feature Kubeflow Manifests deployKF
Easy Configuration
Manual patching of Kustomize manifests.

Configured with centralized values.
Easy Upgrades
Must start from scratch with each new version.

In-place upgrades are supported.
Bring values forward to new versions.
Easy Uninstall
No built-in uninstall process.

Straightforward uninstall process.

Area: Tools and Ecosystem

Feature Kubeflow Manifests deployKF
Kubeflow Ecosystem
Included.

Optionally included.
Argo Server
(Web interface of Argo Workflows)

Not included.

Optionally included.
Integrated with single sign-on.
User access is aligned to profile memberships.
MinIO Console
(Web interface of MinIO)

Not included.

Optionally included.
Integrated with single sign-on.
User access is aligned to profile memberships.

Area: Flexibility and Customization

Feature Kubeflow Manifests deployKF
Selectively Enable Tools
Requires manual patching of Kustomize manifests.

Each tool has as single enabled value.
Enable or disable tools.
Use Existing Cluster Dependencies
Requires manual patching of Kustomize manifests.

Easily use existing cluster dependencies.
Connect your existing Istio.
Connect your existing cert-manager.
Connect your existing Kyverno.
Connect to Identity Providers
Requires manual patching of Kustomize manifests.

Easily connect any identity provider.
Connect via OpenID Connect or LDAP.
Connect to External Services
Requires manual patching of Kustomize manifests.

Easily connect external services.
Connect external S3 / Object Store.
Connect external MySQL.

Area: Special Features

Feature Kubeflow Manifests deployKF
ArgoCD Support
(GitOps)

No built-in support for ArgoCD.

Native support for GitOps with ArgoCD.
Automatic Restarts
(Config and Secret Changes)

Manual pod restarts are required.

When a config or secret is changed, any affected components are automatically restarted using Kyverno.
Declarative Profiles
(Users and team access)

Profiles are manually created.

Profiles are defined via values.
Easily assign multiple users to a profile.
Browser Login Flow
(Kubeflow Pipelines)

Not supported.

Users can authenticate the Kubeflow Pipelines SDK from off-cluster, using a web browser.

Area: Security

Feature Kubeflow Manifests deployKF
Random Secrets
Secrets are hardcoded in manifests.

Secrets are randomly generated at install time.
Hardened Kubeflow Pipelines
Object Store access keys are shared across all profiles. Access keys are not randomly generated.

Object Store access keys are isolated to each profile and scoped to the minimum required permissions. All access keys are randomly generated.
Hardened Istio
Istio is difficult to update.
Standard images.

Easy to update Istio.
Uses distroless images.
Additional security patches.
Standard Auth Tools
Uses non-standard arrikto/oidc-authservice and often outdated dex.

Uses standard tools including Envoy (via Istio), oauth2-proxy, and dex.
HTTPS by Default
HTTPS is NOT enabled by default.

HTTPS is enabled by default.

Next Steps


Last update: 2024-08-30
Created: 2023-04-24