Grafana 大括号
{{ }}
与我的 Helm 图表大括号发生碰撞 {{ }}
。
{{ }}
更改为 {% %}
?{{ }}
更改为 {% %}
?不幸的是,最直接的方法是在 Helm 模板中以原始字符串形式提供 Grafana 模板数据,如下所示:
apiVersion: v1
kind: ConfigMap
name: stackoverflow-example
data:
grafana.template: |-
{{`{{ your-grafana.data.here }}`}}
在这种情况下,Helm 模板只会看到外部对,并将其余部分渲染为不透明字符串。
有一个比使用 {{
}} 转义内容更好的解决方法,并使用 toJson
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboards
data:
compute.json:
{{ .Files.Get "dashboards/compute.json" | toJson | indent 4 }}
这避免了 Go 渲染compute.json 的内容,并将内容与“{{variables}}”和所有内容一起放在那里。
注意。配置映射的大小限制为 1 MB。所以不要滥用这一点。否则,考虑将它们放在存储库上,并为 GitLab 使用类似的内容(您可以对任何外部 URL/存储库执行此操作):
dashboards:
default:
your-dashboard-at-gitlab:
url: "https://gitlab.yourdomain.com/api/v4/projects/9999/repository/files/yourfolder%2Fcompute.json/raw?ref=main"
查看grafana图表上的values.yaml注释这里。
此讨论还有一个 github 问题这里。