kubernetes存储方案(二):Heketi+GlusterFS+StorageClass实现pv自动化
StorageClass介绍
StorageClass实现了pv的自动化,在动态资源供应模式下,通过StorageClass和PVC完成资源动态绑定(系统自动生成PV),并供Pod使用的存储管理机制。
Kubernetes提供了一套可以自动创建PV的机制,即:Dynamic Provisioning。而这个机制的核心在于StorageClass这个API对象。
StorageClass对象会定义下面两部分内容:
- PV的属性。比如,存储类型,Volume的大小等。
- 创建这种PV需要用到的存储插件,即存储制备器。
有了这两个信息之后,Kubernetes就能够根据用户提交的PVC,找到一个对应的StorageClass,之后Kubernetes就会调用该StorageClass声明的存储插件,进而创建出需要的PV。
简单的说,创建一个StorageClass后,后续不管哪个命名空间的pod需要pvc,都能通过这个StorageClass自动创建pv,不需要频繁的创建pv。
参考文档:https://kubernetes.io/zh-cn/docs/concepts/storage/storage-classes/#glusterfs
StorageClass使用案例
本次案例是以heketi+glusterfs分部署存储方案来做说明的,其中的一些参数还需参考: https://www.cnblogs.com/zoujiaojiao/p/17676234.html。
比如:
clusterid: 034f10398853b67682761d318f624d33
resturl: http://10.1.30.30:8080
restuser: admin
restuserkey: adminkey
创建 StorageClass
# cat storageclass-glusterfs.yaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations: #配置集群默认的 StorageClass
storageclass.kubernetes.io/is-default-class: "true"
name: glusterfs #storageclass的名称
parameters:
clusterid: 034f10398853b67682761d318f624d33 # gfs集群的id
gidMax: "50000"
gidMin: "40000"
restauthenabled: "true"
resturl: http://10.1.30.30:8080 #gfs的管理工具heketi的地址
restuser: admin
restuserkey: adminkey
volumetype: replicate:2
provisioner: kubernetes.io/glusterfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
# 创建 storageclass 资源
kubectl create -f storageclass-glusterfs.yaml
创建pvc
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: dmp-datart-pvc #pvc的名称
namespace: dmp-dev
spec:
storageClassName: glusterfs #storageclass的名称
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
在pod中volumes的配置
volumeMounts:
- mountPath: /datart/files #容器中的路径
name: dmp-datart-storage # volumes名称
volumes:
- name: dmp-datart-storage # volumes名称
persistentVolumeClaim:
claimName: dmp-datart-pvc #pvc的名称
securityContext:
runAsUser: 65534
runAsGroup: 65534
fsGroup: 65534
fsGroupChangePolicy: Always
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)