Kubernetes的Jupyterhub产卵器
jupyterhub-kubespawner的Python项目详细描述
库贝斯帕纳(Jupyterhub库贝斯帕纳)
kubespowner(也称为jupyterhub kubernetes产卵器)使jupyterhub能够产卵 Kubernetes上的单用户笔记本服务器 集群。
您可以读取所有生成程序选项的列表available on ReadTheDocs。
功能
kubernetes是一个开源系统,用于自动化部署、扩展和 集装箱应用的管理。如果你想经营Jupyterhub 需要跨多个节点扩展的设置(任何大于50的节点 同步用户),kubernetes是一个很好的方法。功能包括:
使用 同一组强大的抽象。按要求上下缩放 添加或删除节点。
在Kubernetes内轻松运行Jupyterhub本身。这允许您管理 许多jupyterhub部署只使用kubernetes,而不需要额外的 Ansible/Puppet/Bash脚本层。这也提供了简单的集成 对集线器进程本身进行监视和故障转移。
在同一个kubernetes集群中生成多个集线器,支持 namespaces。你可以限制 每个命名空间可以使用的资源量,有效地限制了 一个jupyterhub(及其用户)可以使用的资源。这允许 组织只需一个jupyterhub就可以轻松维护多个jupyterhub Kubernetes群集,便于维护和高资源 利用。
提供资源量(CPU/RAM)的保证和限制 单用户笔记本可以使用。kubernetes有全面的resource control可以 从产卵器中使用。
装入各种类型的persistent volumes 在单用户笔记本的容器上。
控制各种安全参数(如userid/groupid、selinux等) 通过灵活的Pod Security Policies。
在多个云中(或在您自己的计算机上)轻松运行。有助于避免供应商 锁定。你甚至可以将集群分散到 multiple clouds at the same time。
一般来说,kubernetes提供了大量深思熟虑、有用的特性- 你可以把它们和这个产卵器一起使用。
要求
库伯内特斯
一切都应该从Kubernetes v1.6+开始。
Kube DNS addon 不是严格要求-产卵者使用 environment variable 而是基于发现。您的kubernetes集群需要配置为 支持要使用的卷类型。
如果你刚开始想要一个kubernetes集群, Google Container Engine是 可能是最好的选择。对于aws/azure, kops可能是一条路。
获取帮助
我们鼓励您就 Jupyter mailing list。 您还可以参与开发讨论或获取有关 Gitter。
许可证
我们使用共享版权模型,使所有贡献者能够维护 他们作品的版权。
所有代码都是根据修订后的BSD许可的条款授权的。