JupyterHub on Kubernetes部署与应用指南

JupyterHub on Kubernetes部署与应用指南

一、简介

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

Jupyter和JupyterHub都支持conda和Anaconda运行环境管理工具。JupyterHub能够支持Kubernetes集群环境下的运行,并且如今能够经过Helm包管理工具进行部署。python

二、快速安装

  • 参考配置和一些脚本工具在 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容器镜像:git

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

三、详细安装步骤

四、Jupyter参考资料

五、JupyterLab启用

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

在JupyterHub中启用JupyterLab,步骤很是简单:docker

  • 在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运行环境了。工具

相关文章
相关标签/搜索