You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes环境变量传递时$符号丢失问题求助

Kubernetes环境变量传递时$符号丢失问题求助

大家好,我最近碰到一个棘手的问题:在Kubernetes中传递带多个$符号的环境变量时,这些$会被意外解析丢失,导致最终容器里拿到的变量值和预期不符,想请教下有没有解决办法。

先给大家看下我的相关配置:

Dockerfile内容

FROM python:3.11-alpine

COPY test.py .

ENTRYPOINT [ "python3", "test.py" ]

测试脚本test.py

import os
import time

print(os.environ)
time.sleep(30)

Kubernetes Pod配置

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: test
    image: test:0.1
    imagePullPolicy: Never
    env:
    - name: TEST
      value: 1$2$$3$$$4$$$$
    - name: TEST2
      value: '1$2$$3$$$4$$$$'
    - name: TEST3
      value: '"1$2$$3$$$4$$$$"'

问题现象

我在Kubernetes v1.23生产环境和v1.25版本中都复现了这个问题:
容器启动后输出的环境变量是这样的:

environ({..., 'TEST': '1$2$3$$4$$', 'TEST2': '1$2$3$$4$$', 'TEST3': '"1$2$3$$4$$"', ... }

但我期望所有变量的值都应该是1$2$$3$$$4$$$$。

我已经尝试了不同类型的引号(单引号、双引号),但都没解决问题;后来试了用"1\\$2\\$\\$3\\$\\$\\$4\\$\\$\\$\\$"这种转义写法,结果容器里拿到的是带\的原始转义字符串,不是我想要的纯$的格式。

有没有大佬知道怎么正确传递这种带多个$的环境变量,让容器能拿到和配置里完全一致的值?

备注:内容来源于stack exchange,提问作者Viktor Komarov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:09:28