helm 图表如何具有值包含 {{ }}

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

在 Helm Chart 中,我们可以将 value 定义为类似 {{ Values.name }} 的形式,它将被替换为 Values.yaml 中定义的真实值。 但是,如果原始值具有类似的格式,例如 {{name}},则在尝试安装该图表时,会由于“name”未定义的错误而失败。 有什么办法可以处理吗?

kubernetes kubernetes-helm
3个回答
25
投票

您可以将其嵌入为带反引号的文字字符串:

{{`{{ "name" }}`}}

12
投票

您可以使用

{{ "{{" }}
在 Go 模板中转义双大括号。

但最好的方法是将警报规则嵌入为单独的文件:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "fullname" . }}-rules
  labels:
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    prometheus: {{ template "fullname" . }}
data:
  {{ (.Files.Glob "rules/*").AsConfig | indent 2 }}

4
投票

使用

'{{"{{"}}name{{"}}"}}'
将其读作 {{name}}

© www.soinside.com 2019 - 2024. All rights reserved.