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

Investigate Kale alongside the Generic Snapshot support #331

Closed
sylus opened this issue Jan 2, 2021 · 3 comments
Closed

Investigate Kale alongside the Generic Snapshot support #331

sylus opened this issue Jan 2, 2021 · 3 comments
Assignees
Labels
area/engineering Requires attention from engineering: focus on foundational components or platform DevOps area/ux Requires attention from UX: focus on user interaction or UI design kind/feature New feature or request size/M 2-3 days triage/wont-fix This will not be worked on

Comments

@sylus
Copy link
Member

sylus commented Jan 2, 2021

There is a P.R. I am keen to test out that will allow Kale to snapshot our Notebook volumes:

kubeflow-kale/kale#217

Basically if taking snapshots is possible with the current CSI driver, the user will be able to select "Use this notebook's volumes" or "Clone Notebook Volume" and will create a snapshot of the notebook's PVC(s).

What is neat is that we run Velero in our cluster which does support snapshots with its CSI Driver:

https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/csi-snapshots.md

What this means is with Minimal effort we could have this working ^_^

Even easier though is we can use the Azure CSI Driver which has snapshot func as well:

https://github.com/kubernetes-sigs/azurefile-csi-driver/tree/master/deploy/example/snapshot

@sylus sylus self-assigned this Jan 2, 2021
@sylus sylus added area/engineering Requires attention from engineering: focus on foundational components or platform DevOps area/ux Requires attention from UX: focus on user interaction or UI design kind/feature New feature or request size/M 2-3 days labels Jan 2, 2021
@sylus
Copy link
Member Author

sylus commented Jan 2, 2021

Looks like will need Velero to fully handle this for the moment:

vmware-tanzu/velero#3151

@sylus
Copy link
Member Author

sylus commented Jan 6, 2021

We will need to enable the CSI support but is just a flag to our Helm chart.

https://velero.io/blog/csi-integration/

@davidspek
Copy link

Hi @sylus, thanks for taking interest in my PR. Fun to get in touch with fellow Canadians. So as you can see the PR is a bit stale as I have my time split between many things and this is my first programming work. If you like we can discuss it further on Slack and I can get you up to speed where I left off.

Creating a snapshot of a notebook works, along with restoring a notebook from a snapshot. Other than the obvious things such as UUIDs for the snapshot names and such, the functional part that is missing is in the step where Kale generates the Pipeline code. Kale currently writes an annotation with a rok/url, and Rok then scans for this and creates the required PVC. Kale would need to be changed so that when using the CSI driver, it writes a data_source so that KFP creates a PVC from the given snapshot. https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.dsl.html#kfp.dsl.VolumeOp

What might also interest you is the upcoming Volume Manager UI that Arrikto is going to open source hopefully next week. https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwj4narnnrDuAhXJy6QKHe6nAqsQFjAAegQIBRAC&url=https%3A%2F%2Fjournal.arrikto.com%2Fdemocratizing-the-use-of-pvcs-with-the-introduction-of-a-volume-manager-ui-a5bf616570d3&usg=AOvVaw0AwvCAMshONsrCtBeuj1l8

I plan to reuse some code from the Kale PR to add snapshot creation/management and notebook restoration to the Volume Manager UI.

@sylus sylus added the triage/wont-fix This will not be worked on label Nov 22, 2021
@sylus sylus closed this as completed Nov 22, 2021
@sylus sylus added the area/cns label Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/engineering Requires attention from engineering: focus on foundational components or platform DevOps area/ux Requires attention from UX: focus on user interaction or UI design kind/feature New feature or request size/M 2-3 days triage/wont-fix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants