零基础入门 Kubernetes 部署 JupyterHub#

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 的诞生离不开以下机构(以及支持它们的组织)的大力支持:

更新日志#

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