在 Helm 图表中内联设置点变量

问题描述 投票:0回答:1

我正在使用 Helm Chart 安装 ArgoCD。

helm install cd argo/argo-cd --set configs.params."server.insecure"=true
但后来我发现“server.insecure”呈现为

configs:
  params:
    server:
      insecure: true

而不是

configs:
  params:
    server.insecure: true

因此,HTTPS 仍然强制执行

使用内联配置设置点变量的正确方法是什么

kubernetes-helm argocd
1个回答
0
投票

来自Helm文档中

--set
的格式和限制:

有时您需要在

--set
行中使用特殊字符。您可以使用反斜杠来转义字符; ....

同样,您也可以转义点序列....

--set nodeSelector."kubernetes\.io/role"=master
的语法变为:

nodeSelector:
  kubernetes.io/role: master

请记住,反斜杠也是 Shell 转义字符,因此您可能需要将反斜杠加倍以使其不被解释为特殊字符序列的一部分。为了您的使用,我可能会写 helm install ... --set configs.params.server\\.insecure=true

我还考虑让您的部署系统写出包含所需设置的 YAML(或 JSON)文件,并将其作为 
helm install -f

外部值文件传递。这不是

--set
唯一的语法怪癖,我通常发现值文件语法更强大。
# deploy-values.yaml
config:
  params:
    server.insecure: true

helm install ... -f deploy-values.yaml
© www.soinside.com 2019 - 2024. All rights reserved.