Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated screenshots and UI info for Kubeflow v0.6 #1029

Merged
merged 10 commits into from
Aug 9, 2019
10 changes: 3 additions & 7 deletions content/docs/components/training/tftraining.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ kubectl apply -f tfevent-volume
kubectl apply -f tf_job_mnist.yaml
```

Monitor the job (see the [TFJob docs](/docs/components/tftraining/#monitoring-your-job)):
Monitor the job (see the [detailed guide below](#monitoring-your-job)):

```
kubectl -n kubeflow get tfjob mnist -o yaml
Expand All @@ -238,12 +238,8 @@ Typically you can change the following values in the TFJob yaml file:

### Accessing the TFJob dashboard

The TFJob dashboard is available at `<path>/tfjobs/ui/`. Specifically:

* If you're using the central Kubeflow UI, you can access the TFJob dashboard
by clicking **TFJOB DASHBOARD**:

![Central UI](/docs/images/central-ui.png)
The TFJob dashboard has the title **kubeflow/tf-operator**.
You can access it at `<path>/tfjobs/ui/`. Specifically:

* If you followed the
guide to [deploying Kubeflow on GCP](/docs/gke/deploy/), you can
Expand Down
10 changes: 8 additions & 2 deletions content/docs/gke/pipelines-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,12 @@ Notes:
[clean up your GCP resources](#cleanup) when you've finished with them.
* This guide uses [Cloud Shell][cloud-shell] to manage your GCP environment, to save you the steps of installing [Cloud SDK][cloud-sdk] and [kubectl][kubectl].

### Start your Cloud Shell

Follow the link to activate a
[Cloud Shell environment](https://console.cloud.google.com/cloudshell) in your
browser.

### Set up some handy environment variables

Set up the following environment variables for use throughout the tutorial:
Expand Down Expand Up @@ -190,7 +196,7 @@ Deploy Kubeflow on GCP:
alt="Prediction UI"
class="mt-3 mb-3 p-3 border border-info rounded">

1. Click **Pipeline Dashboard** to access the pipelines UI. The pipelines UI
1. Click **Pipelines** to access the pipelines UI. The pipelines UI
looks like this:
<img src="/docs/images/pipelines-ui.png"
alt="Pipelines UI"
Expand Down Expand Up @@ -606,7 +612,7 @@ SDK](/docs/pipelines/sdk/sdk-overview/).
[gcp-console-services]: https://console.cloud.google.com/kubernetes/discovery
[cr-tf-models]: https://console.cloud.google.com/gcr/images/tensorflow/GLOBAL/models

[cloud-shell]: https://cloud.google.com/sdk/docs/interactive-gcloud
[cloud-shell]: https://cloud.google.com/shell/
[gcloud-container-clusters-create]: https://cloud.google.com/sdk/gcloud/reference/container/clusters/create
[gcp-machine-types]: https://cloud.google.com/compute/docs/machine-types
[gcp-service-account]: https://cloud.google.com/iam/docs/understanding-service-accounts
Expand Down
Binary file modified content/docs/images/add-notebook-server.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/docs/images/central-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/docs/images/jupyterlink.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/docs/images/new-notebook-server.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/docs/images/notebook-servers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/docs/images/notebooks-namespace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 22 additions & 9 deletions content/docs/notebooks/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@ in Kubeflow.

Summary of steps:

1. Follow the [Kubeflow getting-started guide](/docs/started/getting-started/) to
set up your Kubeflow deployment and open the Kubeflow UI.
1. Follow the [Kubeflow getting-started guide](/docs/started/getting-started/)
to set up your Kubeflow deployment and open the Kubeflow UI.

1. Click **Notebooks** in the left-hand panel of the Kubeflow UI.
1. Click **Notebook Servers** in the left-hand panel of the Kubeflow UI.
1. Choose the **namespace** corresponding to your Kubeflow profile.
1. Click **NEW SERVER** to create a notebook server.
1. When the notebook server provisioning is complete, click **CONNECT**.
1. Click **Upload** to upload an existing notebook, or click **New** to
Expand Down Expand Up @@ -58,8 +59,8 @@ getting-started guide for your chosen environment. For example:

## Create a Jupyter notebook server and add a notebook

1. Click **Notebooks** in the left-hand panel of the Kubeflow UI to access the
Jupyter notebook services deployed with Kubeflow:
1. Click **Notebook Servers** in the left-hand panel of the Kubeflow UI to
access the Jupyter notebook services deployed with Kubeflow:
<img src="/docs/images/jupyterlink.png"
alt="Opening notebooks from the Kubeflow UI"
class="mt-3 mb-3 border border-info rounded">
Expand All @@ -69,22 +70,34 @@ getting-started guide for your chosen environment. For example:
to your Google Account you may not need to log in again.)
* On all other platforms, sign in using any username and password.

1. Select a namespace:
* Click the namespace dropdown to see the list of available namespaces.
* Choose the namespace that corresponds to your Kubeflow profile. (See
the page on [multi-user isolation](/docs/other-guides/multi-user-overview/)
for more information about namespaces.)

<img src="/docs/images/notebooks-namespace.png"
alt="Selecting a Kubeflow namespace"
class="mt-3 mb-3 border border-info rounded">

1. Click **NEW SERVER** on the **Notebook Servers** page:

<img src="/docs/images/add-notebook-server.png"
alt="The Kubeflow notebook servers page"
class="mt-3 mb-3 border border-info rounded">

You should see the **New Notebook Server** page:
You should see a page for entering details of your new server. Here is a
partial screenshot of the page:

<img src="/docs/images/new-notebook-server.png"
alt="Form for adding a Kubeflow notebook server"
class="mt-3 mb-3 border border-info rounded">

1. Enter a **name** of your choice for the notebook server. The name can
include letters and numbers, but no spaces. For example, `my-first-notebook`.
1. Enter a **namespace** to identify the project group or team to which this
notebook server belongs. The default is `kubeflow`.
1. Kubeflow automatically updates the value in the **namespace** field to
be the same as the namespace that you selected in a previous step. This
ensures that the new notebook server is in a namespace that you can access.

1. Select a Docker **image** for the baseline deployment of your notebook
server. You can choose from a range of *standard* images or specify a
Expand Down Expand Up @@ -150,7 +163,7 @@ getting-started guide for your chosen environment. For example:
volumes or specify existing volumes. Kubeflow provisions a
[Kubernetes persistent volume (PV)](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) for each of your data volumes.

1. Click **SPAWN** and wait a while. You should see an entry for your new
1. Click **LAUNCH**. You should see an entry for your new
notebook server on the **Notebook Servers** page, with a spinning indicator in
the **Status** column. It can take a few minutes to set up
the notebook server.
Expand Down
68 changes: 33 additions & 35 deletions content/docs/other-guides/accessing-uis.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,50 +9,45 @@ instructions on how to connect to them.

## Accessing Kubeflow web UIs

Kubeflow comes with a number of web UIs, including:
The Kubeflow web UIs include the following:

* Central UI for navigation
* Jupyter notebooks
* TFJob Dashboard
* Katib Dashboard
* Pipelines Dashboard
* Artifact Store Dashboard
* 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.
* **tf-operator** for a TFJob dashboard.

To make it easy to connect to these UIs Kubeflow provides a left hand navigation
bar for navigating between the different applications.
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.

Instructions below indicate how to connect to the Kubeflow landing page. From
there you can easily navigate to the different services using the left hand navigation
bar. The landing page looks like this:
The central UI dashboard looks like this:

<img src="/docs/images/central-ui.png"
alt="Kubeflow UI"
alt="Kubeflow central UI"
class="mt-3 mb-3 border border-info rounded">

## URL pattern with Google Cloud Platform (GCP)

## Google Cloud Platform (Kubernetes Engine)

If you followed the guide to [deploying Kubeflow on Google Cloud Platform
(GCP)](/docs/gke/deploy/), Kubeflow
is deployed with Cloud Identity-Aware Proxy (Cloud IAP) or basic authentication,
and the Kubeflow landing page is accessible at a URL of the following pattern:
If you followed the guide to [deploying Kubeflow on GCP](/docs/gke/deploy/),
the Kubeflow central UI is accessible at a URL of the following pattern:

```
https://<name>.endpoints.<project>.cloud.goog/
https://<application-name>.endpoints.<project-ID>.cloud.goog/
sarahmaddox marked this conversation as resolved.
Show resolved Hide resolved
```

This URL brings up the landing page illustrated above.
The URL brings up the dashboard illustrated above.

When deployed with Cloud IAP, Kubeflow uses the
If you deploy Kubeflow with Cloud Identity-Aware Proxy (IAP), Kubeflow uses the
[Let's Encrypt](https://letsencrypt.org/) 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](/docs/gke/deploy/monitor-iap-setup/).

## Using Kubectl and port-forwarding
## Using kubectl and port-forwarding

If you're not using the Cloud IAP option or if you haven't yet set up your
Kubeflow endpoint, you can access Kubeflow via `kubectl` and port-forwarding.
You can access Kubeflow via `kubectl` and port-forwarding as follows:

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

Expand All @@ -72,18 +67,21 @@ Kubeflow endpoint, you can access Kubeflow via `kubectl` and port-forwarding.
http://localhost:8080/
```

* This will only work if you haven't enabled basic auth or Cloud IAP. If
authentication is enabled requests will be rejected
because you are not connecting over HTTPS and attaching proper credentials.
* Port-forwarding will not work if you're using basic authentication with GCP.

* Depending on how you've configured Kubeflow, not all UIs will work behind port-forwarding to the reverse proxy.
* Depending on how you've configured Kubeflow, not all UIs work behind
port-forwarding to the reverse proxy.

* Some web applications need to be configured to know the base URL they are serving on.
* So if you deployed Kubeflow with an ingress serving at `https://acme.mydomain.com` and configured an application
to be served at the URL `https://acme.mydomain.com/myapp` then the app may not work when served on
`https://localhost:8080/myapp` because the paths do not match.
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

See how to [set up your Jupyter notebooks](/docs/notebooks/setup/) in
Kubeflow.
* See how to [access the TFJob dashboard](/docs/components/training/tftraining/).
* [Set up your Jupyter notebooks](/docs/notebooks/setup/) in Kubeflow.
16 changes: 7 additions & 9 deletions content/docs/pipelines/pipelines-quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@ Kubeflow Pipelines. If you need a more in-depth guide, see the

Follow these steps to deploy Kubeflow and open the pipelines dashboard:

1. Follow the guide to [deploying Kubeflow on GCP](/docs/gke/deploy/),
including the step to deploy Kubeflow using the
[Kubeflow deployment UI](https://deploy.kubeflow.cloud/).
1. Follow the guide to [deploying Kubeflow on GCP](/docs/gke/deploy/).

{{% pipelines-compatibility %}}

Expand All @@ -44,7 +42,7 @@ Follow these steps to deploy Kubeflow and open the pipelines dashboard:

1. Run ```kubectl port-forward -n kubeflow svc/ml-pipeline-ui 8080:80``` and go to `http://localhost:8080/`.

1. Click **Pipeline Dashboard** to access the pipelines UI. The pipelines UI looks like
1. Click **Pipelines** to access the pipelines UI. The pipelines UI looks like
this:
<img src="/docs/images/pipelines-ui.png"
alt="Pipelines UI"
Expand All @@ -57,13 +55,13 @@ pipelines quickly. The steps below show you how to run a basic sample that
includes some Python operations, but doesn't include a machine learning (ML)
workload:

1. Click the name of the sample, **\[Sample\] Basic - Parallel Join**, on the pipelines
1. Click the name of the sample, **\[Sample\] Basic - Parallel Execution**, on the pipelines
UI:
<img src="/docs/images/click-pipeline-sample.png"
alt="Pipelines UI"
class="mt-3 mb-3 border border-info rounded">

1. Click **Create an experiment**:
1. Click **Create experiment**:
<img src="/docs/images/pipelines-start-experiment.png"
alt="Starting an experiment on the pipelines UI"
class="mt-3 mb-3 border border-info rounded">
Expand All @@ -90,7 +88,7 @@ workload:

You can find the source code for the basic parallel join sample in the
[Kubeflow Pipelines
repo](https://github.com/kubeflow/pipelines/blob/master/samples/basic/parallel_join.py).
repo](https://github.com/kubeflow/pipelines/blob/master/samples/core/parallel_join/parallel_join.py).

## Run an ML pipeline

Expand Down Expand Up @@ -124,7 +122,7 @@ Follow these steps to set up the necessary GCP services and run the sample:
alt="XGBoost sample on the pipelines UI"
class="mt-3 mb-3 border border-info rounded">

1. Click **Create an experiment**.
1. Click **Create experiment**.
1. Follow the prompts to create an **experiment** and then create a **run**.
Supply the following **run parameters**:

Expand Down Expand Up @@ -163,7 +161,7 @@ Follow these steps to set up the necessary GCP services and run the sample:

You can find the source code for the XGBoost training sample in the
[Kubeflow Pipelines
repo](https://github.com/kubeflow/pipelines/tree/master/samples/xgboost-spark).
repo](https://github.com/kubeflow/pipelines/tree/master/samples/core/xgboost-spark).

## Clean up your GCP environment

Expand Down
2 changes: 1 addition & 1 deletion layouts/shortcodes/code-webui-port-forward.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<pre><code>export NAMESPACE=kubeflow
<pre><code>export NAMESPACE=istio-system
kubectl port-forward svc/ambassador -n ${NAMESPACE} 8080:80
</code></pre>