-
JupyterHub 是为多个用户提供 Jupyter Notebook 的集成服务系统,JupyterHub 下用户环境彼此隔离,无法相互共享,每个用户需要单独配置自己的 Python/Conda 环境等。
-
JupyterHub 与 Jupyter Notebook/Lab 并非包直接含关系,JupyterHub 初始安装不包含 Jupyter Notebook/Lab,二者甚至不在一台服务器上,需要各自搭建后,通过配置组合在一起。
-
JupyterHub、Jupyter Notebook/Lab 分别有自己的仓库、文档、技术栈(如:除 Python、H5 外,JupyterHub 涉及 NodeJS,JupyterLab 涉及 TypeScript)。因此,JupyterHub 与 Jupyter Notebook/Lab 的接口、主题、插件等定制开发也是分别独立的项目范畴。
-
JupyterHub 支持第三方 Oath 认证登录,需要另外开发配置。常见的包括 GitHub、GitLab、Google 等(主要针对编程群体,因此不包括 Facebook、Twitter)。
-
JupyterHub 下又分为三项目:JupyterHub、TLJH、Z2JH,每个项目都各自的文档系统、Git仓库、环境配置。每个项目的环境搭建方式大概又各可分为 3 种方式:Conda/Pip 安装、Docker 安装、Dev 环境安装。对应到开发,要根据具体需求确定一个方向,搭建配置指定的环境项目。
-
JupyterHub、TLJH、Z2JH 的应用场景各有不同:
-
JupyterHub:原始系统 – 环境搭建配置方式灵活、可控性强,相应出错几率相对较大
-
TLJH(The Littlest JupyterHub):发行版本 – 把 JupyterHub 搭建在一台服务器上,支持 1 ~ 50 个用户(github 描述为 1 ~ 50,文档描述为 1 ~ 100 )
-
Z2JH(Zero to JupyterHub):发行版本 – 针对 100 以上用户量,安全稳定性要求高,计划应用 Docker 容器,需要搭建 Kubernetes 集群,对运维水平要求高
-
-
综上,将 Jupyter 系列产品关系总结如下图:
-
暂定搭建环境方案(根据需求调整):
-
线上环境:The Littlest JupyterHub + JupyterLab
-
开发环境:JupyterHub + JupyterLab
-
-
Tips: 刚刚接触 Jupyter 系列,英文水平有限,如有理解错误欢迎指正