最近新增了一台显卡性能强劲的服务器,但由于训练任务不多,还处理闲置状态,跟公司领导商量了一下后决定在上面部署一个jupyter notebook,以便开放机器算力让更多同事可以把这台计算机利用起来。
对比了一下jupyter生态圈的几个产品后,我们决定用jupyterhub+ldap的方式对待部署,以便达到以下效果:
- 用户拥有个人notebook服务及文件空间(虚拟化);
- 直接利用AD账号登录。
Jupyterhub简介
JupyterHub是由Jupyter团队推出的一个支持多用户notebook的服务器。JupyterHub本身具有权限管理、配置管理、启动Notebook、反向代理等功能。官网的示意图很好地阐述了JupyterHub的功能:
其中需要特别注意的是图中的spawners,它所表达的意思是,Hub会为每一个登录的用户Spawn(直译为繁衍,实际上是启动一个新的实例)一个notebook,而后对于访用户的所有操作,Hub都会把它路由到这个notebook实例。这就是JupyterHub实现用户工作区虚拟化的方式。