val*_*ard 6 grafana kubernetes-helm
明智的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 }
Run Code Online (Sandbox Code Playgroud)
只要super-dashboard.json其中没有任何东西,它就可以很好地工作,例如:
"legendFormat": "{{status}} Status",。
不幸的是,我们的仪表板确实有一条如此糟糕的线。当我运行 helm 时,我得到:
Error: UPGRADE FAILED: parse error at (templates/dashboards/super-dashboard.json:282): function "status" not defined
Run Code Online (Sandbox Code Playgroud)
自然地,它正在寻找一些statusHelm 模板语言中不存在的方法,因此失败了。如果我可以忽略对该纠缠文件的解析就好了。哦,你们这些聪明的互联网大师,对于你们集体智慧的谦卑探索者,你们有什么明智的建议吗?
问题是我的super-dashboard.json文件与模板位于同一目录中,并且 helm 尝试将其模板化。解决方案是具有如下目录结构:
mychart/
templates/
super-dashboard.yaml
files/
super-dashboard.json
Run Code Online (Sandbox Code Playgroud)
那么该yaml文件有:
{{ .Files.Get "files/super-dashboard.json" | indent 4 }}
Run Code Online (Sandbox Code Playgroud)
我认为您必须将文件放在同一目录中,但它必须位于图表的根目录中。
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |