As part of the Open Data Hub project, we see potential and value in the Kubeflow project, so we dedicated our efforts to enable Kubeflow on Red Hat OpenShift. We decided to use Kubeflow 0.7 as that was the latest released version at the time this work began. The work included adding new installation scripts that provide all of the necessary changes such as permissions for service accounts to run on OpenShift.
The installation of Kubeflow is limited to the following components:
- Central dashboard
- Jupyterhub
- Katib
- Pipelines
- Pytorch, tf-jobs (training)
- Seldon (serving)
- Istio
All of the new fixes and features will be proposed upstream to the Kubeflow project in the near future.
Prerequisites
To install Kubeflow on OpenShift, there are prerequisites regarding the platform and the tools.
Everything you need to grow your career.
With your free Red Hat Developer program membership, unlock our library of cheat sheets and ebooks on next-generation application development.
Platform
To run this installation, OpenShift is needed as a platform. You can use either OpenShift 4.2 or Red Hat CodeReady Containers (CRC). If you choose OpenShift 4.2, all that you need is an available OpenShift 4.2 cluster. Or, you can try a cluster on try.openshift.com.
If you choose CodeReady Containers, you need a CRC-generated OpenShift cluster. Here are the recommended specifications:
- 16GB RAM
- 6 CPUs
- 45GB disk space
The minimum specifications are:
- 10GB RAM
- 6 CPUs
- 30GB disk space (the default for CRC)
Note: At the minimum specs, the CRC OpenShift cluster might be unresponsive for approximately 20 minutes while the Kubeflow components are being deployed.
When installing Kubeflow on a CRC cluster, there is an extra overlay (named “crc”) to enable the metadata component in kfctl_openshift.yaml
. This overlay is commented out by default. Uncomment the overlay to enable it.
Tools
The installation tool kfctl
is needed to install/uninstall Kubeflow. Download the tool from GitHub. Version 0.7.0 is required for this installation.
Installing Kubeflow with Istio enabled
As noted earlier, we added a KFDef file to specifically install Kubeflow on OpenShift and included fixes for different components. To install Kubeflow 0.7 on OpenShift 4.2 please follow the steps below. It is assumed that this installation will run on an OpenShift 4.2 cluster:
- Clone the
opendatahub-manifest
fork repo, which defaults to the branchv0.7.0-branch-openshift
:
$ git clone https://github.com/opendatahub-io/manifests.git $ cd manifests
- Install using the OpenShift configuration file and the locally downloa