Version v0.6 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.

Accessing Kubeflow UIs

How to access the Kubeflow web UIs

Kubeflow includes a number of web user interfaces (UIs). This document provides instructions on how to connect to them.

Overview of Kubeflow UIs

The Kubeflow UIs include the following:

  • A central Kubeflow UI for navigation between the Kubeflow applications.
  • Pipelines for a Kubeflow Pipelines dashboard.
  • Notebook Servers for Jupyter notebooks.
  • Katib for hyperparameter tuning.
  • Artifact Store for tracking of artifact metadata.

Instructions below indicate how to connect to the Kubeflow central UI. From there you can navigate to the different services using the left hand navigation bar.

The central UI dashboard looks like this:

Kubeflow central UI

Overview of accessing the Kubeflow UIs

To access the Kubeflow UIs, you need to connect to the Istio gateway that provides access to the Kubeflow service mesh.

How you access the Istio gateway varies depending on how you’ve configured it.

URL pattern with Google Cloud Platform (GCP)

If you followed the guide to deploying Kubeflow on GCP, the Kubeflow central UI is accessible at a URL of the following pattern:

https://<application-name>.endpoints.<project-id>.cloud.goog/

The URL brings up the dashboard illustrated above.

If you deploy Kubeflow with Cloud Identity-Aware Proxy (IAP), Kubeflow uses the Let’s Encrypt service to provide an SSL certificate for the Kubeflow UI. For troubleshooting issues with your certificate, see the guide to monitoring your Cloud IAP setup.

Using kubectl and port-forwarding

If you didn’t configure Kubeflow to integrate with an identity provider and perform any authorization then you can port-forward directly to the Istio gateway.

Port-forwarding typically does not work if any of the following are true:

  • You’ve deployed Kubeflow on GCP using the GCP deployment UI or the default settings with the CLI deployment. (If you want to use port forwarding, you must deploy Kubeflow on an existing Kubernetes cluster using the kfctl_k8s_istio configuration.)

  • You’ve configured the Istio ingress to only accept HTTPS traffic on a specific domain or IP address.

  • You’ve configured the Istio ingress to perform an authorization check (for example, using Cloud IAP or Dex).

You can access Kubeflow via kubectl and port-forwarding as follows:

  1. Install kubectl if you haven’t already done so:

    • If you’re using Kubeflow on GCP, run the following command on the command line: gcloud components install kubectl.
    • Alternatively, follow the kubectl installation guide.
  2. Use the following command to set up port forwarding to the Istio gateway.

    export NAMESPACE=istio-system
    kubectl port-forward -n istio-system svc/istio-ingressgateway 8080:80
    
  3. Access the central navigation dashboard at:

    http://localhost:8080/
    
    • Depending on how you’ve configured Kubeflow, not all UIs work behind port-forwarding to the reverse proxy.

      For some web applications, you need to configure the base URL on which the app is serving.

      For example, if you deployed Kubeflow with an ingress serving at https://example.mydomain.com and configured an application to be served at the URL https://example.mydomain.com/myapp, then the app may not work when served on https://localhost:8080/myapp because the paths do not match.

Next steps