Kubeflow

  • Kubeflow Charmers | bundle
  • Cloud
Channel Revision Published
latest/candidate 294 24 Jan 2022
latest/beta 430 30 Aug 2024
latest/edge 423 26 Jul 2024
1.10/stable 436 07 Apr 2025
1.10/candidate 434 02 Apr 2025
1.10/beta 433 24 Mar 2025
1.9/stable 432 03 Dec 2024
1.9/beta 420 19 Jul 2024
1.9/edge 431 03 Dec 2024
1.8/stable 414 22 Nov 2023
1.8/beta 411 22 Nov 2023
1.8/edge 413 22 Nov 2023
1.7/stable 409 27 Oct 2023
1.7/beta 408 27 Oct 2023
1.7/edge 407 27 Oct 2023
juju deploy kubeflow --channel 1.10/stable
Show information

Platform:

This guide describes the general steps required to install Charmed Kubeflow (CKF).

CKF can be installed on any CNCF certified Kubernetes (K8s), including Canonical Kubernetes, AKS, EKS, GKE, Openshift, and any kubeadm-deployed cluster.

Requirements

Charmed Kubeflow requires a running K8s cluster with the following:

Bootstrap Juju

CKF is deployed to Kubernetes with Juju. Before deployment, Juju must be bootstrapped to the K8s cluster. For bootstrapping instructions, see Get started with Juju.

Create the kubeflow model

To create a Juju model for CKF, run:

juju add-model kubeflow

The model name must be kubeflow.

See Juju OLM | add-model for more details.

Deploy CKF

To deploy the most recent stable version of CKF, run:

juju deploy kubeflow --trust

You can install a different version of CKF by using the --channel option. See Supported versions for more details.

It may take up to 20 minutes for all charms to become active.

You can monitor the deployment status with Juju as follows:

juju status --watch 5s

Access CKF dashboard

You can interact with CKF using its central dashboard, accessed through an IP address. To access it, you must:

  1. Configure Dex to authenticate with the Identity Provider of your choice.
  2. Find the dashboard’s IP address.

Configure Dex

To configure Dex’s built-in connector, set credentials by configuring dex-auth with a username and a password:

juju config dex-auth static-username=<new username>
juju config dex-auth static-password=<new password>

To use an external Identity Provider, see Integrate with identity providers for more details.

Find the dashboard IP address

If the deployment uses a LoadBalancer, you can find the dashboard’s IP by running the following command:

kubectl -n kubeflow get svc istio-ingressgateway-workload -o jsonpath='{.status.loadBalancer.ingress[0].ip}'

See kubectl get for more details.

If you have configured Istio Gateway to use a different gateway service type such as ClusterIP or NodePort, the dashboard should be accessible at that service’s IP. See Istio Gateway configurations for more information.

If DNS is required, use the resolvable address from istio-ingressgateway.

To access the dashboard remotely, you can obtain the IP over SSH and a SOCKS proxy. See How to set up SSH for more details.

Log in

Once you have accessed the dashboard IP address, log in using the credentials matching the identity provider you are using.