[发明专利]一种基于本地盘的容器存储资源动态分配的方法和系统有效
申请号: | 202111206877.2 | 申请日: | 2021-10-18 |
公开(公告)号: | CN113641311B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 鲍钟峻;姜志华;张正锋 | 申请(专利权)人: | 浩鲸云计算科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 南京中盟科创知识产权代理事务所(特殊普通合伙) 32279 | 代理人: | 张靖尧 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 地盘 容器 存储 资源 动态分配 方法 系统 | ||
1.一种基于本地盘的容器存储资源动态分配的方法,其特征在于,该方法包括以下步骤:
S1、对用户创建Kubernetes容器的请求进行接收;
S2、按照容器所需的存储资源进行资源调度,并给该容器进行Kubernetes宿主机的预分配;
S3、对容器所申请的持久卷请求进行预处理;
S4、将容器所申请的持久卷请求发送至预分配的宿主机;
S5、通过宿主机进行持久卷所需存储卷的创建;
S6、将该存储卷进行挂载,并给用户所创建的容器使用;
其中,所述S2中按照容器所需的存储资源进行资源调度,并给该容器进行Kubernetes宿主机的预分配还包括以下步骤:
S21、根据宿主机本地盘容量判断该宿主机本地盘是否满足存储容量的需求值,并筛选出可分配容器所需存储容量的宿主机列表;
S22、对筛选出的宿主机列表中各个宿主机进行打分,并选择出分值最低的宿主机作为容器存储资源的预分配节点;所述S22中对筛选出的宿主机列表中各个宿主机进行打分时,打分规则按如下公式:其中,Local_Disk_Size表示宿主机的本地盘剩余可用容量,单位为字节;Local_Disk_Size/ 109表示将宿主机的本地盘剩余可用容量的单位换算成GB;Disk_Weight表示宿主机的本地盘的权重值,该值=1,默认值为1,本地盘的Disk_Weight值越小,该盘的空间越会优先被分配出去;
所述S5中通过宿主机进行持久卷所需存储卷的创建还包括以下步骤:
S51、接受容器所申请持久卷的存储卷创建请求;
S52、解析该存储卷创建需求,并获得用于该存储卷的VG卷组、容量大小及文件系统类型,其中,该文件系统类型包括xfs和ext4;
S53、在VG卷组上,创建需求大小的存储卷;
S54、按步骤S52所解析出的文件系统类型,对该存储卷进行格式化;
其中,所用到的卷管理命令如下:
;
其中,Vol_Size为存储卷的大小,默认单位为m,Vol_Name为存储卷名称,VG_Name为本地盘的VG名称。
2.根据权利要求1所述的一种基于本地盘的容器存储资源动态分配的方法,其特征在于,所述S1中对用户创建Kubernetes容器的请求进行接收还包括以下步骤:
S11、通过Kubernetes集群实时监听用户向Kubernetes发起的Pod的创建请求;
S12、通过Kubernetes集群对请求解析出容器的存储资源需求。
3.根据权利要求2所述的一种基于本地盘的容器存储资源动态分配的方法,其特征在于,所述S1中对用户创建Kubernetes容器的请求进行接收时,请求包含存储容量大小的需求值。
4.根据权利要求1所述的一种基于本地盘的容器存储资源动态分配的方法,其特征在于,所述S3中对容器所申请的持久卷请求进行预处理时,具体查询步骤S2中预分配节点的可调用的gRPC接口地址,且通过读取接收到的PV创建请求,获取容器的唯一标识,同时使用该标识访问Kubernetes获取到预分配的宿主机IP地址。
5.根据权利要求1所述的一种基于本地盘的容器存储资源动态分配的方法,其特征在于,所述S4中将容器所申请的持久卷请求发送至预分配的宿主机时,通过宿主机IP和端口向该宿主机上的本地盘管理接口发生创建存储卷的请求。
6.根据权利要求1所述的一种基于本地盘的容器存储资源动态分配的方法,其特征在于,所述S6中将该存储卷进行挂载,并给用户所创建的容器使用还包括以下步骤:
S61、将创建的所述存储卷信息返回给Kubernetes;
S62、由Kubernetes给宿主机发起创建容器的指令;
S63、宿主机创建该容器,并在存储挂载阶段,将存储卷从宿主机操作系统层映射到容器中使用。
7.一种基于本地盘的容器存储资源动态分配的系统,用于实现权利要求1-6任一项的所述一种基于本地盘的容器存储资源动态分配的方法,其特征在于,该系统包括:容器存储资源预分配模块、存储资源分配调度模块、宿主机本地盘管理模块及宿主机存储访问模块;
其中,所述容器存储资源预分配模块,用于对具备本地盘存储资源的宿主机进行是否满足容器存储资源需求的过滤,并对满足需求的宿主机本地盘存储资源进行打分;
所述存储资源分配调度模块,用于根据接受到的容器所需创建、删除持久卷的存储卷信息,查找出预分配宿主机本地盘管理模块的gRPC接口地址,并将容器存储请求发送给宿主机本地盘管理模块;
所述宿主机本地盘管理模块,用于提供宿主机本地盘存储资源的创建、删除、修改、查询接口,并为其他功能模块提供接口调用服务;
所述宿主机存储访问模块,用于将该宿主机本地盘为容器分配的存储卷资源挂载到Kubernetes容器中,供其使用;
其中,所述宿主机包括裸金属服务器、私有云虚拟机及公有云弹性云服务器中的至少一种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浩鲸云计算科技股份有限公司,未经浩鲸云计算科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111206877.2/1.html,转载请声明来源钻瓜专利网。