Skip to content

管理应用环境变量

应用环境变量用于定义应用在容器中的运行方式,包括应用配置、服务连接以及其他运行时设置。

查看环境变量

  1. 前往设置 > 应用
  2. 在列表中选择目标应用。
  3. 环境变量部分,点击管理环境变量

应用环境变量

理解环境变量类型

管理环境变量页面显示了当前应用正在使用的环境变量。

应用环境变量列表

根据应用的配置方式,你可能会看到以下两类变量:

  • 应用专属变量:应用本身定义的变量。这些变量在页面中正常显示,可直接在当前页面编辑。
  • 引用的系统环境变量:应用引用的系统全局变量。只有当应用使用了这些变量时,它们才会显示在此页面上。这类变量在当前页面呈置灰状态,且无法直接编辑。若要修改此类变量,可参考设置系统级环境变量

编辑应用专属变量

如需修改应用专属变量:

  1. 找到要编辑的变量。
  2. 点击右侧的 edit_square
  3. 在弹出的对话框中更新变量值,然后点击确认
  4. 点击应用

编辑应用环境变量

应用会自动重启,新配置随后生效。

在控制面板中配置变量

如需调试、功能配置或临时调整,你也可以在控制面板中直接查看和修改应用的环境变量。

INFO

在控制面板中修改的变量在应用升级后不会保留。如需永久配置,请设置系统级环境变量或使用应用自身的设置项。

确定变量的存储位置

应用中的变量可以存储在不同类型的 Kubernetes 资源中。了解目标变量存储在哪个资源中,决定了你如何修改它以及是否需要重启。

资源类型典型内容修改后是否需要重启
部署直接的键值对自动重启
配置字典配置数据、启动参数、配置文件需手动重启
保密字典敏感数据,如密码、令牌、凭证需手动重启

常规应用

要确定变量存储在哪里,在 YAML 编辑器中打开部署,查看 spec > containers 部分。注入方式会告诉你变量的来源:

  • env:变量直接在部署中以键值对的形式定义。
  • envFrom 配合 configMapRef:变量存储在引用的 Configmap 中。
  • valueFrom 配合 secretKeyRef:变量存储在引用的 Secret 中。

例如,在下面的 YAML 中,envFrom 引用了 Configmap lobechat-config,而 env 直接定义了 PGIDPUIDTZ

yaml
spec:
  containers:
    - name: lobechat
      image: docker.io/beclab/lobehub-lobehub:2.1.18
      ports:
        - name: http
          containerPort: 3210
          protocol: TCP
      envFrom:
        - configMapRef:
            name: lobechat-config
      env:
        - name: PGID
          value: '1000'
        - name: PUID
          value: '1000'
        - name: TZ
          value: Etc/UTC

C/S 架构应用

部分应用采用客户端/服务器(C/S)架构,例如 Ollama。它们的变量分布在两个不同的命名空间中:用户命名空间(用于客户端资源),系统命名空间(用于服务端资源)。

对于 C/S 应用,环境变量通常存储在跨两个命名空间的 Configmap 中。根据你想要修改的内容,前往正确的命名空间进行修改:

  • 要修改外部访问行为,前往用户命名空间,查找名称中包含 nginxsidecar 的 Configmap。
  • 要修改应用核心参数,前往系统命名空间,查找名称中包含 envconfig 或类似标识的 Configmap。

修改部署中的变量

此方法适用于直接调整工作负载。下面的示例更改 Jellyfin 的时区,使媒体库显示本地时间戳而不是 UTC。

  1. 在控制面板的浏览面板中,选择 Jellyfin 项目。

  2. 部署资源组下,点击 jellyfin,然后点击 edit_square

    浏览到 Jellyfin 的部署实例

  3. 在 YAML 编辑器中,找到 containers 部分,定位 jellyfin 的 env 字段,然后更改 TZ 的值:

    yaml
    env:
      - name: PGID
        value: '1000'
      - name: PUID
        value: '1000'
      - name: UMASK
        value: '002'
      - name: TZ
        value: Asia/Shanghai   # 原为 Etc/UTC
  4. 点击 Confirm。Pod 将自动重启以使更改生效。

修改配置字典中的变量

此方法用于添加第三方 API 密钥、修改启动参数或更新配置文件。

常规应用

以下示例向 DeerFlow 的配置中添加 Tavily API 密钥,以启用网络搜索。

  1. 在控制面板的浏览面板中,选择 DeerFlow 项目。

  2. 配置字典下,点击 deerflow-config浏览到 DeerFlow 的配置字典

  3. 在资源详情页,点击右上角的 edit_square 打开 YAML 编辑器。

  4. data 部分下添加以下键值对:

    yaml
    SEARCH_API: tavily
    TAVILY_API_KEY: tvly-xxx # 你的 Tavily API Key

    配置 Tavily

  5. 点击 Confirm 保存更改。

  6. 返回部署 > deerflow,然后点击重启

    重启 DeerFlow

  7. 在确认对话框中输入 deerflow,然后点击 Confirm

等待状态图标变为绿色,表示新配置已加载。

C/S 架构应用

根据你要修改的内容,你可能需要在用户命名空间、系统命名空间或两者中修改变量。

在用户命名空间中修改客户端设置

以下步骤将 Ollama 的代理读取超时从 300s 改为 600s

  1. 在控制面板的浏览面板中,选择 Ollama 项目。

  2. 部署资源组下,点击 ollamav2,然后点击 edit_square在控制面板中定位 Ollama 实例

  3. 在 YAML 编辑器中,找到 containers 部分,定位并检查 env 字段。这里的配置引用了 nginx.conf

    编辑 Ollama 实例的 YAML

  4. 点击 Cancel 关闭编辑器。

  5. 展开配置字典,点击 nginx-config,然后点击右上角的 edit_square

    定位 Nginx 配置实例

  6. 在 YAML 编辑器中,找到 data 部分,定位 nginx.conf 键,然后将 proxy_read_timeout 的值从 300s 改为 600s

    编辑 Nginx 配置

  7. 点击 Confirm

  8. 返回部署 > ollamav2,然后点击重启,使更改生效。

等待状态图标变为绿色,表示新配置已加载。

在系统命名空间中修改服务端设置

以下步骤将 Ollama 的最大加载模型数从 3 改为 5

  1. 在控制面板的浏览面板中,向下滚动并点击 System 展开系统部分。

  2. 选择 ollamaserver-shared,然后在部署资源组下,点击 ollama,再点击 edit_square

    在系统命名空间中定位 Ollama

  3. 在 YAML 编辑器中,找到 containers 部分,检查 envFrom 字段。这里的配置引用了 ollama-env

    编辑 YAML

  4. 点击 Cancel 关闭编辑器。

  5. 返回配置字典,点击 ollama-env 实例,然后点击右上角的 edit_square

    编辑 Ollama 环境变量

  6. 在 YAML 编辑器中,找到 data 部分,然后将 OLLAMA_MAX_LOADED_MODELS 的值从 3 改为 5

    编辑 Ollama 变量

  7. 点击 Confirm

  8. 返回部署 > ollama,然后点击重启,使更改生效。

等待状态图标变为绿色,表示新配置已加载。

修改保密字典中的变量

保密字典中的修改流程与配置字典相同。根据你的应用类型,遵循常规应用C/S 架构应用中的步骤。

INFO

当你打开保密字典的 YAML 编辑器时,data 字段下的所有值都必须是 Base64 编码的。

常见问题

修改配置字典或保密字典后,更改未生效

修改配置字典或保密字典后,关联的工作负载不会自动重新加载配置。你必须重启工作负载才能读取新的值。

使用以下任一方法重启工作负载:

  • 在控制面板中重启

    进入应用所在命名空间的部署资源组,点击目标工作负载,然后点击重启

  • 通过应用市场或设置重启

    如果不确定应该重启哪个工作负载,可以采用暂停应用,然后再恢复应用的方法:

    • 进入应用市场 > 我的 Olares,点击应用操作按钮旁边的 keyboard_arrow_down,选择暂停,然后再点击恢复
    • 进入设置 > 应用,点击应用,点击暂停,然后点击恢复

这两种方法都会应用并加载配置字典或保密字典中的最新配置,从而使你的更改生效。

了解更多