In our university, we're working on a cluster where potentially 70-80 users might need to use Jupyter Notebook simultaneously. We are currently utilizing Bright Cluster Manager (BCM) and not OOD. We've found that JupyterHub seems to align with our needs, as it could potentially help us bypass the need for users to manage port forwarding (as detailed in this guide).
Our initial thought is to have a separate login node from the head node, with the head node running the BCM and the login node managing SSH for end users and slurmctld. However, we're not clear on how to best enable users to access the Jupyter Notebook web interface in this scenario, especially if it's running in containers on the compute nodes. We are aware that some form of reverse proxy or port forwarding on the head node might be needed to route connections to the relevant GPU node.
The Bright Cluster Manager 9.2 User Manual provides examples of using Jupyter Notebooks but doesn't delve into the specifics of user access to their Jupyter Notebook instances. An additional tool we've found, the Jupyter Dev Server developed by Bright Computing, might offer a solution, but we're not certain if it is designed for our needs or if it only allows IDEs to access remote instances of Jupyter. Adding to the confusion, the Bright Cluster Manager 8.0 Machine Learning Manual discusses Jupyter and JupyterHub, but the BCM 9.2 Machine Learning Manual does not. Have these guides been consolidated elsewhere? We also have a few more questions:
Is it possible to run JupyterHub on a Singularity cluster? The install guide seems to only mention Kubernetes, and if it is indeed possible, could anyone share some resources on how to achieve this?
Does the Jupyter Dev Server provide any utility for our users to access their Jupyter Notebook instances?
We've come across Open OnDemand and are wondering if it could simplify access to the Jupyter Notebook environment (I believe is contains JupyterLab). If so, is it possible to install and configure it alongside the Bright Cluster Manager?
I know these are a lot of questions, but any answers are very much appreciated. Thanks in advance for your time!
Different tries, researches, and approaches are included in the description.