Installation

Pre-requisites

To install Kubeflow 1.0 on OpenShift 4.2+ the following are the prerequisites:

  1. Code Ready Container (CRC): A CRC-generated OpenShift cluster with the following specifications:

    Recommended:

    * 16GB memory
    * 6 cpu
    * 45G disk space
    

    Minimum:

    * 10GB memory
    * 6 cpu
    * 35G disk space (default for CRC)
    

    NOTE: At the minimum specs, the CRC OpenShift cluster may be unresponsive for ~20mins while 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. It is commented out by default. Uncomment to enable it.

    –OR–

    OpenShift 4.2 or later: An available OpenShift 4.2+ cluster or you can try a cluster on try.openshift.com

  2. kfctl: The installation tool kfctl is needed to install/uninstall Kubeflow. Download the tool from github, the version 1.0 is required for the installation.

  3. An OpenShift user account with cluster-admin privileges

Install Kubeflow with Istio Enabled

To install Kubeflow 1.0 on OpenShift 4.2(or later) please follow the steps below:

  1. Install the Open Data Hub operator by following the steps on Installing the Open Data Hub Operator in the Open Data Hub Quick Installation guide.

  2. After the Open Data Hub operator is installed, follow the steps to Create a New Open Data Hub Deployment in the Open Data Hub Quick Installation guide.

    NOTE: During these steps, you will need to use the kfctl_openshift.yaml KfDef in our opendatahub-io/manifests repo that we have curated specifically for installing Kubeflow.

  3. Verify installation
     oc get pods
    
  4. Launch the Kubeflow portal
     oc get routes -n istio-system istio-ingressgateway -o jsonpath='http://{.spec.host}/'
      http://<istio ingress route>/
    

Delete A Kubeflow installation

You can remove a Kubeflow installation by deleting the KfDef custom resources that you created previously.

If you notice that the Kubeflow namespace is stuck in a Terminating state, you can run the commands below to resolve this issue

oc delete mutatingwebhookconfigurations admission-webhook-mutating-webhook-configuration
oc delete mutatingwebhookconfigurations inferenceservice.serving.kubeflow.org
oc delete mutatingwebhookconfigurations katib-mutating-webhook-config
oc delete mutatingwebhookconfigurations mutating-webhook-configurations
oc delete mutatingwebhookconfiguration seldon-mutating-webhook-configuration-kubeflow

oc delete validatingwebhookconfiguration seldon-validating-webhook-configuration-kubeflow
oc delete validatingwebhookconfiguration katib-validating-webhook-config