CN116088768B - 动态存储分配方法、装置、电子设备和存储介质 - Google Patents
动态存储分配方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116088768B CN116088768B CN202310165351.7A CN202310165351A CN116088768B CN 116088768 B CN116088768 B CN 116088768B CN 202310165351 A CN202310165351 A CN 202310165351A CN 116088768 B CN116088768 B CN 116088768B
- Authority
- CN
- China
- Prior art keywords
- storage
- template
- persistent volume
- storage class
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 577
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000002085 persistent effect Effects 0.000 claims abstract description 289
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 abstract description 2
- 230000037430 deletion Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 230000002688 persistence Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种动态存储分配方法、装置、电子设备和存储介质,涉及计算机技术领域,应用于容器集群管理系统,包括:获取目标存储类型;根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明采用模板适配器生成存储类模板以创建存储类,便于用户对所需持久卷进行更准确的定义,避免由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;避免数据误删,导致丢失应用产生的重要数据,应用重建失败的问题。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种动态存储分配方法、一种动态存储分配装置、一种电子设备和一种计算机可读存储介质。
背景技术
Kubernetes,也称为K8s,是一个开源系统,可以用于自动化容器化应用程序的部署、扩展和管理,可以提供与静态存储分配相对应的动态存储分配(DynamicProvisioning)的解决方案。当资源供应使用的是动态模式时,Kubernetes系统可以在为PVC(PersistentVolume Claim,持久卷声明请求)找到合适的StorageClass(存储类)后,自动创建一个PV(PersistentVolume,持久卷)并完成与PVC的绑定。
Kubernetes可以支持多种PV类型,每种存储类型都有各自的特点,在使用时需要根据它们各自的参数进行设置。由于Kubernetes支持的存储类型众多,且不同存储类型提供的参数差异较大,容易导致对应的StorageClass参数配置不同,并且某些参数不显示设定,导致管理员配置工作繁琐,常常由于不同存储类型参数不同而配置错误,从而导致PV创建错误,应用启动失败,直到管理员修改正确为止。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种动态存储分配方法、一种动态存储分配装置、一种电子设备和一种计算机可读存储介质。
为了解决上述问题,本发明实施例公开了一种动态存储分配方法,所述方法应用于容器集群管理系统,所述方法包括:
获取目标存储类型;
根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类;
获取用户创建的用于申请存储资源的持久卷声明请求;
根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷。
可选地,在所述获取目标存储类型之前,还包括:
判断是否已部署持久卷置备程序;
若未部署持久卷置备程序,则返回未部署信息以使集群管理员部署持久卷置备程序。
可选地,在所述部署持久卷置备程序时,所述方法还包括:
触发模板适配器获取各个存储类型对应的存储定义参数,生成各个存储类型对应的模板配置信息并保存至数据库中。
可选地,所述触发模板适配器获取各个存储类型对应的存储定义参数,包括:
触发模板适配器获取所述持久卷置备程序提供的各个存储类型对应的存储定义参数。
可选地,所述模板配置信息包括模板生成规则和模板参数推荐,所述生成各个存储类型对应的模板配置信息并保存至数据库中,包括:
生成各个存储类型对应的模板生成规则和模板参数推荐并保存至数据库中。
可选地,所述获取目标存储类型,包括:
获取至少一个目标存储提供对象对应的至少一个目标存储类型,所述存储提供对象为用于提供持久卷资源的对象。
可选地,所述根据所述目标存储类型,采用模板适配器生成存储类模板,包括:
采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
可选地,所述采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板,包括:
向模板适配器发送集群管理员输入的目标存储类型,以使所述模板适配器在接收到所述目标存储类型后,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
可选地,在所述基于所述存储类模板创建存储类之前,还包括:
响应于用户输入的模板配置信息修改指令,修改所述目标存储类型对应的模板生成规则和模板参数推荐。
可选地,所述基于所述存储类模板创建存储类,包括:
基于所述存储类模板,创建与所述至少一个目标存储类型一一对应的至少一个存储类。
可选地,所述基于所述存储类模板创建存储类,还包括:
设置一个默认存储类,所述默认存储类应用于未指定存储类的持久卷声明请求。
可选地,所述存储类模板包括存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,所述基于所述存储类模板创建存储类,包括:
基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,创建存储类。
可选地,所述获取用户创建的用于申请存储资源的持久卷声明请求,包括:
获取用户创建的引用所述至少一个存储类中的目标存储类的持久卷声明请求。
可选地,所述根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,包括:
查找所述目标存储类;
采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷。
可选地,所述持久卷声明请求包括访问模式信息和存储大小信息,所述采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷,包括:
采用所述持久卷置备程序,根据所述访问模式信息、存储大小信息以及目标存储类型对应的存储定义参数,在所述目标存储类中置备新的持久卷。
可选地,所述创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,包括:
获取所述持久卷置备程序指定的真实存储;
在所述真实存储创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求。
可选地,所述方法还包括:
创建包含通过名称引用持久卷声明请求的持久卷的数据结构。
本发明实施例还公开了一种动态存储分配装置,所述装置应用于容器集群管理系统,所述装置包括:
获取模块,用于获取目标存储类型;
模板生成模块,用于根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类;所述存储类模板包括所述目标存储类型对应的存储定义参数;
请求获取模块,用于获取用户创建的用于申请存储资源的持久卷声明请求;
分配模块,用于根据所述持久卷声明请求和所述目标存储类型对应的存储定义参数,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷。
可选地,在所述获取目标存储类型之前,还包括:
判断模块,用于判断是否已部署持久卷置备程序;
返回模块,用于若未部署持久卷置备程序,则返回未部署信息以使集群管理员部署持久卷置备程序。
可选地,在所述部署持久卷置备程序时,所述装置还包括:
触发模块,用于触发模板适配器获取各个存储类型对应的存储定义参数,生成各个存储类型对应的模板配置信息并保存至数据库中。
可选地,所述触发模块,包括:
定义参数获取子模块,用于触发模板适配器获取所述持久卷置备程序提供的各个存储类型对应的存储定义参数。
可选地,所述模板配置信息包括模板生成规则和模板参数推荐,所述触发模块,包括:
模板参数生成子模块,用于生成各个存储类型对应的模板生成规则和模板参数推荐并保存至数据库中。
可选地,所述获取模块,包括:
存储类型获取子模块,用于获取至少一个目标存储提供对象对应的至少一个目标存储类型,所述存储提供对象为用于提供持久卷资源的对象。
可选地,所述模板生成模块,包括:
存储类模板生成子模块,用于采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
可选地,所述存储类模板生成子模块,包括:
目标存储类型发送单元,用于向模板适配器发送集群管理员输入的目标存储类型,以使所述模板适配器在接收到所述目标存储类型后,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
可选地,在所述基于所述存储类模板创建存储类之前,还包括:
指令响应模块,用于响应于用户输入的模板配置信息修改指令,修改所述目标存储类型对应的模板生成规则和模板参数推荐。
可选地,所述模板生成模块,包括:
创建子模块,用于基于所述存储类模板,创建与所述至少一个目标存储类型一一对应的至少一个存储类。
可选地,所述模板生成模块,还包括:
默认存储类设置子模块,用于设置一个默认存储类,所述默认存储类应用于未指定存储类的持久卷声明请求。
可选地,所述存储类模板包括存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,所述模板生成模块,包括:
存储类创建子模块,用于基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,创建存储类。
可选地,所述请求获取模块,包括:
持久卷声明请求获取子模块,用于获取用户创建的引用所述至少一个存储类中的目标存储类的持久卷声明请求。
可选地,所述分配模块,包括:
查找子模块,用于查找所述目标存储类;
置备子模块,用于采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷。
可选地,所述持久卷声明请求包括访问模式信息和存储大小信息,所述置备子模块,包括:
持久卷置备单元,用于采用所述持久卷置备程序,根据所述访问模式信息、存储大小信息以及目标存储类型对应的存储定义参数,在所述目标存储类中置备新的持久卷。
可选地,所述分配模块,包括:
真实存储获取子模块,用于获取所述持久卷置备程序指定的真实存储;
绑定子模块,用于在所述真实存储创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求。
可选地,所述装置还包括:
数据结构创建模块,用于创建包含通过名称引用持久卷声明请求的持久卷的数据结构。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的动态存储分配方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的动态存储分配方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,可以获取目标存储类型,根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的用于申请存储资源的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明实施例通过采用模板适配器生成存储类模板以基于存储类模板创建存储类,可以方便用户对所需持久卷进行更精细、准确的定义,避免用户由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;此外,还可以保证持久卷按照用户需要的方式进行回收,避免数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败的问题。
附图说明
图1是本发明实施例提供的一种动态存储分配方法的步骤流程图;
图2是本发明实施例提供的另一种动态存储分配方法的步骤流程图;
图3是本发明实施例提供的一种基于Kubernetes的动态存储分配流程示意图;
图4是本发明实施例提供的一种动态存储分配装置的结构框图;
图5是本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
Kubernetes,也称为K8s,是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。在Kubernetes中,对存储资源的管理方式与计算资源(CPU(Central ProcessingUnit,中央处理器)/内存)截然不同。为了能够屏蔽底层存储实现的细节,让用户方便使用及管理员方便管理,Kubernetes引入了PersistentVolume(PV)和Persistent VolumeClaim(PVC)两个资源对象来实现存储管理子系统。
PV(持久卷)是对存储资源的抽象,将存储定义为一种容器应用可以使用的资源。PV由管理员创建和配置,它与存储提供商的具体实现直接相关,例如GlusterFS、 iSCSI(Internet Small Computer SystemInterface,网络小型计算机接口)、 RBD(RADOS BlockDevice,块存储,一种构建在RADOS集群之上为客户端提供块设备接口的存储服务中间层)或GCE(Google公有云)或AWS(Amazon Web Services,亚马逊云平台)公有云提供的共享存储,通过插件式的机制进行管理,供应用访问和使用。除了EmptyDir类型的存储卷,PV的生命周期独立于使用它的Pod。
PVC则是用户对存储资源的一个申请。就像Pod消耗Node的资源一样,PVC消耗PV资源。PVC可以申请存储空间的大小(size)和访问模式(例如ReadWriteOnce、ReadOnlyMany或ReadWriteMany)。
使用PVC申请的存储空间可能仍然不满足应用对存储设备的各种需求。在很多情况下,应用程序对存储设备的特性和性能都有不同的要求,包括读写速度、并发性能、数据冗余等要求,Kubernetes从1.4版本开始引入了一个新的资源对象StorageClass(SC),用于标记存储资源的特性和性能,根据PVC的需求动态供给合适的PV资源。到Kubernetes 1.6版本时,StorageClass和存储资源动态供应的机制得到完善,实现了存储卷的按需创建,在共享存储的自动化管理进程中实现了重要的一步。
通过StorageClass的定义,管理员可以将存储资源定义为某种类别( Class),正如存储设备对于自身的配置描述(Profile),例如快速存储、慢速存储、有数据冗余、无数据冗余等。用户根据StorageClass的描述就可以直观地得知各种存储资源的特性,根据应用对存储资源的需求去申请存储资源了。
在用户定义好PVC之后,系统将根据PVC对存储资源的请求(存储空间和访问模式)在已存在的PV中选择一个满足PVC要求的PV,一旦找到,就将该PV与用户定义的PVC绑定,用户的应用就可以使用这个PVC了。此时会带来两个问题:
1、如果在系统中没有满足PVC要求的PV,PVC则会无限期处于Pending状态,直到系统管理员创建了一个符合其要求的PV,影响业务部属;
2、另外,PV一旦与某个PVC上完成绑定,就会被这个PVC独占,不能再与其他PVC绑定。PVC与PV的绑定关系是一对一的,不会存在一对多的情况。如果PVC申请的存储空间比PV拥有的空间少,则整个PV的空间都能为PVC所用,可能造成资源的浪费。譬如,某个PersistentVolumeClaim 要求 3GB 的存储容量,当前 Kubernetes 手上只剩下一个 5GB的 PersistentVolume 了,此时 Kubernetes 只好将这个PersistentVolume 与申请资源的PersistentVolumeClaim 进行绑定,平白浪费了 2GB 空间。假设后续有另一个PersistentVolumeClaim 申请 2GB 的存储空间,那它也只能等待管理员分配新的PersistentVolume,或者有其他PersistentVolume 被回收之后才被能成功分配。
在启用动态供应模式时,一旦用户删除了PVC,与之绑定的PV也会由于其默认的回收策略“Delete”而被删除。如果需要保留存储有用户数据的PV,则在动态绑定成功后,用户需要将系统自动生成PV的回收策略从“Delete”改成“Retain”。然而,如果用户忘记修改,会造成数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败。
Kubernetes可以支持多种PV类型,每种存储类型都有各自的特点,在使用时需要根据它们各自的参数进行设置。由于kubernetes支持的存储类型众多,且不同存储类型提供的参数差异较大,容易导致对应的StorageClass参数配置不同,并且某些参数不显示设定,导致管理员配置工作繁琐,常常由于不同存储类型参数不同而配置错误,从而导致PV创建错误,应用启动失败,直到管理员修改正确为止。
本发明实施例的核心构思之一在于,可以获取目标存储类型,根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的用于申请存储资源的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明实施例通过采用模板适配器生成存储类模板以基于存储类模板创建存储类,可以方便用户对所需持久卷进行更精细、准确的定义,避免用户由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;此外,还可以保证持久卷按照用户需要的方式进行回收,避免数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败的问题。
参照图1,示出了本发明实施例提供的一种动态存储分配方法的步骤流程图,所述方法应用于容器集群管理系统,所述方法具体可以包括如下步骤:
步骤101,获取目标存储类型。
在本发明实施例中,管理员可以指定至少一种目标存储类型,容器集群管理系统可以支持多种持久卷类型,例如:
◎AWSElasticBlockStore:AWS公有云提供的Elastic Block Store。
◎ AzureFile:Azure公有云提供的File。
◎ AzureDisk:Azure公有云提供的Disk。
◎ CephFS:一种开源共享存储系统。
◎ Cinder:OpenStack块存储系统。
◎ FC(Fibre Channel):光纤存储设备。
◎ FlexVolume:一种插件式的存储机制。
◎ Flocker:一种开源共享存储系统。
◎ GCEPersistentDisk:GCE公有云提供的Persistent Disk。
◎ Glusterfs:一种开源共享存储系统。
◎ HostPath:宿主机目录,仅用于单机测试。
◎ iSCSI:iSCSI存储设备。
◎ Local:本地存储设备,从Kubernetes 1.7版本开始引入,到1.14版本时达到稳定版本,目前可以通过指定块设备(Block Device)提供Local PV,或通过社区开发的sig-storage-local-static-provisioner插件管理Local PV的生命周期。
◎ NFS:网络文件系统。
◎ Portworx Volumes:Portworx提供的存储服务。
◎ Quobyte Volumes:Quobyte提供的存储服务。
◎ RBD(Ceph BlockDevice):Ceph块存储。
◎ ScaleIO Volumes:DellEMC的存储设备。
◎ StorageOS:StorageOS提供的存储服务。
◎ VsphereVolume:VMWare提供的存储系统。
步骤102,根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类。
在本发明实施例中,在获取管理员指定的至少一种目标存储类型后,可以根据至少一种目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类。
步骤103,获取用户创建的用于申请存储资源的持久卷声明请求。
在本发明实施例中,用户可以创建用于申请存储资源的持久卷声明请求,系统可以获取用户创建的用于申请存储资源的持久卷声明请求。
步骤104,根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷。
在本发明实施例中,可以根据用户创建的持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,从而针对持久卷声明请求分配持久卷。
在本发明实施例中,可以获取目标存储类型,根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的用于申请存储资源的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明实施例通过采用模板适配器生成存储类模板以基于存储类模板创建存储类,可以方便用户对所需持久卷进行更精细、准确的定义,避免用户由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;此外,还可以保证持久卷按照用户需要的方式进行回收,避免数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败的问题。
参照图2,示出了本发明实施例提供的一种动态存储分配方法的步骤流程图,所述方法应用于容器集群管理系统,所述方法具体可以包括如下步骤:
步骤201,判断是否已部署持久卷置备程序;
在本发明实施例中,可以首先判断是否已部署持久卷置备程序。
步骤202,若未部署持久卷置备程序,则返回未部署信息以使集群管理员部署持久卷置备程序。
在具体实现中,如果未安装持久卷制备程序,集群管理员可以设置持久卷制备程序,用于具体到某类存储的实际创建、删除等操作。容器集群管理系统可以提供统一标准,持久卷制备程序可以按照标准提供存储定义参数。
在一种可选的实施例中,在所述部署持久卷置备程序时,所述方法还可以包括:触发模板适配器获取各个存储类型对应的存储定义参数,生成各个存储类型对应的模板配置信息并保存至数据库中。
在一种可选的实施例中,所述触发模板适配器获取各个存储类型对应的存储定义参数,可以包括:触发模板适配器获取所述持久卷置备程序提供的各个存储类型对应的存储定义参数。
在一种可选的实施例中,所述模板配置信息包括模板生成规则和模板参数推荐,所述生成各个存储类型对应的模板配置信息并保存至数据库中,可以包括:生成各个存储类型对应的模板生成规则和模板参数推荐并保存至数据库中。
在具体实现中,在安装持久卷置备程序时,可以触发模板适配器去获取持久卷置备程序提供的各个存储类型对应的存储定义参数,同时生成模板生成规则和模板参数推荐并保存到数据库中。
步骤203,获取目标存储类型。
在一种可选的实施例中,所述步骤203可以包括:获取至少一个目标存储提供对象对应的至少一个目标存储类型,所述存储提供对象为用于提供持久卷资源的对象。
在具体实现中,管理员可以指定一个或多个存储提供对象,描述存储资源的提供对象,用于提供具体的持久卷资源,也可以将其看作后端存储驱动。
步骤204,根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类。
在一种可选的实施例中,所述根据所述目标存储类型,采用模板适配器生成存储类模板,可以包括:采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
在一种可选的实施例中,所述采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板,包括:向模板适配器发送集群管理员输入的目标存储类型,以使所述模板适配器在接收到所述目标存储类型后,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
在具体实现中,模板适配器可以在接收到管理员输入的存储提供对象后,向数据库查询对应类型的模板生成规则和模板参数推荐,根据查询到的信息生成一个或多个存储类模板。
在一种可选的实施例中,在所述基于所述存储类模板创建存储类之前,还可以包括:响应于用户输入的模板配置信息修改指令,修改所述目标存储类型对应的模板生成规则和模板参数推荐。
在一种可选的实施例中,所述基于所述存储类模板创建存储类,可以包括:基于所述存储类模板,创建与所述至少一个目标存储类型一一对应的至少一个存储类。
在一种可选的实施例中,所述基于所述存储类模板创建存储类,还可以包括:设置一个默认存储类,所述默认存储类应用于未指定存储类的持久卷声明请求。
在具体实现中,管理员可以根据生成的模板根据实际需要修改对应参数,创建一个或多个存储卷,并可以在集群级别设置一个默认的存储卷,为那些未指定存储卷的持久卷声明请求使用。
在一种可选的实施例中,所述存储类模板包括存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,所述基于所述存储类模板创建存储类,可以包括:
基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,创建存储类。
在具体实现中,存储类模板可以包括存储提供者、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式、存储参数等不同维度的信息和推荐配置,可以基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数等不同维度的信息和推荐配置,创建存储类。
步骤205,获取用户创建的用于申请存储资源的持久卷声明请求。
在一种可选的实施例中,所述步骤205可以包括:获取用户创建的引用所述至少一个存储类中的目标存储类的持久卷声明请求。
在具体实现中,用户可以创建一个引用其中一个存储类的持久卷声明请求,系统可以获取用户创建的用于申请存储资源的持久卷声明请求。
步骤206,根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷。
在一种可选的实施例中,所述根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,可以包括:查找所述目标存储类;采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷。
在一种可选的实施例中,所述持久卷声明请求包括访问模式信息和存储大小信息,所述采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷,可以包括:采用所述持久卷置备程序,根据所述访问模式信息、存储大小信息以及目标存储类型对应的存储定义参数,在所述目标存储类中置备新的持久卷。
在具体实现中,容器集群管理系统可以查找其中引用的存储类和置备程序,并要求置备程序根据持久卷声明请求的访问模式和存储大小,以及参数在存储类中置备新的持久卷。
在一种可选的实施例中,所述创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,可以包括:获取所述持久卷置备程序指定的真实存储;在所述真实存储创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求。
在具体实现中,置备程序指定了真实的存储,创建一个持久卷,并将其绑定到持久卷声明请求。
在一种可选的实施例中,所述方法还可以包括:创建包含通过名称引用持久卷声明请求的持久卷的数据结构。
在具体实现中,用户可以创建一个包含通过名称引用持久卷声明请求的存储卷的数据结构。
在本发明实施例中,可以获取目标存储类型,根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的用于申请存储资源的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明实施例通过采用模板适配器生成存储类模板以基于存储类模板创建存储类,可以方便用户对所需持久卷进行更精细、准确的定义,避免用户由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;此外,还可以保证持久卷按照用户需要的方式进行回收,避免数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败的问题。
为了使本领域技术人员更好地理解本发明实施例,下面对本发明实施例加以说明。参照图3,为本发明实施例提供的一种基于容器集群管理系统的动态存储分配流程示意图。
步骤一:如果尚未部署持久卷制备程序,集群管理员设置持久卷制备程序。
步骤二:管理员指定存储提供者(存储类型)。
步骤三:模板适配器根据存储类型生成一个或多个存储类模板。
步骤四:管理员根据模板创建一个或多个存储类并将其标记为默认值。
步骤五:用户创建一个应用其中一个存储类的持久卷声明请求。
步骤六:容器集群管理系统查找其中引用的存储类和置备程序,并要求置备程序根据持久卷声明请求的访问模式和存储大小,以及参数在存储类中置备新的持久卷。
步骤七:置备程序指定了真实的存储,创建一个持久卷,并将其绑定到持久卷声明请求。
步骤八:用户创建一个包含通过名称引用持久卷声明请求的存储卷的数据结构。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例提供的一种动态存储分配装置的结构框图,所述装置应用于容器集群管理系统,具体可以包括如下模块:
获取模块401,用于获取目标存储类型;
模板生成模块402,用于根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类;所述存储类模板包括所述目标存储类型对应的存储定义参数;
请求获取模块403,用于获取用户创建的用于申请存储资源的持久卷声明请求;
分配模块404,用于根据所述持久卷声明请求和所述目标存储类型对应的存储定义参数,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷。
在一种可选的实施例中,在所述获取目标存储类型之前,还包括:
判断模块,用于判断是否已部署持久卷置备程序;
返回模块,用于若未部署持久卷置备程序,则返回未部署信息以使集群管理员部署持久卷置备程序。
在一种可选的实施例中,在所述部署持久卷置备程序时,所述装置还包括:
触发模块,用于触发模板适配器获取各个存储类型对应的存储定义参数,生成各个存储类型对应的模板配置信息并保存至数据库中。
在一种可选的实施例中,所述触发模块,包括:
定义参数获取子模块,用于触发模板适配器获取所述持久卷置备程序提供的各个存储类型对应的存储定义参数。
在一种可选的实施例中,所述模板配置信息包括模板生成规则和模板参数推荐,所述触发模块,包括:
模板参数生成子模块,用于生成各个存储类型对应的模板生成规则和模板参数推荐并保存至数据库中。
在一种可选的实施例中,所述获取模块,包括:
存储类型获取子模块,用于获取至少一个目标存储提供对象对应的至少一个目标存储类型,所述存储提供对象为用于提供持久卷资源的对象。
在一种可选的实施例中,所述模板生成模块,包括:
存储类模板生成子模块,用于采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
在一种可选的实施例中,所述存储类模板生成子模块,包括:
目标存储类型发送单元,用于向模板适配器发送集群管理员输入的目标存储类型,以使所述模板适配器在接收到所述目标存储类型后,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
在一种可选的实施例中,在所述基于所述存储类模板创建存储类之前,还包括:
指令响应模块,用于响应于用户输入的模板配置信息修改指令,修改所述目标存储类型对应的模板生成规则和模板参数推荐。
在一种可选的实施例中,所述模板生成模块,包括:
创建子模块,用于基于所述存储类模板,创建与所述至少一个目标存储类型一一对应的至少一个存储类。
在一种可选的实施例中,所述模板生成模块,还包括:
默认存储类设置子模块,用于设置一个默认存储类,所述默认存储类应用于未指定存储类的持久卷声明请求。
在一种可选的实施例中,所述存储类模板包括存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,所述模板生成模块,包括:
存储类创建子模块,用于基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,创建存储类。
在一种可选的实施例中,所述请求获取模块,包括:
持久卷声明请求获取子模块,用于获取用户创建的引用所述至少一个存储类中的目标存储类的持久卷声明请求。
在一种可选的实施例中,所述分配模块,包括:
查找子模块,用于查找所述目标存储类;
置备子模块,用于采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷。
在一种可选的实施例中,所述持久卷声明请求包括访问模式信息和存储大小信息,所述置备子模块,包括:
持久卷置备单元,用于采用所述持久卷置备程序,根据所述访问模式信息、存储大小信息以及目标存储类型对应的存储定义参数,在所述目标存储类中置备新的持久卷。
在一种可选的实施例中,所述分配模块,包括:
真实存储获取子模块,用于获取所述持久卷置备程序指定的真实存储;
绑定子模块,用于在所述真实存储创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求。
在一种可选的实施例中,所述装置还包括:
数据结构创建模块,用于创建包含通过名称引用持久卷声明请求的持久卷的数据结构。
在本发明实施例中,可以获取目标存储类型,根据目标存储类型,采用模板适配器生成存储类模板,以基于存储类模板创建存储类;获取用户创建的用于申请存储资源的持久卷声明请求;根据持久卷声明请求,在创建的存储类中置备新的持久卷,并创建新的持久卷,将新的持久卷绑定到持久卷声明请求,以针对持久卷声明请求分配持久卷。本发明实施例通过采用模板适配器生成存储类模板以基于存储类模板创建存储类,可以方便用户对所需持久卷进行更精细、准确的定义,避免用户由于不同存储类型参数配置错误,导致持久卷创建错误,应用启动失败的问题;此外,还可以保证持久卷按照用户需要的方式进行回收,避免数据误删,影响有状态的容器应用或者对数据有持久化需求应用的数据保存,丢失应用产生的重要数据,导致应用重建失败的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,参照图5,为本发明实施例提供的一种电子设备的示意图,该电子设备包括:处理器51、存储器52及存储在所述存储器52上并能够在所述处理器51上运行的计算机程序53,该计算机程序被处理器执行时实现上述动态存储分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述动态存储分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的动态存储分配方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (19)
1.一种动态存储分配方法,其特征在于,所述方法应用于容器集群管理系统,所述方法包括:
获取目标存储类型;
根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类;
获取用户创建的用于申请存储资源的持久卷声明请求;
根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷;
其中,所述根据所述目标存储类型,采用模板适配器生成存储类模板包括:
采用模板适配器,向数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板;其中,所述数据库用于存储各个存储类型对应的模板生成规则和模板参数推荐。
2.根据权利要求1所述的方法,其特征在于,在所述获取目标存储类型之前,还包括:
判断是否已部署持久卷置备程序;
若未部署持久卷置备程序,则返回未部署信息以使集群管理员部署持久卷置备程序。
3.根据权利要求2所述的方法,其特征在于,在所述部署持久卷置备程序时,所述方法还包括:
触发模板适配器获取各个存储类型对应的存储定义参数,生成各个存储类型对应的模板配置信息并保存至数据库中。
4.根据权利要求3所述的方法,其特征在于,所述触发模板适配器获取各个存储类型对应的存储定义参数,包括:
触发模板适配器获取所述持久卷置备程序提供的各个存储类型对应的存储定义参数。
5.根据权利要求3所述的方法,其特征在于,所述模板配置信息包括模板生成规则和模板参数推荐,所述生成各个存储类型对应的模板配置信息并保存至数据库中,包括:
生成各个存储类型对应的模板生成规则和模板参数推荐并保存至数据库中。
6.根据权利要求4所述的方法,其特征在于,所述获取目标存储类型,包括:
获取至少一个目标存储提供对象对应的至少一个目标存储类型,所述存储提供对象为用于提供持久卷资源的对象。
7.根据权利要求1所述的方法,其特征在于,所述采用模板适配器,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板,包括:
向模板适配器发送集群管理员输入的目标存储类型,以使所述模板适配器在接收到所述目标存储类型后,向所述数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板。
8.根据权利要求7所述的方法,其特征在于,在所述基于所述存储类模板创建存储类之前,还包括:
响应于用户输入的模板配置信息修改指令,修改所述目标存储类型对应的模板生成规则和模板参数推荐。
9.根据权利要求6所述的方法,其特征在于,所述基于所述存储类模板创建存储类,包括:
基于所述存储类模板,创建与所述至少一个目标存储类型一一对应的至少一个存储类。
10.根据权利要求9所述的方法,其特征在于,所述基于所述存储类模板创建存储类,还包括:
设置一个默认存储类,所述默认存储类应用于未指定存储类的持久卷声明请求。
11.根据权利要求1所述的方法,其特征在于,所述存储类模板包括存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,所述基于所述存储类模板创建存储类,包括:
基于存储提供对象、资源回收策略、是否允许存储扩容、挂载选项、存储绑定模式和存储参数中的至少一种,创建存储类。
12.根据权利要求9所述的方法,其特征在于,所述获取用户创建的用于申请存储资源的持久卷声明请求,包括:
获取用户创建的引用所述至少一个存储类中的目标存储类的持久卷声明请求。
13.根据权利要求12所述的方法,其特征在于,所述根据所述持久卷声明请求,在创建的存储类中置备新的持久卷,包括:
查找所述目标存储类;
采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷。
14.根据权利要求13所述的方法,其特征在于,所述持久卷声明请求包括访问模式信息和存储大小信息,所述采用所述持久卷置备程序,根据持久卷声明请求,在所述目标存储类中置备新的持久卷,包括:
采用所述持久卷置备程序,根据所述访问模式信息、存储大小信息以及目标存储类型对应的存储定义参数,在所述目标存储类中置备新的持久卷。
15.根据权利要求14所述的方法,其特征在于,所述创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,包括:
获取所述持久卷置备程序指定的真实存储;
在所述真实存储创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
创建包含通过名称引用持久卷声明请求的持久卷的数据结构。
17.一种动态存储分配装置,其特征在于,所述装置应用于容器集群管理系统,所述装置包括:
获取模块,用于获取目标存储类型;
模板生成模块,用于根据所述目标存储类型,采用模板适配器生成存储类模板,以基于所述存储类模板创建存储类;所述存储类模板包括所述目标存储类型对应的存储定义参数;
请求获取模块,用于获取用户创建的用于申请存储资源的持久卷声明请求;
分配模块,用于根据所述持久卷声明请求和所述目标存储类型对应的存储定义参数,在创建的存储类中置备新的持久卷,并创建所述新的持久卷,将所述新的持久卷绑定到所述持久卷声明请求,以针对所述持久卷声明请求分配持久卷;
其中,所述模板生成模块包括:
存储类模板生成子模块,采用模板适配器,向数据库查询所述目标存储类型对应的模板生成规则和模板参数推荐,并根据所述目标存储类型对应的模板生成规则和模板参数推荐,生成存储类模板;其中,所述数据库用于存储各个存储类型对应的模板生成规则和模板参数推荐。
18.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-16中任一项所述的动态存储分配方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16中任一项所述的动态存储分配方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165351.7A CN116088768B (zh) | 2023-02-24 | 2023-02-24 | 动态存储分配方法、装置、电子设备和存储介质 |
PCT/CN2023/141624 WO2024174717A1 (zh) | 2023-02-24 | 2023-12-25 | 动态存储分配方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165351.7A CN116088768B (zh) | 2023-02-24 | 2023-02-24 | 动态存储分配方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116088768A CN116088768A (zh) | 2023-05-09 |
CN116088768B true CN116088768B (zh) | 2023-07-14 |
Family
ID=86186903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310165351.7A Active CN116088768B (zh) | 2023-02-24 | 2023-02-24 | 动态存储分配方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116088768B (zh) |
WO (1) | WO2024174717A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116088768B (zh) * | 2023-02-24 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 动态存储分配方法、装置、电子设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963349B2 (en) * | 2017-08-25 | 2021-03-30 | Vmware, Inc. | Containerized application snapshots |
CN109144723B (zh) * | 2018-07-23 | 2022-11-11 | 北京轻元科技有限公司 | 一种分配存储空间的方法和终端 |
CN113296871A (zh) * | 2020-04-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 容器组实例的处理方法、设备及系统 |
CN114253459A (zh) * | 2020-09-22 | 2022-03-29 | 北京金山云网络技术有限公司 | 创建持久数据卷的方法、装置和服务器 |
CN111966305B (zh) * | 2020-10-22 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 持久卷分配方法、装置、计算机设备和存储介质 |
CN113849137B (zh) * | 2021-10-13 | 2023-08-01 | 上海威固信息技术股份有限公司 | 一种面向申威容器平台的可视化块存储方法和系统 |
CN114327784A (zh) * | 2021-12-31 | 2022-04-12 | 中国联合网络通信集团有限公司 | 基于位置信息的Kubernetes存储资源绑定方法、系统、设备及介质 |
CN114756170B (zh) * | 2022-04-02 | 2023-03-24 | 苏州空天信息研究院 | 一种面向容器应用的存储隔离系统及其方法 |
CN115576655B (zh) * | 2022-12-09 | 2023-04-14 | 浪潮电子信息产业股份有限公司 | 容器数据保护系统、方法、装置、设备及可读存储介质 |
CN116088768B (zh) * | 2023-02-24 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 动态存储分配方法、装置、电子设备和存储介质 |
-
2023
- 2023-02-24 CN CN202310165351.7A patent/CN116088768B/zh active Active
- 2023-12-25 WO PCT/CN2023/141624 patent/WO2024174717A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN116088768A (zh) | 2023-05-09 |
WO2024174717A1 (zh) | 2024-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11226847B2 (en) | Implementing an application manifest in a node-specific manner using an intent-based orchestrator | |
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
US11467755B2 (en) | Method and system for enabling agentless backup and restore operations on a container orchestration platform | |
US11316742B2 (en) | Stateless resource management | |
US9747137B2 (en) | System and method for providing a partition file system in a multitenant application server environment | |
RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
CN106575242B (zh) | 用于在多租户应用服务器环境中支持命名空间的系统和方法 | |
US9329951B2 (en) | System and method to uniformly manage operational life cycles and service levels | |
US8495352B2 (en) | System and method for instantiation of distributed applications from disk snapshots | |
US9965361B2 (en) | Avoiding inode number conflict during metadata restoration | |
US10713215B2 (en) | Allocating non-conflicting inode numbers | |
US10242014B2 (en) | Filesystem with isolated independent filesets | |
KR102100323B1 (ko) | 머신러닝 플랫폼 서비스 방법 및 서버 | |
US9747091B1 (en) | Isolated software installation | |
CN116088768B (zh) | 动态存储分配方法、装置、电子设备和存储介质 | |
CN105704188A (zh) | 应用与服务的部署方法和装置 | |
US10868721B2 (en) | System and method for supporting a situational configuration in an application server environment | |
CN113391875A (zh) | 容器部署方法与装置 | |
US20170237687A1 (en) | Resource trees by management controller | |
WO2021248972A1 (zh) | 默认网关管理方法、网关管理器、服务器及存储介质 | |
US11940969B2 (en) | Managing locations of derived storage objects | |
KR102019799B1 (ko) | 읽기 및 쓰기가 가능한 가상 디스크의 병합 마운팅을 통한 가상 클러스터 구축 방법 및 장치 | |
CN115174529A (zh) | 一种网络处理方法、装置、电子设备及存储介质 | |
CN117389713B (zh) | 存储系统应用业务数据迁移方法、装置、设备及介质 | |
CN113419743B (zh) | 综合型应用脚本部署方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |