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

2020-01-21 22:02发布

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

标签: k8s helm
1条回答
劳资没心,怎么记你
2楼-- · 2020-01-21 22:42

通过 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 .
查看更多
登录 后发表回答