启动Jupyter Notebook实例时如何配置加载指定自定义文件
Jupyter Notebook启动加载指定文件的配置方案
完全可以通过jupyter_config文件配合Kubernetes部署逻辑实现该需求,具体实现方法如下:
1. 原生jupyter_config配置项说明
不需要二次开发,直接修改jupyter_notebook_config.py的对应配置即可实现加载指定文件的能力:
- 启动后自动跳转打开单个指定文件:修改
c.NotebookApp.default_url配置,值为目标文件的访问路径,示例如下:# 启动后直接打开work目录下的init.ipynb文件 c.NotebookApp.default_url = '/tree/work/init.ipynb' - 内核启动时自动预加载执行多个文件/脚本:修改
c.IPKernelApp.exec_files配置,值为待执行文件的路径列表,示例如下:# 内核启动时自动执行初始化脚本和预加载notebook c.IPKernelApp.exec_files = ['/opt/init/config.py', '/opt/init/preload.ipynb']
如果你部署的是JupyterLab,只需把上述配置中的
NotebookApp替换为LabApp,逻辑完全一致。
2. Kubernetes部署下的可选配置实现
要做用户可自定义的可选加载配置,不需要每次修改镜像内的配置文件,按以下流程操作即可:
- 利用Jupyter原生支持的环境变量覆盖配置能力:所有
jupyter_notebook_config.py中的配置项都可以通过JUPYTER_前缀的全大写环境变量注入,比如default_url对应的环境变量为JUPYTER_NOTEBOOKAPP_DEFAULT_URL,exec_files对应的环境变量为JUPYTER_IPKERNELAPP_EXEC_FILES - Kubernetes部署时,将用户设置的标识和对应环境变量做映射:用户选择要加载的文件后,后台直接将目标文件的路径赋值给对应环境变量,随Pod创建参数注入即可
- 如果用户指定的文件是外部自定义文件,额外通过Kubernetes的ConfigMap或PVC将文件挂载到Pod内的对应路径,和上述环境变量配置配合即可完成全流程
内容的提问来源于stack exchange,提问作者Eric Bond
相关产品推荐
相关产品推荐

