如何在 K8s 上为 JuPyterHub 运行 上的每个笔记本设置参数
How do I set parameters for each notebook on JuPyterHub running on K8s
我想设置这里定义的一些参数(https://github.com/nteract/papermill#python-version-support)。问题是,我希望能够通过 UI 执行此操作。我的集群上安装了一个 JHub,打开它时,我希望默认设置某些参数。
此外,当我通过 papermill 传递参数时(上面的脚本保存在某个地方,然后我将通过 papermill 运行 它),我希望后者覆盖前者。
我尝试在纯 JuPyter 笔记本中研究几个主题,但没有成功。
为了让用户在笔记本启动后立即访问某些参数,ipython
需要知道启动单元。对于 JuPyterHub,这可以通过以下命令完成:
proxy:
secretToken: "yada yada"
singleuser:
image:
name: some_acc_id.dkr.ecr.ap-south-1.amazonaws.com/demo
tag: 12h
lifecycleHooks:
postStart:
exec:
command: ["/bin/sh", "-c", 'ipython profile create; cd ~/.ipython/profile_default/startup; echo ''run_id = "sample" ''> aviral.py']
imagePullSecret:
enabled: true
registry: some_acc_id.dkr.ecr.ap-south-1.amazonaws.com
username: aws
email: aviral@abc.com
确保您正确转义了 yaml
中的引号,或者只需按照我上面所做的操作即可。
完成后,papermill 将覆盖参数,但为此,您必须确保单元格被标记为 "parameters"。例如,在我的 jupyterhub 中,每个启动的笔记本都有 run_id
变量,其值为 "sample"
。
我想设置这里定义的一些参数(https://github.com/nteract/papermill#python-version-support)。问题是,我希望能够通过 UI 执行此操作。我的集群上安装了一个 JHub,打开它时,我希望默认设置某些参数。
此外,当我通过 papermill 传递参数时(上面的脚本保存在某个地方,然后我将通过 papermill 运行 它),我希望后者覆盖前者。
我尝试在纯 JuPyter 笔记本中研究几个主题,但没有成功。
为了让用户在笔记本启动后立即访问某些参数,ipython
需要知道启动单元。对于 JuPyterHub,这可以通过以下命令完成:
proxy:
secretToken: "yada yada"
singleuser:
image:
name: some_acc_id.dkr.ecr.ap-south-1.amazonaws.com/demo
tag: 12h
lifecycleHooks:
postStart:
exec:
command: ["/bin/sh", "-c", 'ipython profile create; cd ~/.ipython/profile_default/startup; echo ''run_id = "sample" ''> aviral.py']
imagePullSecret:
enabled: true
registry: some_acc_id.dkr.ecr.ap-south-1.amazonaws.com
username: aws
email: aviral@abc.com
确保您正确转义了 yaml
中的引号,或者只需按照我上面所做的操作即可。
完成后,papermill 将覆盖参数,但为此,您必须确保单元格被标记为 "parameters"。例如,在我的 jupyterhub 中,每个启动的笔记本都有 run_id
变量,其值为 "sample"
。