通过值配置数据源

时间:2019-01-12 09:20:13

标签: kubernetes grafana helmfile

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

我可以找到文档here,但可悲的是我的知识太有限,无法正常工作。

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

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

我偶然发现了this,而且似乎也可以通过环境变量来完成此操作,但是我似乎找不到在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

1 个答案:

答案 0 :(得分:1)

答案

只需将以下内容直接添加到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将从datatsources.yaml获取数据源配置config.yaml并通过以下路径/etc/grafana/provisioning/datasources/datasources.yaml进行安装,然后由Grafana应用程序将其拾取。

请参阅Grafana datasources provisioning doc

提示:使用helm template <path_to_chart>

查看渲染的Helm模板