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運行環境了。工具

相關文章
相關標籤/搜索