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.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 latest/edge
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
This guide describes the general steps required to install Charmed Kubeflow (CKF).
CKF can be installed on any CNCF certified Kubernetes (K8s), including MicroK8s, AKS, EKS, GKE, Openshift and any kubeadm
-deployed cluster.
Requirements
A running K8s cluster including these requirements:
- 1.27-1.29 version.
- A default storage class configured.
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 --channel=1.9/stable
See Charmhub | kubeflow
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 the dashboard, you need to do the following:
Set credentials
Configure dex-auth
with a username and password:
juju config dex-auth static-username=<new username>
juju config dex-auth static-password=<new password>
See Juju config
and Dex configurations for more details.
Access the dashboard IP address
First, find the dashboard IP address by running this command:
kubectl get services -n kubeflow
See kubectl get
for more details.
This IP is related to the LoadBalancer service, applied by the istio-gateway charm.
Depending on the used K8s substrate, these steps apply:
-
For MicroK8s with
metallb
add-on enabled, the dashboard is accessible at the LoadBalancer IP, typicallyhttp://10.64.140.43.nip.io
. Otherwise, it should be accessible at the Cluster or NodePort IP when configured. See Istio Gateway configurations for more information. -
For other K8s, you can make the dashboard accessible by configuring its public URL to be the same as the LoadBalancer’s public IP. You can do so as follows:
PUBLIC_URL="http://$(kubectl -n kubeflow get svc istio-ingressgateway-workload -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"
echo PUBLIC_URL: $PUBLIC_URL
juju config dex-auth public-url=$PUBLIC_URL
juju config oidc-gatekeeper public-url=$PUBLIC_URL
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 setup SSH for more details.
Log in
Once you have accessed the dashboard IP address, log in using the credentials previously set.