Kubespawner & Jupyterhub:如何动态分配环境变量

问题描述 投票:0回答:0

我想知道如何在 kubespawner 启动的用户 pod 中动态设置环境变量。

我有一些预定义的配置文件,每个配置文件都有不同的环境变量。


singleuser:
  profileList:
    - display_name: "Test"
      kubespawner_override:
        environment:
          MY_TEST: "$(JUPYTERHUB_USER)"
          DBUS_SESSION_BUS_ADDRESS: "$(dbus-launch --sh-syntax | awk -F\' 'NR==1{print $2}')"

我打算执行

dbus-launch --sh-syntax | awk -F\' 'NR==1{print $2}'

然后,将其输出分配给

DBUS_SESSION_BUS_ADDRESS
变量。

但是,

DBUS_SESSION_BUS_ADDRESS
字面意思是
dbus-launch --sh-syntax | awk -F\' 'NR==1{print $2}'
.


作为另一种选择,我也尝试添加 hub.extraConfig。 (参考这里

只是启动 pod 失败....

hub:
  extraConfig:
    dbus_set_config: |
        async def pre_spawn_hook(spawner):
            output = os.popen("dbus-launch --sh-syntax").read().split('\n')
            spawner.environment.update({
                "DBUS_SESSION_BUS_ADDRESS": output[0].split("'")[1]
                })

        c.KubeSpawner.pre_spawn_hook = pre_spawn_hook

如何将动态生成的变量作为环境变量添加到用户的笔记本 pod 中?

jupyter jupyter-lab jupyterhub
© www.soinside.com 2019 - 2024. All rights reserved.