从零到 JupyterHub with Kubernetes#

JupyterHub 允许用户通过网页与计算环境进行交互。由于大多数设备都可以访问网页浏览器,JupyterHub 可以轻松地为一组人(例如,一个班级的学生或一个分析团队)提供和标准化计算环境。

本项目将帮助您在云/本地 k8s 环境中设置自己的 JupyterHub,并利用其可扩展性来支持大量用户。感谢 Kubernetes,我们不局限于特定的云服务提供商。

注意

本项目正在积极开发中,因此信息和工具可能会发生变化。您可以成为这一变革的一部分!如果您发现任何不正确之处或有任何问题,请随时在社区Discourse 论坛上发帖,或在 Zulip 聊天中联系,或在问题页面上创建 issue。如果您有希望分享的技巧或部署经验,请参阅社区资源部分

本文档适用于 Helm chart 4.2.0 版本,该版本部署了 JupyterHub 5.3.0 版本以及在 hub/images/requirements.txt 中列出的其他组件版本。此 Helm chart 要求 Kubernetes 版本 >=1.28.0 且 Helm 版本 >=3.5。

预期收获#

本指南将帮助您在云上部署和自定义自己的 JupyterHub。在此过程中,您将获得宝贵的经验,包括:

  • 云服务提供商,如 Google Cloud、Microsoft Azure、Amazon EC2、IBM Cloud……

  • Kubernetes,用于在云上管理资源

  • Helm v3,用于配置和控制打包的 JupyterHub 安装

  • JupyterHub,用于为用户提供访问 Jupyter 计算环境的权限

  • 在某种操作系统上的终端界面

您也可能最终获得以下一些经验:

注意

有关 JupyterHub 所依赖的工具和服务的更详细介绍,请参阅我们关于此内容的页面

搭建 Kubernetes#

本节介绍如何在选定的云提供商和环境中设置 Kubernetes 集群,以及如何初始化 Kubernetes 包管理器 Helm 以便与其协同工作。

搭建 JupyterHub#

本教程从第零步:您的 Kubernetes 集群开始,描述了创建完整的初始 JupyterHub 部署所需的步骤。在继续本节之前,请确保您已正确安装 Kubernetes 和 Helm。

JupyterHub 可以进行配置和自定义,以满足各种部署要求。如果您想扩展 JupyterHub、自定义其设置、增加可供用户使用的计算资源或更改身份验证服务,本指南将引导您完成这些步骤。有关常用可配置 helm chart 字段的列表,请参阅配置参考

管理员指南#

本节提供了管理和维护 JupyterHub 预发布或生产部署的信息。它包含了管理基于云的部署的注意事项以及维护部署的技巧。

资源#

本节包含了所有帮助本项目发展至今的参考资料和资源。

社区资源#

本节为社区提供了一个空间,用于分享关于搭建、管理和维护 JupyterHub 的信息。

注意

我们认识到 Kubernetes 有多种部署选项。作为一个项目团队,我们为终端用户提供支持的资源有限,因此我们依赖社区成员分享他们关于 Kubernetes 的集体知识和 JupyterHub 的使用经验。

贡献

如果您想帮助改进本指南或 Helm chart,请查看问题页面以及贡献者指南

我们希望您能利用本节内容,分享在各种基础设施上以及针对不同用例的部署经验。这里还有一个由社区维护的列表,列出了本指南和 JupyterHub Helm Chart 的用户。

机构支持#

没有以下组织(以及支持这些组织的机构!)的大力支持,本指南和相关的 helm chart 是不可能完成的。

更新日志#

本节描述了版本之间的变更以及如何在版本之间进行升级。