jupyterhub/jupyterhub

Multi-user server for Jupyter notebooks

解決的問題

JupyterHub 是一個多用戶伺服器,允許多個用戶擁有各自獨立的 Jupyter notebook 伺服器。它解決了為學生群體、企業數據科學團隊或研究專案提供集中管理環境的問題,讓每個用戶無需手動設定自己的伺服器即可存取互動式運算環境。

工作原理

JupyterHub 由三個主要組件組成:

  1. The Hub:一個中央 Tornado 程序,負責處理身份驗證並按需啟動單用戶伺服器。
  2. The Proxy:一個可配置的 HTTP 代理 (node-http-proxy),將請求轉發到 Hub 或相應的單用戶伺服器。
  3. Single-user Servers:每個用戶獨立的 Python/Jupyter/Tornado 實例的 Jupyter notebook 伺服器。

當用戶登入時,Hub 會配置代理,將流量路由到該用戶特定的筆記本伺服器。

適用對象

專為需要在共享基礎設施上為大量用戶提供互動式運算環境的組織、教育工作者和研究小組設計。

亮點

  • 靈活的身份驗證:支援包括 PAM、OAuth、LDAP 和 Kerberos 在內的各種身份驗證器。
  • 可擴展的啟動:可以透過 Docker、Kubernetes、systemd 和 Hadoop 叢集 (YARN) 等 spawner 在各種環境中啟動伺服器。
  • 管理控制:提供用於管理 Hub 及其用戶的 REST API。
  • Docker 支援:提供基礎 Docker 鏡像以實現簡化部署。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch