在 configmap 中参数化 grafana.ini

Parameterize grafana.ini inside a configmap

我在已配置的 kubernetes 集群中有一个 grafana 仪表板 运行。 yaml 通过 ConfigMap 使用 Azure AD 来限制访问。

我现在想在该配置映射中参数化 grafana.ini,这样我就可以在我的发布管道中使用不同的子域,如下所示:

kind: ConfigMap
data:
  grafana.ini: |
    [server]
    root_url = https://{Subdomain}.domain/
    [...]

{Subdomain} 应通过参数在管道中替换。在 "normal" kubernetes .yaml 文件中,我可以做类似

的事情
[...]
host: {{ .Values.Subdomain }}.{{ .Values.Domain }}
[...]

传递参数。这似乎不适用于 grafana.ini 数据部分。

将参数传递到此处的 grafana 配置的正确语法是什么?

您可以像这样用环境变量覆盖 INI 配置文件:

export GF_SERVER_ROOT_URL= https://{Subdomain}.domain/

您可以使用此约定覆盖所有配置选项:

GF_<SectionName>_<KeyName>

不,YAML 中没有字符串模板。您正在查看的示例使用 Helm 来处理 YAML。你可以做到这一点,但你需要实际使用 Helm。