kube-prometheus 实现数据持久化

使用 kube-prometheus 安装的prometheus,默认是没有将数据持久化的,存储模式都是 emptyDir,生命周期会随着 pod 的删除而被删除。

持久化prometheus

kubectl describe sts prometheus-k8s -n monitoring

查看 CRD prometheus 创建出来的 sts 的详细信息,template.Containers.Volumes.prometheus-k8s-db

可以看到使用的 volume 类型为 EmptyDir ,它的生命周期时跟随着 Pod,当 Pod 被重新创建或者挂掉之后 EmptyDir 中的数据会丢失。

还没部署

修改 prometheus 的文件,注意 storage 和 version 是同级别的。

vim manifests/prometheus/prometheus-prometheus.yaml


  storage:
    volumeClaimTemplate:    #pvc 模板
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi   #存储空间可以自己填大一点
        storageClassName: defualt-storage  #集群内没有 storageclass,可以不填写这一行
  version: 2.46.0
若是集群内没有 storageclass,需要自己创建相应的 PV。
已经部署
kubectl -n monitoring edit prometheus k8s

在 version 平级添加如下内容。StatefulSet 类型 prometheus-k8s 是 CRD(自定义的资源类型) prometheus 创建出来的,所以修改它。

prometheus-db 持久化完成。

prometheus 数据存储默认是两天,可以添加资源类型为 prometheus 的 spec.retention 参数来设置数据保留的时间。

持久化grafana

创建 grafana-pvc.yaml 文件

由于 Grafana 是部署模式为 Deployment,所以我们提前为其创建一个 grafana-pvc.yaml 文件,加入下面 PVC 配置。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: grafana
  namespace: monitoring  #---指定namespace为monitoring
spec:
  storageClassName: k8s-storage #---指定StorageClass,没有可以不填写这一行。自己手动创建pv
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

修改 grafana-deployment.yaml 文件设置持久化配置,应用上面的 PVC。

vim manifests/grafana-deployment.yaml

将 volumes 里面的 “grafana-storage” 配置注掉,新增如下配置,挂载一个名为 grafana 的 PVC


......
      volumes:
      - name: grafana-storage       #-------新增持久化配置
        persistentVolumeClaim:
          claimName: grafana        #-------设置为创建的PVC名称
      #- emptyDir: {}               #-------注释掉旧的配置
      #  name: grafana-storage
      - name: grafana-datasources
        secret:
          secretName: grafana-datasources
......

集群内没有 storageclass,需要手动创建 pv。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值