首页 新闻 会员 周边 捐助

helm 命令传递数组值的问题

0
悬赏园豆:30 [已解决问题] 解决于 2021-12-17 21:35

在通过 bitnami/memcached helm chart 安装 memcached 时想通过 extraEnv 参数(类型是数组)传递环境变量值 MEMCACHED_CACHE_SIZE=15360,请问如何使用 helm --set 命令传参?

问题补充:

使用下面的命令

helm upgrade memcached1 bitnami/memcached --set extraEnv={"MEMCACHED_CACHE_SIZE=15360"}

报错

Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.containers[0].env[1]): invalid type for io.k8s.api.core.v1.EnvVar: got "string", expected "map"

dudu的主页 dudu | 高人七级 | 园豆:30948
提问于:2021-12-17 18:33
< >
分享
最佳答案
0

https://github.com/helm/helm/issues/2547 的评论中找到了正确的命令:

helm upgrade memcached1 bitnami/memcached --set "extraEnv[0].name=MEMCACHED_CACHE_SIZE,extraEnv[0].value=15360"

但是执行这个命令出现新问题:

cannot unmarshal number into Go struct field EnvVar.spec.template.spec.containers.env.value of type string

dudu | 高人七级 |园豆:30948 | 2021-12-17 21:18

github 上的相关 issue :https://github.com/helm/helm/issues/1707

dudu | 园豆:30948 (高人七级) | 2021-12-17 21:20

如果加上双引号

helm upgrade memcached1 bitnami/memcached --set "extraEnv[0].name=MEMCACHED_CACHE_SIZE,extraEnv[0].value=\"15360\"" 

helm 生成下面的值

value: '"15360"'

如果加上单引号

helm upgrade memcached1 bitnami/memcached --set "extraEnv[0].name=MEMCACHED_CACHE_SIZE,extraEnv[0].value='15360'"

helm 生成下面的值

'''15360'''
dudu | 园豆:30948 (高人七级) | 2021-12-17 21:26

--set-string 可以解决(解决方法来源

helm upgrade memcached1 bitnami/memcached --set-string "extraEnv[0].name=MEMCACHED_CACHE_SIZE,extraEnv[0].value=15360"
dudu | 园豆:30948 (高人七级) | 2021-12-17 21:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册