You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kube-prometheus环境下Grafana自定义仪表盘持久化方案咨询

解决kube-prometheus中Grafana自定义仪表盘重启丢失的问题

核心原因

kube-prometheus中的Grafana默认通过ConfigMap或Sidecar加载预置仪表盘,而通过GUI导入的自定义仪表盘会存在Grafana内置的sqlite数据库中。如果只配置了默认仪表盘的PV/PVC,未正确持久化Grafana的核心数据存储目录,Pod重启后sqlite数据丢失,自定义仪表盘就会消失。

具体解决思路

1. 修正Grafana数据目录的持久化配置

Grafana默认数据存储路径为/var/lib/grafana,需要将该路径挂载到已创建的PVC上:

  • 编辑Grafana的Deployment,添加对应挂载配置:
    spec:
      template:
        spec:
          containers:
          - name: grafana
            volumeMounts:
            - name: grafana-data
              mountPath: /var/lib/grafana
          volumes:
          - name: grafana-data
            persistentVolumeClaim:
              claimName: 你的PVC名称
    
  • 确认PVC已正确绑定PV,存储类配置符合集群要求。

2. 用配置化方式管理自定义仪表盘(推荐)

kube-prometheus推荐通过Sidecar模式,用ConfigMap管理自定义仪表盘,避免依赖Pod本地存储:

  • 将自定义仪表盘的JSON文件转为ConfigMap,并添加识别标签:
    kubectl create configmap custom-grafana-dashboards --from-file=./dashboard1.json --from-file=./dashboard2.json -n monitoring
    kubectl label configmap custom-grafana-dashboards grafana_dashboard=1 -n monitoring
    
  • kube-prometheus默认配置的Grafana Sidecar会自动扫描带有grafana_dashboard: "1"标签的ConfigMap,自动导入仪表盘,无需手动操作。

3. 验证持久化生效状态

重启Grafana Pod后,执行命令检查挂载状态:

kubectl exec -it <grafana-pod-name> -n monitoring -- df -h /var/lib/grafana

若输出显示挂载路径为你的PV存储路径,说明持久化配置生效;若为容器临时存储路径,需检查Deployment的挂载配置是否有误。

内容的提问来源于stack exchange,提问作者Giorgio Tarozzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:42:07