使用Ansible生成JupyterHub单用户笔记本服务器

ansiblespawner的Python项目详细描述


遮阳棚

GitHub Workflowcodecov

使用Ansible生成JupyterHub单用户笔记本服务器。在

这个spawner运行Ansible剧本来启动、管理和停止JupyterHub单用户服务器。 这意味着可以使用任何Ansible模块来编排单用户服务器,包括Docker and many public/private clouds,以及社区支持的其他基础设施平台。 您可以为每个用户创建多个存储卷,或者在其他容器/vm上提供附加服务。在

先决条件

需要Python3.6或更高版本和JupyterHub 1.0.0或更高版本。在

安装

配置

示例jupyterhub_config.py生成程序配置。在

ansible_path = "/path/to/"
c.JupyterHub.spawner_class = "ansible"
c.AnsibleSpawner.inventory = ansible_path + "inventory.yml.j2"
c.AnsibleSpawner.create_playbook = ansible_path + "create.yml"
c.AnsibleSpawner.update_playbook = ansible_path + "update.yml"
c.AnsibleSpawner.poll_playbook = ansible_path + "poll.yml"
c.AnsibleSpawner.destroy_playbook = ansible_path + "destroy.yml"
c.AnsibleSpawner.playbook_vars = {
    "container_image": "docker.io/jupyter/base-notebook",
    "ansible_python_interpreter": "python3",
}
c.AnsibleSpawner.start_timeout = 600
c.JupyterHub.hub_connect_ip = "10.0.0.1"

请参阅^{}下的示例剧本

发展

Pytest用于运行需要Docker和{a7}的自动测试。 选择这些平台是因为它们是自包含的,可以安装在Travis中,而使用公共云平台进行测试需要安全访问凭据。在

如果只有其中一个,则可以通过指定标记来限制测试。 例如,要禁用Docker测试:

^{pr2}$

要查看测试覆盖率,请使用--cov=ansiblespawner --cov-report=html运行pytest,然后打开htmlcov/index.html。在

setuptools-scm用于管理版本。 只需创建一个git标记。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我们不能将ArrayList<Integer>传递给具有(Integer…)的方法参数   java Spring RestTemplate映射JSON对映射的响应引发不匹配的PutException   在系统中找到java Selenium元素,但在Jenkins中未找到   java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序   数组如何在Java数据结构中同时存储数字和相应的单词?   为什么“+”运算符未定义?JAVA   java如何在游戏中添加高分系统?   java在球门碰撞中区分球和球员   java如何使用SpringSecurity4.0.1使用Auth令牌实现Rest完整Web服务。释放   java如何解决这个错误:Android资源链接失败?   java多线程文件处理和数据库批插入   导致Tomcat失败的java无用块线程   java主线程做了太多的工作,尽管我使用了异步线程(laggy UI)   在Java FX 2.0中滚动锚定节点时,锚定始终可见?   java使用EJB3中的客户机jar和设计模式