从零到 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 计算环境的权限
在某种操作系统上的终端界面
您也可能最终获得以下一些经验:
Docker,用于为用户构建自定义镜像
域名注册,使 Hub 可以在 https://your-domain-name.com 上访问
注意
有关 JupyterHub 所依赖的工具和服务的更详细介绍,请参阅我们关于此内容的页面。
搭建 Kubernetes#
本节介绍如何在选定的云提供商和环境中设置 Kubernetes 集群,以及如何初始化 Kubernetes 包管理器 Helm 以便与其协同工作。
搭建 JupyterHub#
本教程从第零步:您的 Kubernetes 集群开始,描述了创建完整的初始 JupyterHub 部署所需的步骤。在继续本节之前,请确保您已正确安装 Kubernetes 和 Helm。
JupyterHub 可以进行配置和自定义,以满足各种部署要求。如果您想扩展 JupyterHub、自定义其设置、增加可供用户使用的计算资源或更改身份验证服务,本指南将引导您完成这些步骤。有关常用可配置 helm chart 字段的列表,请参阅配置参考。
管理员指南#
本节提供了管理和维护 JupyterHub 预发布或生产部署的信息。它包含了管理基于云的部署的注意事项以及维护部署的技巧。
资源#
本节包含了所有帮助本项目发展至今的参考资料和资源。
社区资源#
本节为社区提供了一个空间,用于分享关于搭建、管理和维护 JupyterHub 的信息。
注意
我们认识到 Kubernetes 有多种部署选项。作为一个项目团队,我们为终端用户提供支持的资源有限,因此我们依赖社区成员分享他们关于 Kubernetes 的集体知识和 JupyterHub 的使用经验。
我们希望您能利用本节内容,分享在各种基础设施上以及针对不同用例的部署经验。这里还有一个由社区维护的列表,列出了本指南和 JupyterHub Helm Chart 的用户。
机构支持#
没有以下组织(以及支持这些组织的机构!)的大力支持,本指南和相关的 helm chart 是不可能完成的。
更新日志#
本节描述了版本之间的变更以及如何在版本之间进行升级。