一种基于GlusterFS的存储插件方法和系统技术方案

技术编号:38332813 阅读:23 留言:0更新日期:2023-07-29 09:15
本发明专利技术公开了一种基于GlusterFS的存储插件方法和系统,包括:预先创建好GlusterFS集群并在集群所有节点上安装代理服务,GlusterFS集群配置信息在Kubernetes集群中创建,创建GlusterFS存储类的StorageClass,配置存储类对应的集群和多组可供GlusterFS卷使用的挂载目录信息,接收应用存储分配请求,通过请求使用CSI插件完成GlusterFS存储卷的动态供应。本发明专利技术不需要在宿主机安装客户端,不依赖环境,更简单适用;实现了在容器编排系统中对GlusterFS存储的动态分配与挂载使用,无需人工干预。工干预。工干预。

【技术实现步骤摘要】
一种基于GlusterFS的存储插件方法和系统


[0001]本专利技术涉及Kubernetes存储领域,具体涉及一种基于GlusterFS的存储插件方法和系统。

技术介绍

[0002]GlusterFS (Gluster File System) 是一个开源的分布式文件系统,具有强大的横向扩展能力,能够通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。其基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。
[0003]Kubernetes,通常简称为k8s, 是一个容器编排(container orchestration)平台。它构建于docker、container等容器运行环境之上,用于管理容器化的工作负载和服务。k8s容器编排系统已经成为容器云平台的事实标准,越来越多的用户将应用部署 在k8s集群中,通常这些应用是需要持久化保存数据,但是k8s自带的存储插件却无法满足多样化应用的存储需求场景。
[0004]随着Kubernetes的普及和发展,越来越多的应用和中间件使用Kubernetes来部署和运维。当传统使用GlusterFS的应用迁移至云上时,无法便捷地进行存储资源的使用。Kubernetes原生的GlusterFS插件为FlexVolume实现,无法解决存储卷的动态分配,并且需要在宿主机安装GlusterFS客户端,会存在兼容性等问题。

技术实现思路

[0005]为克服现有技术的不足,本专利技术提出一种基于GlusterFS的存储插件方法和系统,可以实现GlusterFS存储卷的动态分配和挂载使用,无需人工干预。这一点可以大大提高开发人员的工作效率,减少手动操作的出错风险。
[0006]为实现上述目的,本专利技术提供了一种基于GlusterFS的存储插件方法,该方法包括以下步骤:步骤S1:创建GlusterFS集群并在集群节点上安装代理服务,GlusterFS集群配置信息以ConfigMap的形式在Kubernetes集群中创建;步骤S2:创建GlusterFS存储类的StorageClass,配置存储类对应的GlusterFS集群和卷使用的挂载目录信息;步骤S3:接收应用存储分配请求,通过请求携带的SotrageClassName使用CSI插件完成GlusterFS存储卷的动态供应。
[0007]进一步地,步骤S1中GlusterFS的集群配置信息包括:自定义全局唯一集群名称、日志文件目录、集群节点IP地址以及集群对应的多组可供GlusterFS卷使用的挂载目录信息。
[0008]进一步地,还包括:接收存储扩容请求,其中,所述存储扩容请求包含待扩容GlusterFS卷标识和扩容后大小。
[0009]进一步地,还包括:接收存储删除请求,其中,所述存储删除请求包含待删除GlusterFS卷标识。
[0010]进一步地,步骤S1具体如下;步骤S11:创建命名空间gluster:kubectl create namespace gluster;步骤S12:将ConfigMap声明文件保存为gluster

config.yaml文件;步骤S13:执行kubectl apply
ꢀ‑
f gluster

config.yaml
ꢀ‑
n gluster命令,创建ConfigMap资源。
[0011]进一步地,步骤S3具体如下,步骤S31:开发者提交PVC,指定GlusterFS卷大小和StorageClass;步骤S32:开发者提交Pod,指定使用的PVC;步骤S33:CSI Controller Plugin接收到PVC创建事件,通过UDS调用gRPC Controller service的CreateVolume接口创建GlusterFS卷;步骤S34:Kubelet watch到Pod时,通过UDS调用CSI插件的NodeStageVolume函数,实现GlusterFS卷的bind挂载并映射到Pod中。
[0012]进一步地,所述 Controller Plugin以Deploymnet的方式部署,负责对接GlusterFS集群节点上的代理服务实现GlusterFS存储卷供应。
[0013]进一步地,所述Node Plugin以DaemonSet的方式部署,负责将GlusterFS存储卷挂载到全局目录并映射到容器中。
[0014]一种基于GlusterFS的存储插件系统,应用于所述的一种基于GlusterFS的存储插件方法,包括GlusterFS集群模块、Kubernetes集群模块、CSI Driver模块、存储模块和应用程序模块;所述GlusterFS集群模块用于创建并维护一个GlusterFS集群,将多个存储节点组合在一起提供一个统一的文件系统;所述Kubernetes集群模块用于管理Kubernetes集群中的容器;所述CSI Driver模块用于提供Kubernetes和GlusterFS之间的接口;所述存储模块用于定义一组存储属性;所述应用程序模块用于创建Kubernetes Pod,并在Pod中使用存储卷来存储应用程序数据。
[0015]进一步地,所述存储模块使用Kubernetes的StorageClass对象来定义存储类,并指定使用的GlusterFS集群和卷使用的挂载目录信息。
[0016]与现有技术相比,本专利技术的有益效果为:1.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,可以实现GlusterFS存储卷的动态分配和挂载使用,无需人工干预。这一点可以大大提高开发人员的工作效率,减少手动操作的出错风险;2.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,相比于Kubernetes内置的GlusterFS插件,本专利技术不需要在宿主机安装GlusterFS客户端等依赖环境,更加简单易用。这一点可以降低运维难度和成本,同时也能够提高开发人员的工作效率和体验;3.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,支持多种存储类型,包括普通硬盘、SSD、分布式存储等,能够满足不同场景的存储需求;
4.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,采用GlusterFS分布式存储方案,具有高可用性和容错能力,能够保证数据的可靠性和稳定性;5.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,采用RBAC权限控制机制,能够对访问存储卷的用户和应用程序进行精确控制,保证存储数据的安全性和保密性;6.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,支持水平和垂直扩展,能够满足不同规模的存储需求,具有很好的可扩展性;7.本专利技术提供的一种基于GlusterFS的存储插件方法和系统,与Kubernetes生态系统完全兼容,可以无缝集成到Kubernetes集群中,与其他组件协同工作,具有很本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于GlusterFS的存储插件方法,其特征在于,该方法包括以下步骤:步骤S1:创建GlusterFS集群并在集群节点上安装代理服务,GlusterFS集群配置信息以ConfigMap的形式在Kubernetes集群中创建;步骤S2:创建GlusterFS存储类的StorageClass,配置存储类对应的GlusterFS集群和卷使用的挂载目录信息;步骤S3:接收应用存储分配请求,通过请求携带的SotrageClassName使用CSI插件完成GlusterFS存储卷的动态供应。2.根据权利要求1所述的一种基于GlusterFS的存储插件方法,其特征在于,步骤S1中GlusterFS的集群配置信息包括:自定义全局唯一集群名称、日志文件目录、集群节点IP地址以及集群对应的多组可供GlusterFS卷使用的挂载目录信息。3.根据权利要求1所述的一种基于GlusterFS的存储插件方法,其特征在于,还包括:接收存储扩容请求,接收存储扩容请求包含待扩容GlusterFS卷标识和扩容后大小。4.根据权利要求1所述的一种基于GlusterFS的存储插件方法,其特征在于,还包括:接收存储删除请求,接收存储删除请求包含待删除GlusterFS卷标识。5.根据权利要求1所述的一种基于GlusterFS的存储插件方法,其特征在于,步骤S1具体如下;步骤S11:创建命名空间gluster;步骤S12:将ConfigMap声明文件保存为gluster

config.yaml文件;步骤S13:执行kubectl apply
ꢀ‑
f gluster

config.yaml
ꢀ‑
n gluster命令,创建ConfigMap资源。6.根据权利要求1所述的一种基于GlusterFS的存储插件方法,其特征在于,步骤S3具体如下,步骤S31:开发者提交PVC,指定GlusterFS卷大小和StorageClass;步骤S32...

【专利技术属性】
技术研发人员:鲍钟峻沈广盼张正锋
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1