跳转到主要内容

Kubernetes的JupyterHub启动器

项目描述

kubespawner (jupyterhub-kubespawner @ PyPI)

Latest PyPI version Latest conda-forge version Documentation status GitHub Workflow Status Code coverage

kubespawner(也称为 JupyterHub Kubernetes Spawner)允许 JupyterHub 在 Kubernetes 集群上启动单用户笔记本服务器。

有关功能和用法,请参阅 KubeSpawner 文档。特别是,这里有 所有启动器选项的列表

功能

Kubernetes 是一种开源系统,用于自动化容器化应用程序的部署、扩展和管理。如果您想运行需要跨多个节点扩展(任何有超过 ~50 个同时用户的情况)的 JupyterHub 设置,Kubernetes 是一种非常好的方式。功能包括

  • 轻松且弹性地以 2 到数千个节点之间的任何数量运行,使用相同的强大抽象集。只需添加或删除节点即可按需扩展或缩减。

  • 轻松在 Kubernetes 中运行 JupyterHub 本身。这允许您仅使用 Kubernetes 就可以管理多个 JupyterHub 部署,而无需额外的 Ansible / Puppet / Bash 脚本层。这也为 hub 进程本身提供了简单的集成监控和故障转移。

  • 在同一 kubernetes 集群中启动多个 hub,支持 命名空间。您可以限制每个命名空间可以使用的资源量,从而有效地限制单个 JupyterHub(及其用户)可以使用的资源量。这允许组织通过仅使用一个 kubernetes 集群轻松维护多个 JupyterHub,从而实现轻松维护和高资源利用率。

  • 为单用户笔记本可以使用的资源量(CPU / RAM)提供保证和限制。Kubernetes 提供了从启动器中使用的全面 资源控制

  • 将各种类型的 持久卷 挂载到单用户笔记本的容器上。

  • 通过灵活的 Pod 安全策略 控制各种安全参数(例如 userid/groupid、SELinux 等)。

  • 在多个云(或您的自己的机器)中轻松运行。有助于避免供应商锁定。您甚至可以将集群分布到 多个云中

总的来说,Kubernetes 提供了大量的深思熟虑的、有用的功能 - 并且您可以与该启动器一起使用所有这些功能。

要求

JupyterHub

需要 JupyterHub 4.0+

Kubernetes

从 Kubernetes v1.24+ 开始,所有内容都应该可以正常工作。

Kube DNS 扩展插件 不是强制性的 - 启动器使用基于 环境变量 的发现。您的 kubernetes 集群需要配置为支持您想要使用的卷类型。

如果您是初学者并且想使用 kubernetes 集群进行实验,那么 Google 容器引擎 可能是最佳选择。对于 AWS/Azure,kops 可能是最佳选择。

获取帮助

我们鼓励您在 Jupyter 邮件列表 上提出问题。您还可以参与开发讨论或在 Gitter 上获取实时帮助。

许可

我们采用共享著作权模式,允许所有贡献者保留其贡献的著作权。

所有代码均根据修订后的BSD许可证进行许可。

资源

JupyterHub和kubespawner

Jupyter

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

jupyterhub_kubespawner-6.2.0.tar.gz (109.3 kB 查看哈希值)

上传时间 源代码

构建分发

jupyterhub_kubespawner-6.2.0-py3-none-any.whl (66.1 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面