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