-
Notifications
You must be signed in to change notification settings - Fork 67
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
Discuss deploying hub infrastructure to Jetstream #188
Comments
I suggest to wait for Jetstream 2 to be operational after Summer 2021 and reconsider it at that point. I agree that deploying and maintaining a Kubernetes on Jetstream is a significant amount of work compared to the commercial cloud. So if there is a client specifically asking for it, you could rely on deploying via Kubespray (but not having a reliable autoscaler, I had to hack my own which you don't want to use in a large scale deployment), otherwise I would wait for Jetstream 2. I'll be a early user of Jetstream 2 and will test deploying Kubernetes + JupyterHub. |
Going to close this, as we won't be doing anything with this just yet. Please let us know @zonca when Jetstream 2 comes online? Would love to get involved then :) |
Jetstream 2 is now operational and some potential grant opportunties indicate that using this resource should be considered I am reopening this issue to encourage to us to revisit if the k8s support is sufficiently developed that we can reasonable expect to deploy our JupyterHub deployments and what level of effort is required. |
Or a I would reopen this issue -- but maybe that's not an option in GitHub? (or is it a permissions issue for me?) |
The Jetstream 2 team plans to deploy Openstack Magnum in the next months, at that point there will be an easier way to deploy Kubernetes. Currently we need to use Once Kubernetes is deployed, deploying JupyterHub is straightforward, it basically just needs to configure ingress, and add the service to provide HTTPS: https://www.zonca.dev/posts/2022-03-31-jetstream2_jupyterhub The configuration files are: https://github.com/zonca/jupyterhub-deploy-kubernetes-jetstream/blob/master/config_standard_storage.yaml |
Thanks for the update, @zonca! I think waiting for Magnum makes sense for us! |
The Jetstream 2 team has just made Octavia available for load balancing. |
@zonca any idea where they're at now? |
they decided to not provide Magnum. Currently the best way to deploy Kubernetes is via Kubespray using the tutorial I developed for the official Jetstream docs: I also have funding from Jetstream and can provide help in simplifying/improving the tutorial. @julienchastang and @ana-v-espinoza have the most experience deploying this in production and can give some feedback. |
@zonca thanks for the update on this long-lived issue. Still very interested in how this evolves. |
Thank you for the detailed response here, @zonca! |
Hey all, I would be glad to provide feedback or assistance. If there's anything in particular you'd like to know please ask away! -- Ana V. E. |
With NSF GEO OSE Project Pythia grant, this task is being considered again. Some recent notes based on conversations last week with people involved in Jetstream2 :
Email from Julian Pistorius
@jmunroe's response
|
I think we are ready to schedule a technical sync meeting with some folks from Jetstream2 and some folks from 2i2c to discuss issues related to deploying hubs on Jetstream2. My understanding it the primary blocker, from the 2i2c-side, is the need for a managed Kubernetes layer on Jetstream2. Email from Julian Pistorius received today:
@jmunroe's response:
@damianavila : I've added this our cross-functional initiative board so we can get this discussion and a possible meeting appropriately prioritized. |
A meeting including representation from Jetstream2 (Indiana University) and 2i2c occurred on 2024-03-04. The purpose of the meeting was to discuss what were essential "must-haves" in a managed kubernetes layer on Jetstream2 to be allow deploying of a JupyterHub/BinderHub in the sense of following the Zero-to-Jupyterhub deployment guide. Yuvi summarized the that essential components of a managed kubernetes layer needed for JupyterHub are
Currently, the best documentation available for deploying Kubernetes and JupyterHub on Jetstream2 are the blog posts by Andrea Zonca. Julian Pistorius and Jeremy Fisher reported that improving kubernetes support and having recommended solution for JupyterHub on JS2 is on their road map for 2024. The meeting ended with the suggestion that new "blog post" is the right way to iterate on a solution and then have that solution upstreamed into Zero-to-JupyterHub. I've created this issue an upstream place to continue this discussion and work: Additional references:
Video recording of 2024-03-04 meeting: https://drive.google.com/file/d/1CwAy1vMnagDwTy-yYS3fa2myc2x3iYUV/view?usp=drive_link |
Thank you @jmunroe! Relevant Jetstream2 issues:
|
/cc @cboettig, who is also deeply invested in using Jetstream for this kinda stuff. |
Background
Many in the research community may have allotments on XSEDE Jetstream, which is US-based national infrastructure for research computing. There are theoretically ways to get a Kubernetes cluster running "quickly" in XSEDE via Magnum, as well as using kubespray.
I wonder if it would be useful for us to explore whether 2i2c can deploy to k8s on Jetstream in a cost-effective manner. I imagine this to be similar to how CloudBank works - we ask others to give us the keys to their Jetstream allotments, and can deploy to their projects without worrying about any of the cloud costs ourselves.
However, as we have learned with many cloud providers, deploying on K8S on one provider can be much more work than deploying on another. I suspect this will only be sustainable for us if there is minimal-to-zero difference in human cost to 2i2c in deploying to Jetstream, or if we can reliably generate more revenue from Jetstream customers vs. commercial cloud customers.
Questions to answer
perhaps either @aculich or @zonca could provide some thoughts here?
The text was updated successfully, but these errors were encountered: