grafana 容器数据迁移的处理
一个简单的场景,grafana 基于容器部署的,但是早起没有使用持久化数据卷以及使用了内置的sqlite 数据库
所以存在存储迁移的问题,几个数据迁移的方法
基于几个假设,我们没有使用额外的扩展插件
解决方法
- 使用api 导出dashboard 以及datasource 通知配置
- 直接copy grafana sqlite 数据库进行使用
问题说明
基于api 有点太费事,因为api 需要调用很多,直接copy sqlite 数据库比较方便,然后直接使用数据卷挂载的模式就可以了
- 参考方法
sqlite copy
docker cp containerid:/var/lib/grafana/grafana.db grafana.db
容器数据挂载(docker-compose)
version: "3"
services:
app:
image: grafana/grafana
build: ./
ports:
- "3000:3000"
volumes:
- "./grafana.db:/var/lib/grafana/grafana.db"
- 直接容器镜像制作模式(需要注意文件权限的问题)
FROM grafana/grafana
COPY --chown=grafana:grafana grafana.db /var/lib/grafana/grafana.db
- k8s 模式
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: grafana2
labels:
io.kompose.service: grafana2
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: grafana2
template:
metadata:
creationTimestamp:
labels:
io.kompose.service: grafana2
spec:
volumes:
- name: db
hostPath:
path: "/opt/g/grafana.db"
containers:
- name: grafana2
image: grafana/grafana
ports:
- containerPort: 3000
protocol: TCP
resources: {}
volumeMounts:
- name: db
mountPath: "/var/lib/grafana/grafana.db"
imagePullPolicy: IfNotPresent
nodeSelector:
kubernetes.io/hostname: <hostip>
restartPolicy: Always
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-01-25 poolifier nodejs 线程池工具
2019-01-25 openresty 集成 sentry 异常系统
2019-01-25 quicklink 基本使用
2019-01-25 pnpm 快速节省磁盘工具的包管理工具
2019-01-25 Load Balancing OpenSSH SFTP with HAProxy
2016-01-25 Centos配置国内yum源
2016-01-25 ubutntu apt 源