kube-prometheus持久化
该次持久化操作使用NFS的方式
前提条件为安装了NFS服务
所有的yaml文件做好之后都要执行,所以不做概述。因为pvc是随机调用的,不能保证和实验环境一模一样,如果pvc被占用,请更换其他的pvc
1.做存储路径(名称随意)
mkdir /data
cd /data
touch data{0..4}
2.添加配置文件
vim etc/exports
/data/data0 *(rw,no_root_squash)
/data/data1 *(rw,no_root_squash)
/data/data2 *(rw,no_root_squash)
/data/data3 *(rw,no_root_squash)
/data/data4 *(rw,no_root_squash)
3.启动服务
systemctl start nfs-server
3.建立pv
这里我们选择建立五个pv
mkdir pv
vim pv000.yaml #其他几个也是一样,只是编号不同
对pv文件进行写入
metadata:
name: pv000 #其他几个大同小异,只是名称不一样
namespace: monitoring #名称空间
spec:
capacity:
storage: 5Gi #空间
volumeMode: Filesystem #挂载方式
accessModes:
- ReadWriteOnce #读写权限
persistentVolumeReclaimPolicy: Recycle #回收策略
storageClassName: slow
mountOptions:
- hard
- nfsvers=4.1
nfs:
path: /data/data0 #挂载的路径,其他几个更改文件名就行
server: 192.168.10.134 #主机的ip
4.构建pvc
mkdir pvc
vim pvc000.yaml #其他一样,只是pvc编号不一样
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc000 #名称
namespace: monitoring #名称空间
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem #挂载方式需要和之前的一样
resources:
requests:
storage: 5Gi #空间
storageClassName: slow #和pv保持一致
5.修改普罗米修斯文件
vim prometheus/prometheus-prometheus.yaml
添加语句
version: v2.7.2
storage:
volumeClaimTemplate:
spec:
storageClassName: slow
resources:
requests:
storage: 5Gi
6.Grafana 持久化
将 volumes 里面的 “grafana-storage” 配置注掉,新增如下配置,挂载一个名为 pvc000 的 PVC
ps:因为之前做的普罗米修斯的持久化是随机的,如果pvc000被占用,请选择其他的
......
volumes:
- name: grafana-storage #-------新增持久化配置
persistentVolumeClaim:
claimName: pvc000 #-------设置为创建的PVC名称
#- emptyDir: {} #-------注释掉旧的配置
# name: grafana-storage
- name: grafana-datasources
secret:
secretName: grafana-datasources
- configMap:
name: grafana-dashboards
name: grafana-dashboards
......
7.进行测试
kubectl get pv -A
查看我们自己设置好的存储目录
tree /data
到此,nfs静态持久化的操作完毕