General installation¶
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:
Kubernetes version depending on the CKF version you are deploying. See Supported versions for more details.
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
Note
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
Note
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
Note
You can install a different version of CKF by using the --channel option.
See Supported versions for more details.
Access CKF dashboard¶
You can interact with CKF using its central dashboard, accessed through an IP address. To access it, you must:
Configure Dex to authenticate with the Identity Provider of your choice.
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>
Note
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.
Note
If DNS is required, use the resolvable address from istio-ingressgateway.
Tip
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.