首页 > 解决方案 > 如何使用 ConfigMap 在 Grafana 中添加仪表板 JSON - metadata.annotations:太长

问题描述

我一直在 ConfigMap 中设置数据源和仪表板配置,如下所示:

kind: ConfigMap
apiVersion: v1
metadata:
  name: datasource-configmap
data:
  datasource.yml: |-
    apiVersion: 1
    datasources:
    - name: prometheus-service
      type: prometheus
      orgId: 1
      access: proxy
      url: http://prometheus:9090/
      basicAuth: false
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: dashboard-configmap
data:
  dashboard.yml: |-
    apiVersion: 1
    providers:
    - name: 'Prometheus'
      orgId: 1
      folder: ''
      type: file
      disableDeletion: false
      editable: true
      options:
        path: /etc/grafana/provisioning/dashboards
  dashboardA.json: |-
    { // }
  dashboardB.json: |-
    { // }
...
...
  dashboardC.json: |-
    { // }

在上述文件中有一定数量的行之前它工作正常,之后它 kubectl 抱怨以下错误:

The ConfigMap "grafana-configmap" is invalid: metadata.annotations: Too long: must have at most 262144 bytes

如果我从dashboardC.json 中删除长配置,则没有问题。

我该如何克服这个错误,因为目标是从文件中设置所有 Grafana 数据源和仪表板,而不是在 Grafana UI 上设置?

标签: kubernetesgrafana

解决方案


推荐阅读