Helm 3.9.2在zsh下使用--set修改Ingress数组元素报错求助
问题解决:Helm --set 命令在zsh终端报错"no matches found"
问题根源
在zsh终端中,方括号[]属于通配符字符,shell会优先尝试用它匹配当前目录下的文件,而非直接传递给Helm命令。你输入的ingress.hosts[0].host会被zsh解析为匹配文件的模式,因当前目录没有符合该模式的文件,所以抛出no matches found错误。
可行解决方案
用单引号包裹--set参数:单引号会屏蔽shell对特殊字符的解析,完整传递表达式给Helm
helm ... --set 'ingress.hosts[0].host=www.myhost.com'转义方括号:用反斜杠
\标记方括号为普通字符,避免shell解析helm ... --set ingress.hosts\[0\].host="www.myhost.com"使用自定义配置文件(推荐复杂场景):创建一个override.yaml文件,写入需要覆盖的配置
ingress: hosts: - host: www.myhost.com然后执行Helm命令时指定该文件:
helm ... -f override.yaml
内容的提问来源于stack exchange,提问作者Bryan Powell
相关产品推荐
相关产品推荐

