zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Android Studio快速导入项目
    梦断代码阅读笔记01
    Python词云生成
    Python 数据处理
    Android studio 自定义Dialog
    Android studio Activity的跳转和数据传递
    Android studio Handler消息处理2
    2.9 react组件中使用key作为prop属性命名报错
    2.3 上下margin值合并
    2.2 快速认识虚拟dom
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14327261.html
Copyright © 2011-2022 走看看