通过 github 上的 issue support for environment variables 知道了出于安全考虑 helm 不支持直接通过环境变量传值。
针对这个问题有2个解决方法:
1)借助 envsubst ,假设 values.yaml 中有下面的配置
resources:
limits:
cpu: ${LIMITS_CPU}
通过下面的命令就可以实现通过环境变量传值
export LIMITS_CPU=1 && envsubst < values.yaml | helm install cnblogs-web -f - .
2)不用环境变量,通过 helm install 的 --set
参数修改 values.yaml 中的配置。
比如 values.yaml 中有下面的配置
resources:
limits:
cpu: 2
通过下面的命令就可以将上面的 cpu 值改为 1
helm install --set resources.limits.cpu=1 cnblogs-web .