从零开始使用 Kubernetes 部署 JupyterHub#

JupyterHub 允许用户通过网页与计算环境进行交互。由于大多数设备都可以访问网页浏览器,因此 JupyterHub 使得为一群人(例如,一组学生或分析团队)提供和标准化计算环境变得容易。

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

注意

本项目正在积极开发中,因此信息和工具可能会发生变化。您可以参与其中!如果您发现任何错误或有任何问题,请随时在社区 Discourse 论坛 上发帖,或在 Gitter 聊天 中联系我们,或在 问题页面 上创建问题。如果您有想分享的技巧或部署,请参阅 社区资源部分

本文档适用于 Helm 图表版本 3.3.7-0.dev.git.71.h71ecf69,该版本部署了 JupyterHub 版本 4.1.5 和在 hub/images/requirements.txt 中版本化的其他组件。Helm 图表需要 Kubernetes 版本 >=1.23.0 和 Helm >=3.5。

预期内容#

本指南将帮助您在云上部署和定制自己的 JupyterHub。在此过程中,您将获得以下方面的宝贵经验:

  • 云提供商,例如 Google Cloud、Microsoft Azure、Amazon EC2、IBM Cloud 等。

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

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

  • JupyterHub,为用户提供访问 Jupyter 计算环境

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

您也可能会获得以下方面的经验:

注意

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

设置 Kubernetes#

本节介绍如何在选定的云提供商和环境中设置 Kubernetes 集群,以及如何初始化 Helm(Kubernetes 包管理器)以与之配合使用。

设置 JupyterHub#

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

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

管理员指南#

本节提供有关管理和维护 JupyterHub 的暂存或生产部署的信息。它包含有关管理基于云的部署的注意事项,以及维护部署的技巧。

资源#

本节包含所有帮助使本项目成为现实的参考资料和资源。

社区资源#

本节为社区提供了一个空间,用于提供有关设置、管理和维护 JupyterHub 的信息。

注意

我们认识到 Kubernetes 有许多部署选项。作为一个资源有限的项目团队,无法提供最终用户支持,我们依靠社区成员分享他们集体的 Kubernetes 知识和 JupyterHub 经验。

贡献

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

我们希望您将本节用于分享各种基础设施和不同用例的部署。还有一个 社区维护的列表,其中列出了本指南和 JupyterHub Helm 图表的使用者。

机构支持#

本指南和相关的 helm 图表如果没有以下组织(以及支持它们的组织!)的惊人机构支持,将不可能实现。

变更日志#

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