Kubernetes的JupyterHub启动器
项目描述
kubespawner (jupyterhub-kubespawner @ PyPI)
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
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
哈希值 for jupyterhub_kubespawner-6.2.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7a7e9fa4ef9a5f35cadfb0c369ed345b816c04bb2c3228c61762e13c09670cd |
|
MD5 | 668a8d86e8800ef36f1b69872986ad42 |
|
BLAKE2b-256 | 4ae064f86849348ada3ba94652e17ddd0852342e920a53cde6486110ef310b95 |