跳转到主要内容

Fabric Jupyter Notebook容器设置

项目描述

jupyternb-setup

负责为FABRIC用户设置Jupyter Hub容器的软件。

概述

此软件包在JH容器上安装启动脚本,并按以下方式配置容器:注意:在/home/fabric/work内部创建的所有文件/目录在容器重启后都会持续存在。

令牌:.tokens.json

使用CI LOGON刷新令牌环境变量创建令牌文件。然后,该文件由Fablib用于从凭据管理器获取令牌。如果文件不存在,则创建该文件。

{
  "refresh_token": "<refresh_token>", 
  "created_at": "2022-12-01 21:34:56"
}

配置目录:fabric_config

  • 如果不存在,则在/home/fabric/work位置创建fabric_config目录。
$ ls -ltr fabric_config
total 20
-rw-------. 1 fabric users  650 Dec  1 21:48 fabric_rc
-rw-------. 1 fabric users  363 Dec  1 21:48 ssh_config
-rw-------. 1 fabric users    0 Dec  1 21:48 requirements.txt
-rw-------. 1 fabric users   68 Dec  1 21:48 fabric_config.json
-rw-------. 1 fabric users 2575 Dec  1 21:48 slice_key
-rw-r--r--. 1 fabric users  569 Dec  1 21:48 slice_key.pub

FABRIC环境:fabric_rc

  • 如果不存在,则创建fabric_rc文件,并将环境变量设置为默认值。用户可以通过更新fabric_rc文件来覆盖默认值。
export FABRIC_CREDMGR_HOST=cm.fabric-testbed.net
export FABRIC_ORCHESTRATOR_HOST=orchestrator.fabric-testbed.net
export FABRIC_BASTION_HOST=bastion-1.fabric-testbed.net
#export FABRIC_PROJECT_ID=<Update Project Id>
#export FABRIC_BASTION_USERNAME=<Update User Name>
export FABRIC_BASTION_KEY_LOCATION=/home/fabric/work/fabric_config/fabric-bastion-key
export FABRIC_SLICE_PRIVATE_KEY_FILE=/home/fabric/work/fabric_config/slice_key
export FABRIC_SLICE_PUBLIC_KEY_FILE=/home/fabric/work/fabric_config/slice_key.pub
#export FABRIC_SLICE_PRIVATE_KEY_PASSPHRASE=<Update Passphrase>
export FABRIC_LOG_LEVEL=INFO
export FABRIC_LOG_FILE=/tmp/fablib/fablib.log

注意:默认值可通过在JH安装时传递给容器的环境变量进行配置,如下所示

singleuser:
  image:
    name: fabrictestbed/jupyter-notebook
    tag: 1.3.2
  extraEnv:
    FABRIC_CREDMGR_HOST: cm.fabric-testbed.net
    FABRIC_ORCHESTRATOR_HOST: orchestrator.fabric-testbed.net
    FABRIC_TOKEN_LOCATION: /home/fabric/.tokens.json
    FABRIC_NOTEBOOK_LOCATION: /home/fabric/work
    FABRIC_NOTEBOOK_TAGS: rel1.3.3
    FABRIC_NOTEBOOK_REPO_URL: https://github.com/fabric-testbed/jupyter-examples/archive/refs/tags/
    FABRIC_CONFIG_LOCATION: /home/fabric/work/fabric_config
    FABRIC_BASTION_HOST: bastion-1.fabric-testbed.net
    FABRIC_BASTION_PRIVATE_KEY_NAME: fabric-bastion-key
    FABRIC_SLICE_PRIVATE_KEY_NAME: slice_key
    FABRIC_SLICE_PUBLIC_KEY_NAME: slice_key.pub

自定义Python包:requirements.txt

  • 如果不存在,则创建空白的requirements.txt文件。当用户容器启动时,会安装此文件中指定的任何包。

Jupyter示例:fabric_config.json

  • 如果不存在,将创建一个带有默认条目的 fabric_config.json 文件。此文件用于在指定位置下载特定版本的 Jupyter Hub 示例。默认条目确保容器内会下载发布版本的默认版本。
{
  "examples": [
                {"url": "default", "location": "/home/fabric/work/"}
              ]
}

可以指定额外的条目,以在指定位置下载特定版本,如下所示

{"examples": [
        {"url": "default", "location": "/home/fabric/work/"},
        {"url": "https://github.com/fabric-testbed/jupyter-examples/archive/refs/tags/rel1.3.6.tar.gz", "location": "/home/fabric/"}
]}

对于以下配置,jupyter-examples-rel1.3.6 将在 /home/fabric 位置下载。

$ ls -ltr ~
total 4
drwxrwxr-x. 3 fabric users  147 Dec  1 21:28 jupyter-examples-rel1.3.6
drwxrwsrwx. 7 nobody users 4096 Dec  1 21:48 work

要求

Python 3.9+

安装

有多个安装选项。对于开发,建议从 GitHub 的 main 分支安装

$ mkvirtualenv jh-nb
$ workon jh-nb
$ pip install git+https://github.com/fabric-testbed/jupyternb-setup.git

用于包含在工具等中,请使用 PyPi

$ mkvirtualenv jh-nb
$ workon jh-nb
$ pip install jupyternb-setup

注意:任何虚拟环境工具([venv]、[virtualenv] 或 [virtualenvwrapper])都应有效。

上述示例的先决条件

确保以下已安装

virtualenv
virtualenvwrapper

项目详情


下载文件

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

源分布

jupyternb-setup-1.3.7.tar.gz (8.0 kB 查看哈希值)

上传时间

构建分布

jupyternb_setup-1.3.7-py3-none-any.whl (8.6 kB 查看哈希值)

上传时间 Python 3

支持者:

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