如何在K8s上运行的JuPyterHub上为每个笔记本设置参数

时间:2019-05-15 12:57:01

标签: jupyter-notebook jupyter jupyterhub papermill

我想设置一些此处定义的参数(https://github.com/nteract/papermill#python-version-support)。问题是,我希望能够通过UI做到这一点。我在群集上安装了一个JHub,在打开它时,我希望默认设置某些参数。

此外,当我通过造纸厂传递参数时(上面的脚本保存在某个地方,然后我将通过造纸厂运行它),我希望后者覆盖前者。

我尝试在纯JuPyter笔记本中调查几个主题,但徒劳无功。

1 个答案:

答案 0 :(得分:0)

为使用户在笔记本启动后立即访问某些参数,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中的引号转义,或者只是按照我上面所做的操作。

完成此操作后,造纸厂将覆盖这些参数,但是为此,您必须确保将单元格标记为“参数”。例如,在我的jupyterhub中,每个启动的笔记本都具有值为run_id的{​​{1}}变量。