Jupyterhub with Kubernetes on local cluster, custom hub

207 views
Skip to first unread message

dgu...@umn.edu

unread,
Mar 19, 2018, 12:19:06 PM3/19/18
to Project Jupyter
Greetings,

I am new to the Kubernetes world, so please forgive my ignorance.  I am helping with a project that is using Jupyterhub to spawn notebooks for data analysis, and the project will likely acquire some hardware in the form of a few nodes.  I am looking into adapting our Jupyterhub setup to use kubespawner in preparation for this.

I have been trying some tests on a small Kubernetes cluster I setup across two VMs.  I've been attempting to follow the Zero to Jupyterhub documentation, to get a vanilla test instance working.

Currently, when I try to follow Zero to Jupyterhub, and deploy a test Jupyterhub + kubespawner setup using helm, I appear to get a volume mount error when it tries to spawn the hub pod.  The VMs in my test kubernetes cluster have only local storage.  Does there need to be some shared storage in order for the hub to function properly?  I tried to turn off persistent user storage by setting singleuser: storagetype: none in the config.yaml file.  I think I am somewhat misunderstanding the storage setup, and would appreciate any advice.

In the future, we will need to replace the hub with a custom hub, which will perform certain custom actions on user login.  Is there a list criteria (other than using kubespawner) that a hub must satisfy in order to work correctly with the Zero to Jupyterhub Kubernetes framework?

Thanks much,
Andrew Gustafson

Carol Willing

unread,
Mar 19, 2018, 1:51:32 PM3/19/18
to jup...@googlegroups.com
Hi Andrew,

Thanks for asking for information. (P.S. I think we met a couple of years ago with Michael Milligan at MSI.)

Please feel free to open issues on Zero to JupyterHub re: configuration since your cluster seems a bit more complex than a vanilla cloud cluster (if that even exists - wink). Also, we are available on the Gitter channel for JupyterHub as well. Opening an issue may be the best bet since you will have more folks able to assist.

Hope all is well, and I hope this helps.

Carol Willing

Research Software Engineer
Project Jupyter at Cal Poly State University, San Luis Obispo
@willingc on GitHub and @willingcarol on Twitter

Signature Strengths
Empathy - Relator - Ideation - Strategic - Learner


On Mar 19, 2018, at 9:19 AM, dgu...@umn.edu wrote:

Andrew Gustafson

Konstantin Markov

unread,
Mar 20, 2018, 4:49:47 AM3/20/18
to Project Jupyter
By default, singleuser pods require dynamic storage, so you need to set a dynamic storage provisioning in your k8s cluster. 
It sounds complicated, but actually it's not. Just consult with the k8s docs and see some examples. If you set singleuser: storagetype:
to static, then you need to create in advance a PV and PVC and set the PVC name in singleuser: storage: static: pvcname:
Reply all
Reply to author
Forward
0 new messages