首页新闻找找看学习计划

k8s helm 如何通过环境变量给 values.yaml 传值

0
悬赏园豆:30 [已解决问题] 解决于 2020-01-21 23:04

请问使用 helm 部署 kubernetes 应用时,如何通过环境变量给 values.yaml 配置文件传值?

dudu的主页 dudu | 高人七级 | 园豆:39411
提问于:2020-01-21 16:53
< >
分享
最佳答案
0

通过 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 .
dudu | 高人七级 |园豆:39411 | 2020-01-21 23:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册