通过值配置数据源



正如标题所示,我正在尝试通过值使用带有数据源的helmfile来设置grafana。

我可以在这里找到文档,但遗憾的是我的知识太有限,无法使其工作。

我的头盔文件的相关部分在这里

releases:
...
  - name: grafana
    namespace: grafana
    chart: stable/grafana
    values:
      - datasources:
        - name: Prometheus
          type: prometheus
          url: http://prometheus-server.prometheus.svc.cluster.local

我偶然发现了这个,似乎我也可以通过环境变量做到这一点,但我似乎找不到一种简单的方法来在我的 helmfile 中设置它。

如果有人对helmfile,json等有更好的了解,将不胜感激,可以向我展示或指导我朝着正确的方向前进。

更新:多亏@WindyFields我的最终解决方案如下

releases:
...
  - name: grafana
    namespace: grafana
    chart: stable/grafana
    values:
      - datasources:
          datasources.yaml:
            apiVersion: 1
            datasources:
              - name: Prometheus
                type: prometheus
                access: proxy
                url: http://prometheus-server.prometheus.svc.cluster.local
                isDefault: true

答案

只需将以下内容直接添加到values.yaml

datasources:
  datasources.yaml:
    apiVersion: 1
    datasources:
    - name: Prometheus
      type: prometheus
      url: http://prometheus-server.prometheus.svc.cluster.local

在 Helm 渲染模板后,将生成以下配置映射:

# Source: grafana/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: RELEASE-NAME-grafana
  labels:
    app: grafana
    chart: grafana-1.20.0
    release: RELEASE-NAME
    heritage: Tiller
data:
  grafana.ini: |
    ...
  datasources.yaml: |
    apiVersion: 1
    datasources:
    - name: Prometheus
      type: prometheus
      url: http://prometheus-server.prometheus.svc.cluster.local 

在 Helms 安装图表后,k8s 将从config.yaml获取数据源配置datatsources.yaml,并通过以下路径/etc/grafana/provisioning/datasources/datasources.yaml挂载它,在那里它将被 Grafana 应用程序拾取。

请参阅 Grafana 数据源预配文档。

提示:要查看渲染的 Helm 模板,请使用helm template <path_to_chart>

相关内容

  • 没有找到相关文章

最新更新