繁体   English   中英

Helm 覆盖 values.yaml 并在数组中设置

[英]Helm override values.yaml with set in array

我已经看到了很多围绕这个主题的问题,但对于我所看到的没有很好的答案。 我们有一个像这样的值文件:

ingress:
  enabled: "false"
  className: ""
  annotations:
    {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  hosts:
    - host: chart-example.local
      paths:
        - path: /
          pathType: ImplementationSpecific

我们想要覆盖列表项“host”的值。 我的期望是--set ingress.hosts[0].host="www.myhost.com"会这样做,但我们看到一个错误,指出no matches found: ingress.hosts[0].host=www.myhost.com

我错过了什么? 这是 Helm 3.9.2。

Zsh中的方括号具有特殊含义,因此如果您使用Zsh (根据您的错误,我认为是这种情况),您只需通过在它们前面加上\ (反斜杠)来转义它们:

--set ingress.hosts\[0\].host="www.myhost.com"

或通过在您的命令之前添加noglob

noglob helm ...

您也可以通过将此别名添加到您的.zshrc来默认转义它们:

alias helm='noglob helm'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM