-
Notifications
You must be signed in to change notification settings - Fork 21
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
Kubeflow Notebooks 2.0 (Kubeflow Workspaces) #85
Comments
@kubeflow/wg-notebooks-leads I would appreciate any feedback or ideas on this proposal. |
@kimwnasptd we (that is, @juliusvonkohout, @tzstoyanov, and me) discussed this in the NB meeting today and are thinking that we can target this for Kubeflow 1.9. I would love to get your general feedback on this proposal, and if you think it looks ok, then we can discuss some specifics and get a finalized design doc. I think the general approach would be that we keep "kubeflow notebooks" as a "deprecated" component for 1.9, and add a new component called "kubeflow workspaces", which will have:
|
@thesuperzapper @juliusvonkohout @tzstoyanov I'm good with the way of implementing this as a new CRD, and web app since this will be the least intrusive implementation. Users will be able to pick and choose which one they'll want, until we are fully confident on using Workspaces by default. What I'd like to confirm before committing to this effort would be what are the criteria for for considering this as the default? |
Thanks for this new changes. Looks good. |
Calling anyone who wants to help move this feature forward! Please reply if you are willing/able to help with any of the following areas:
Once we have a few people willing to help, we can organize a specific call to flesh out a doc with:
@mishraprafful and @guohaoyu110 mentioned that they might be interested in contributing to this, also, there are some others who might be like @punkerpunker @helloericsf @wjhhuizi @wadhah101 |
I am interested in this part: Backend (Golang - Kubebuilder) (Istio) |
I am interested to take up any of these following these areas:
|
I'm happy to collaborate on creating the backend+docs (workspace controller) for this new proposal |
I am happy to contribute to the documentation if you guys need help with that. |
Hey all, now that Kubeflow 1.8 is out, we are going to start seriously working on Kubeflow Notebooks 2.0! The first step will be to organize and regular meetings with the people who want to contribute and/or give feedback. I think the first few meetings will be to finalize the design and requirements. Then next year, we can split everything down into tasks and assign them to specific people, so the meeting just becomes a check-in. Join the next community call (12 December 2023 @ 8:00am PT) so we can organize the first few meetings.Once we have organized the meeting we'll send it out on the Kubeflow-discuss mailing list. Also please join the Kubeflow slack and the
|
For those wanting to help with Kubeflow Notebooks 2.0, please see the previous comment: Please try and get to the next kubeflow community call, so we can organize a meeting time. Also please join the kubeflow slack (especially if you can't attend the community call), and make yourself known on the @SachinVarghese |
@thesuperzapper I am more than happy to be part of the initiative. I will try my best to attend the community call tonight. |
@thesuperzapper I have a high-level observation on the terminology: why did you choose the name "Workspace"? I think the proposed rename to "Workbench" was well received and agreed upon here: The term "workspace" is generally used to refer to a project or a logical space that contains resources and user data. In Kubeflow, I believe the closest thing to a workspace we have is the namespace. |
I find this proposal very bad, since you are removing options that user have before. Now they will be limited to configurations that were created by admins instead of having the ability to create the thing that they need. |
Hey all, Please attend the Notebooks Working Group Meeting (Thursday, 18 January, 2024 @ 8:00am PT) if you want to help with Kubeflow Notebooks 2.0! This will be the first meeting, and our goal will be to start an architecture doc and discuss ideas. I think the overall steps to get Notebooks 2.0 shipped are:
@SachinVarghese |
Hey all, We have started writing up the design document for Kubeflow Notebooks 2.0. The next meeting is PS: we will use the Notebooks WG meeting, to get the invite, either join kubeflow-discuss (if you use Google Calendar) or manually add the "Kubeflow Community Calendar" to yours |
@thesuperzapper Thursday 25th January @ 8 AM PT is the manifests wg meeting. are you sure you do not mean Febuary 1 ? |
Hi guys,
It would be a public holiday/long weekend in Australia (Australia Day) and
India (Republic Day). Can we do it next week?
Cheers,
Vikas
…On Fri, 19 Jan 2024, 9:15 pm Julius von Kohout, ***@***.***> wrote:
@thesuperzapper <https://github.com/thesuperzapper> Thursday 25th January
@ 8 AM PT is the manifests wg meeting. are you sure you do not mean Febuary
1 ?
—
Reply to this email directly, view it on GitHub
<#85>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AVSEDXX44LNCL4YOSTSREFDYPJBT5AVCNFSM6AAAAAAYY6GY72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQGEZDINJZGM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@juliusvonkohout I did not see the Manifests WG meeting at that time! Currently, the Notebooks WG Meeting only runs every two weeks, we need to make it weekly while we work on Kubeflow Notebooks 2.0. I think we can add a new bi-weekly 4:00PM PT meeting starting next week, which would be aimed at US + APAC attendees (but impossible for EU attendees). It gives everyone a chance to attend and does not overlap with the existing Manifests WG meeting. I have made a PR that will update the community calendar to reflect this: |
@WYGIN, for the front end, we have a number of people more familiar with React who are planning to contribute, so unless that changes, we probably will go with React. It's still not clear which is going to be better (Go or Python) for the back-end of the front-end (not the controller, which will be in Go + Kubebuilder). . What we choose will largely depend on who's available to work on it. However, because it's much easier to interact with Kubernetes via Go, and Go is a lot more scalable, I do have a slight preference for Go, if both options have contributors available. |
but i think as discussed in the meetings and documents something additional like maxSeconds: 2*86400 or so is useful in a lot of enterprise environments where we want to prevent Workspaces being abused for long-running jobs and terminate them independent of the activity after 48 hours or so. |
Just tagging @apo-ger based on the discussion in kubeflow/kubeflow#6927 (comment), we might consider adding a third activity probe based on "istio metrics" (e.g. the last time the Pod got an HTTP request). Note, this will not be in the initial release of Notebooks 2.0 (unless you want to contribute it @apo-ger), but might be in a future one, once we agree on the implementation details. |
Hi, this is kaushik |
hlo team |
@krishnakaushik195 we are currently developing Notebooks 2.0 in the Please be aware, it's NOT ready for usage yet (we are still actively developing it). If you want to help, you should attend the Notebooks Working Group (WG) meetings know what we are actively working on: Get invited to the Notebooks WG meeting (on Google Calander) by joining the |
Yeah sir got it |
/transfer notebooks |
@thesuperzapper: The label(s) In response to this:
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. |
Hi all, is there a way in the design currently in the new kind: WorkSpaceKind or whatever to define common labels for pods centrally? podSpec.metadata.labels .... added for all pods ever spawned? See my request at kubeflow/community#800 |
@shalberd yes, it's possible to define common labels/annotations for all pods of a WorkspaceKind in Notebooks 2.0. This is achieved by setting the following fields: apiVersion: kubeflow.org/v1beta1
kind: WorkspaceKind
metadata:
name: jupyterlab
spec:
...
podTemplate:
## metadata for Workspace Pods (MUTABLE)
##
podMetadata:
labels:
my-workspace-kind-label: "my-value"
annotations:
my-workspace-kind-annotation: "my-value"
... |
/kind feature
Here is my proposal for Kubeflow Notebooks 2.0, which can be called "Kubeflow Workspaces".
Frequently Asked Questions
Motivation
The main idea has always been to make the Notebook CRD not just a wrapper around PodSpec, with the goal of abstracting away the Kubernetes resources from end users, while also giving cluster admins the ability to define a set of "templates" that end users can choose from.
The main benefits of this approach are:
(we can also make the Spawner UI display a warning that the Workspace needs to be restarted to get the new config)
Implementation
For more detailed information about the design, please see:
New Components
New CRDs
The high-level overview is to split the Notebook CRD into these two CRDs:
Workspace
(namespaced resource)kubectl
WorkspaceKind
(cluster resource)but in the future, we could support other types of templates (e.g. "helmTemplate")
The text was updated successfully, but these errors were encountered: