Install Kubeflow on OpenShift

    This guide describes how to use the CLI to deploy Kubeflow 1.0 on an existing OpenShift 4.x cluster.

    • You need to have access to an OpenShift 4 cluster as cluster-admin to be able to deploy Kubeflow.
    • You can use Code Ready Containers (CRC) to run a local cluster, use to create a new cluster or use an existing cluster.
    • Install oc command-line tool to communicate with the cluster.

    Code Ready Containers

    If you are using Code Ready Containers, you need to make sure you have enough resources configured for the VM:

    Recommended:

    1. 10 GB memory
    2. 6 CPU
    3. 30 GB disk space (default for CRC)

    Use the following steps to install Kubeflow 1.0 on OpenShift 4.x.

    1. Clone the [opendatahub/manifests] (https://github.com/opendatahub-io/manifests) repository. This repository defaults to the v1.0-branch-openshift branch.

    2. Build the deployment configuration using the OpenShift KFDef file and local downloaded manifests.

      1. # update the manifest repo URI
      2. sed -i 's#uri: .*#uri: '$PWD'#' ./kfdef/kfctl_openshift.yaml
      3. # set the Kubeflow application diretory for this deployment, for example /opt/openshift-kfdef
      4. export KF_DIR=<path-to-kfdef>
      5. cp ./kfdef/kfctl_openshift.yaml ${KF_DIR}
      6. # build deployment configuration
      7. cd ${KF_DIR}
      8. kfctl build --file=kfctl_openshift.yaml
    3. Apply the generated deployment configuration.

    4. Wait until all the pods are running.

      1. $ oc get pods -n kubeflow
      2. NAME READY STATUS RESTARTS AGE
      3. argo-ui-7c584fc474-k5blx 1/1 Running 0 3m46s
      4. centraldashboard-678f74d985-rblnm 1/1 Running 0 3m41s
      5. jupyter-web-app-deployment-57977c6965-2qznb 1/1 Running 0 3m37s
      6. katib-manager-7797db7f7c-p5ztb 1/1 Running 1 3m3s
      7. katib-ui-5bdbb97475-585rp 1/1 Running 0 3m2s
      8. metadata-db-c88c9bf6f-5ddbz 1/1 Running 0 3m30s
      9. metadata-deployment-969879b6c-swvqf 1/1 Running 0 3m30s
      10. metadata-envoy-deployment-69766744b5-75t5l 1/1 Running 0 3m29s
      11. metadata-grpc-deployment-578956fc6d-msvj5 1/1 Running 3 3m29s
      12. metadata-ui-57f9b8d667-dckm4 1/1 Running 0 3m28s
      13. minio-784784b9bb-bqslk 1/1 Running 0 2m56s
      14. ml-pipeline-687969b966-wx6jd 1/1 Running 0 2m59s
      15. ml-pipeline-ml-pipeline-visualizationserver-57997bdc64-jw6l4 1/1 Running 0 2m37s
      16. ml-pipeline-persistenceagent-b74f6455b-z9nzw 1/1 Running 0 2m51s
    5. The command below looks up the URL of the Kubeflow user interface assigned by the OpenShift cluster. You can open the printed URL in your browser to access the Kubeflow user interface.

    • Learn about the to Kubeflow manifests to enable deployment on OpenShift
    • See how to uninstall your Kubeflow deployment using the CLI.