JupyterHub on Kubernetes部署与应用指南

原创
2018/06/28 17:16
阅读数 2.2W

JupyterHub on Kubernetes部署与应用指南

1、简介

Jupyter Notebook是用于科学数据分析的利器,JupyterHub可以在服务器环境下为多个用户托管Jupyter运行环境,JupyterLab是一个新的数据分析UI界面。

Jupyter和JupyterHub都支持conda和Anaconda运行环境管理工具。JupyterHub可以支持Kubernetes集群环境下的运行,而且现在可以通过Helm包管理工具进行部署。

2、快速安装

  • 参考配置和一些脚本工具在 github.com/openthings/kubernetes-tools/jupyter
  • 下面的helm安装方法中,helm .... -f config.yaml会出错,报缺失参数错误。
    • 直接复制Helm Chart到自己的目录,然后修改。
  • 修改proxy:secretToken:为执行 openssl rand -hex 32产生的字符串,带引号。
  • 在values.yaml文件中,搜索“storageClass”,有两处,改为"nfs"或其它的存储引擎。
  • 所有的image的tag改为具体的版本号。目前安装时自动替换占位符功能不可用。
  • 修改proxy:service: type:为 NodePort。
  • 运行安装:
    • helm install ./jupyterhub --version=v0.6 --name=jupyter --namespace=jupyter
  • 运行 kubectl --namespace=jupyter get svc proxy-public,查看端口。
    • 显示类似PORT(S)80:32600/TCP,浏览器打开 localhost:32600即可。

快速独立测试Jupyter容器镜像:

docker run --rm -p 10000:8888 -e JUPYTER_LAB_ENABLE=yes -v "$PWD":/home/jovyan/work jupyter/datascience-notebook:e5c5a7d3e52d

3、详细安装步骤

4、Jupyter参考资料

5、JupyterLab启用

JupyterLab是基于notebook的新UI,界面如下:

在JupyterHub中启用JupyterLab,步骤非常简单:

  • 在Helm 配置文件(values.yaml)加入JupyterLab的参数:
hub:
  extraEnv: JUPYTER_ENABLE_LAB: 1 
  extraConfig: 
    c.KubeSpawner.cmd = ['jupyter-labhub']
  • 修改启动时的路径为JupyterLab(“/lab”,进入经典界面设为“tree”),修改Helm配置文件:
singleuser:
  defaultUrl: "/lab"

然后,运行helm的更新程序:

helm upgrade jupyter ./jupyterhub

其中,jupyter为要更新的Helm list中的名称,./jupyterhub为当前配置文件helm chart的路径。

需要到浏览器界面stop server,然后start server,就成为新的jupyter运行环境了。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部