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

[Multi User] Integrate KFP multi user with KF 1.1 #3241

Closed
17 of 18 tasks
Bobgy opened this issue Mar 9, 2020 · 21 comments
Closed
17 of 18 tasks

[Multi User] Integrate KFP multi user with KF 1.1 #3241

Bobgy opened this issue Mar 9, 2020 · 21 comments
Assignees
Labels

Comments

@Bobgy
Copy link
Contributor

Bobgy commented Mar 9, 2020

Part of #1223 (that's the main issue tracker).

I'm using this issue as a tracker for all the efforts of merging KFP multi user related changes to upstream kubeflow repo.

/priority p0
/assign @Bobgy
/kind feature

My fork to merge kfp multi user manifests with KF 1.0: https://github.com/Bobgy/manifests/tree/kfp-multi-user-master

@nrchakradhar
Copy link

@Bobgy Though this is not strictly multi-user, #2858, this needs to be addressed since users may want to use different namespace.

@Bobgy
Copy link
Contributor Author

Bobgy commented Mar 9, 2020

@nrchakradhar Thanks for bringing this up, we have addressed it in #2665 (but we are putting together all pieces of multi user support, you cannot use it right now). This issue is meant to track efforts that need to be merged into Kubeflow, so this particular issue isn't tracked here.

@nrchakradhar
Copy link

@Bobgy Thanks for the reference.

@Bobgy Bobgy added the status/triaged Whether the issue has been explicitly triaged label Mar 13, 2020
@Jeffwan
Copy link
Member

Jeffwan commented Mar 29, 2020

@Bobgy I see code reference to multi-user but have not tested it. There're also a few issues still opening. just like to know do we have a timeline or milestone when multi-user in pipeline will be available?

@Bobgy
Copy link
Contributor Author

Bobgy commented Mar 30, 2020

Hi @Jeffwan! Please see the main issue tracker for progress: #1223.
And you may try phase 1 multi user support in #1223 (comment)
(We are working on phase 2)

@Jeffwan
Copy link
Member

Jeffwan commented Mar 30, 2020

Hi @Jeffwan! Please see the main issue tracker for progress: #1223.
And you may try phase 1 multi user support in #1223 (comment)
(We are working on phase 2)

Cool. I will have a check on phase I first and leave some feedbacks

@jlewi
Copy link
Contributor

jlewi commented May 26, 2020

@Bobgy Could you please clarify what this issue is tracking? What is the remaining work? You asked me #1223 (comment)
to take a look. What is it you want me to take a look at?

@Bobgy
Copy link
Contributor Author

Bobgy commented May 27, 2020

@jlewi This tracks remaining work to merge manifests to kubeflow manifests master. The unchecked items above are remaining. (I guess you'd want a breakdown for Enable multi user mode for Kubeflow Pipelines, I'll keep updating this when working on this.)

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 3, 2020

I'm now using https://github.com/kubeflow/pipelines/projects/5 to track efforts merging multi user mode to KF 1.1. Closes this.

@Bobgy Bobgy closed this as completed Jul 3, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 7, 2020

In fact, this issue is still clearer on the steps. Keep using this one

@Bobgy Bobgy reopened this Jul 7, 2020
@Bobgy Bobgy changed the title [Multi User] Merge changes to upstream kubeflow repo [Multi User] Integrate KFP multi user with KF 1.1 Jul 13, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 13, 2020

TODO: I also need to cherry pick a bunch of multi user mode PRs to 1.1 branch.

@jlewi
Copy link
Contributor

jlewi commented Jul 13, 2020

@Bobgy Do we have an ETA for when all of the PRs will be on the 1.1 branch?

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 13, 2020

@jlewi GoogleCloudPlatform/kubeflow-distribution#80 and kubeflow/manifests#1374 are the only ones left.
If they are merged, I can create cherry pick PRs tomorrow.

@jlewi
Copy link
Contributor

jlewi commented Jul 13, 2020

GoogleCloudPlatform/kubeflow-distribution#80 Per comment in this issue turning on istio-sidecar injection in the kubeflow namespace is a pretty big change. Do we really need to it this late in the release cycle?

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 14, 2020

@jlewi oooops, I just realized ASM 1.4 doesn't support RBAC v1alpha1: https://cloud.google.com/service-mesh/docs/archive/1.4/docs/supported-features#authorization_policy.

I'll port the istio RBAC policies to Authorization v1beta1.

EDIT: I tried in the cluster, servicerole and servicerolebinding CRDs exist in the cluster, but they don't have any real effect. Requests not satisfying these requirements also just pass through.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 14, 2020

It will be the same problem for any component that use servicerole and servicerolebindings to authorize, e.g. jupyter notebooks.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 14, 2020

It will be the same problem for any component that use servicerole and servicerolebindings to authorize, e.g. jupyter notebooks.

Hmmmm, I was wrong. I tried a notebook, when accessing it from another account without permission. I got RBAC: access denied as expected. So something is not working correctly for KFP. I'll troubleshoot it.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 15, 2020

OK, I found the culprit, it's knative's istio rule: https://github.com/kubeflow/manifests/blob/c300ee9ca30d8b606cd9713d120721f36e86b0ec/knative/knative-serving-install/base/service-role-binding.yaml#L11.

It basically allowed any network access from any user to any services in the namespace knative was deployed to.

But knative was already moved to its own namespace, so this should no longer be a problem, we can test latest version.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 15, 2020

/cc @jlewi
I found the cause, see above comment.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 21, 2020

I'll keep this open until verified on GCP platform

@Bobgy
Copy link
Contributor Author

Bobgy commented Jul 22, 2020

UPDATE: verified KFP 1.0.0 with multi user mode working properly on GCP platform.

@Bobgy Bobgy closed this as completed Jul 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants