Grafana 图表的 helm 模板转义值

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

明智的SOers。 事实证明,Grafana 仪表板 json 文件使用与 helm 相同的

{{ }}
来进行变量替换。 我有一个 grafana 图表,里面充满了这些
{{ }}
,达到了令人不快的程度。

当我想将该图表放入模板中时,如下所示:

apiVersion: v1
kind: ConfigMap
metadata:
  name: super-dashboard
  namespace: monitoring
  labels:
    grafana_dashboard: "1"
data:
  super-dashboard.json: |-
{{ .Files.Get "super-dashboard.json"  | indent 4 }

只要

super-dashboard.json
中没有任何类似的东西,它就可以很好地工作:

"legendFormat": "{{status}} Status",
.

不幸的是,我们的仪表板确实有一条如此糟糕的线。 当我掌舵时,我得到:

Error: UPGRADE FAILED: parse error at (templates/dashboards/super-dashboard.json:282): function "status" not defined

自然地,它正在寻找某种方法

status
,该方法在 Helm 模板语言中不存在,因此失败。 如果我可以忽略对该纠缠文件的解析就好了。哦,你们这些聪明的互联网大师,对于你们集体智慧的谦卑寻求者,你们有什么明智的建议吗?

kubernetes-helm grafana
2个回答
5
投票

问题是我的

super-dashboard.json
文件与模板位于同一目录中,并且 helm 尝试将其模板化。 解决方案是拥有如下目录结构:

mychart/
  templates/
    super-dashboard.yaml
  files/
    super-dashboard.json

然后

yaml
文件有:

{{ .Files.Get "files/super-dashboard.json" | indent 4 }}

我以为你必须将文件放在同一目录中,但它只需位于图表的根目录下即可。


0
投票

所以 json 文件应该位于 Helm 文件夹下,对吗? helm iles\json 和 舵板\仪表板

我说得对吗?

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