零到 Jupyter 在 extraConfig myConfig.py 中使用秘密值

问题描述

我正在尝试使用 https://github.com/jupyterhub/zero-to-jupyterhub-k8s 包将 jupyterhub 部署到 kubernetes。我正在修改 values.yaml 舵图以在 hub.extraconfig.myConfig.py 中配置我的部署。在此脚本中,我需要检索 kubernetes 机密之一的值:

hub:
    extraEnv:
      ENV1: <env_var_1>
      ENV2: <env_var_2>
    existingSecret: <secret>
    extraConfig:
      myConfig.py: |
      import requests
      def populate_options(self):
        url = '<api_url>'
        headers = {'api-key': '<SECRET_VALUE>'}
        users = requests.get(url,headers=headers).json()
        .
        .
        .
      c.KubeSpawner.profile_list = populate_options

在我的 extraConfig python 脚本中,我需要检索秘密的解码值并在 <SECRET_VALUE> 部分中以字符串格式使用它

我尝试在 hub.extraEnv 中添加秘密值,但它返回一个映射而不是键值,我无法使用映射来获取值。我也尝试将其添加为:

custom:
  - name: API_KEY_VALUE
    valueFrom:
      secretKeyRef:
        name: api_key_secret_name
        key: api_key_value
hub:
  extraEnv:

但这会在 helm 部署中引发错误

我的主要目标是将密钥的值作为字符串读取到 jupyterhub 的零值 Python 配置脚本中。不一定要将机密保存为 pod 环境变量,但这是我最近尝试的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)