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

Minor updates to website documentation #3946

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/en/docs/components/central-dash/customize.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ For example, the below image shows the Kubeflow Central Dashboard with a custom

## Central Dashboard ConfigMap

The Kubeflow Central Dashboard is configured using a Kubernetes ConfigMap.
The Kubeflow Central Dashboard is configured using a [Kubernetes ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/).
varodrig marked this conversation as resolved.
Show resolved Hide resolved

The `CD_CONFIGMAP_NAME` environment variable on the central-dashboard Deployment specifies the name of the ConfigMap (`centraldashboard-config` by default).

Expand Down Expand Up @@ -121,7 +121,7 @@ data:

### Create VirtualService

If you have a non-Kubeflow application running on the cluster, you may expose it through the Kubeflow Central Dashboard by creating a `VirtualService` on the Kubeflow Istio Gateway.
If you have a non-Kubeflow application running on the cluster, you may expose it through the Kubeflow Central Dashboard by creating a [`VirtualService`](https://istio.io/latest/docs/reference/config/networking/virtual-service/) on the Kubeflow Istio Gateway.
To do this, your app must have an injected Istio sidecar and be exposed as a Kubernetes Service.

For example, the below `VirtualService` exposes `Service/my-app` from the `my-namespace` namespace on the Kubeflow Istio Gateway under the path `/my-app/`:
Expand Down
12 changes: 10 additions & 2 deletions content/en/docs/components/central-dash/profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,21 @@ weight = 20

## What is a Kubeflow Profile?

A Profile is a Kubernetes CRD introduced by Kubeflow that wraps a Kubernetes Namespace.
A Kubeflow Profile is a [Kubernetes CRD](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) introduced by Kubeflow that wraps a Kubernetes [Namespace](https://kubernetes.io/docs/tasks/administer-cluster/namespaces-walkthrough/). It is designed to solve access management within multi-user kubernetes cluster.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not really correct to say it "solves access management" given the profile does not have any access management aspect, it literally just tells the controller to make a profile.

Access management is sadly done with the strange named RBAC resources, as described in this section.

Suggested change
A Kubeflow Profile is a [Kubernetes CRD](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) introduced by Kubeflow that wraps a Kubernetes [Namespace](https://kubernetes.io/docs/tasks/administer-cluster/namespaces-walkthrough/). It is designed to solve access management within multi-user kubernetes cluster.
A Kubeflow Profile is a [Kubernetes CRD](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) introduced by Kubeflow that wraps a Kubernetes [Namespace](https://kubernetes.io/docs/tasks/administer-cluster/namespaces-walkthrough/).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, this should flow into the next paragraph like the current website does, e.g. there should not be a new line here.



Profile access management provides namespace level isolation based on:

* Kubernetes RBAC
* Istio AuthorizationPolicy
Comment on lines +12 to +15
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't this this helps a new user, as this section is trying to introduce the general concept of a Profile without overwhelming the reader:

Suggested change
Profile access management provides namespace level isolation based on:
* Kubernetes RBAC
* Istio AuthorizationPolicy


Profile are owned by a single user, and can have multiple contributors with view or modify access.
The owner of a profile can add and remove contributors (this can also be done by the cluster administrator).

Profiles and their child Namespaces are reconciled by the [Kubeflow Profile Controller](https://github.com/kubeflow/kubeflow/tree/master/components/profile-controller) and contributors (not owners) are managed by the [Kubeflow Access Management API (KFAM)](https://github.com/kubeflow/kubeflow/tree/master/components/access-management).

## Central Dashboard

## Explore Profile in the Central Dashboard
varodrig marked this conversation as resolved.
Show resolved Hide resolved

Select the active profile with the drop-down found in the top bar of Kubeflow Central Dashboard.
Most Kubeflow components use the active profile to determine which resources to display, and what permissions to grant.
Expand Down