CN114697331A - 一种云盘挂载数量调度方法、系统、装置及存储介质 - Google Patents
一种云盘挂载数量调度方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN114697331A CN114697331A CN202210318305.1A CN202210318305A CN114697331A CN 114697331 A CN114697331 A CN 114697331A CN 202210318305 A CN202210318305 A CN 202210318305A CN 114697331 A CN114697331 A CN 114697331A
- Authority
- CN
- China
- Prior art keywords
- node
- cloud
- cloud disk
- pvc
- created
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012216 screening Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种云盘挂载数量调度方法、系统、装置及计算机可读存储介质,包括:当监听到节点上有pod创建存储卷后,查询pod上是否挂载了pvc;如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;如果是,则筛选当前最大允许挂载云盘数大于等于pod请求挂载的第一云盘数的可选节点;从可选节点中选择目标节点创建云盘类型的存储卷;本申请在pod需要创建云盘类型的存储卷时,利用预先统计出的每个节点中剩余可用pod情况,筛选出有足够pod可创建的节点,将没有足够pod可创建的节点剔除,从而避免云盘挂载到已经挂载到上限的节点,实现了云盘挂载的调度,减少了挂载失败的可能性。
Description
技术领域
本发明涉及云存储领域,特别涉及一种云盘挂载数量调度方法、系统、装置及计算机可读存储介质。
背景技术
随着容器技术在公有云,私有云,混合云等领域越来越广泛的应用,用户对于云端数据的存储有了更高的要求。最新的容器技术由于其卓越的性能和易用性等众多优点在云计算领域已经得到了广泛的使用。当前Kubernetes已经成为容器编排技术事实上的标准。Kubernetes容器编排技术可以支持使用多种存储作为容器的底层存储实现。
kube-scheduler是Kubernetes集群中负责pod调度的组件,根据各种调度算法将pod调度到最合适的节点上去。kube-scheduler在预选流程中,会检查检查节点的一些基本要求是否满足,如节点目前是否有足够的CPU、内存以及磁盘,pod指定的nodeName与nodeSelector是否与节点匹配,pod上的容忍度是否能满足节点的污点等。经过预选可能会筛选出一批符合条件的节点,最终kube-scheduler会从中选出一个节点将pod调度上去。
为了保证云服务器的整体性能和运行状态,各云服务厂商一般都会对每台云服务器最多能挂载的云盘数量做出限制,如16或24,一旦超出这个限制则无法将云盘挂载到云服务器上。在公有云租户环境的Kubernetes集群中,pod挂载的卷类型主要以云盘为主,而在Kubernetes默认的调度策略中,没有针对为这种各云厂商自己的云盘挂载数量做限制的调度策略。一旦集群中挂载云盘的pod数量比较多,很有可能多个pod都调度到同一个节点上,造成该节点挂载的云盘数量达到上限,新调度到该节点上的pod无法挂载云盘,所以需要一种基于云盘挂载数量调度方法。
发明内容
有鉴于此,本发明的目的在于提供一种云盘挂载数量调度方法、系统、装置及计算机可读存储介质,能够实现云盘挂载调度,避免集中挂载导致的挂载失败。其具体方案如下:
一种云盘挂载数量调度方法,包括:
当监听到节点上有pod创建存储卷后,查询所述pod上是否挂载了pvc;
如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
如果是,则筛选当前最大允许挂载云盘数大于等于所述pod请求挂载的第一云盘数的可选节点;
从可选节点中选择目标节点创建云盘类型的存储卷;
其中,所述当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,所述已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
可选的,所述非集群PVC创建的云盘数的创建过程,包括:
创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系;
利用所述对应关系记载每个节点通过非集群PVC创建的云盘数。
可选的,所述创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系的过程,包括:
创建ConfigMap资源,以节点的云服务器ID为键,以节点上通过非集群PVC创建的云盘数为值,建立键值对形式的所述对应关系。
可选的,所述利用所述对应关系记载每个节点通过非集群PVC创建的云盘数的过程,包括:
当节点上的通过非集群PVC创建的云盘数发生变化后,对应的查找到与所述节点对应的键值对,并根据非集群PVC创建的云盘数变化数相应的修改其中的值。
可选的,所述从所述可选节点中选择目标节点创建云盘类型的存储卷的过程,包括:
根据预设的节点优选条件,从所述可选节点中选择所述目标节点创建云盘类型的存储卷。
可选的,所述根据预设的节点优选条件,从所述可选节点中选择所述目标节点创建云盘类型的存储卷的过程,包括:
根据预设的节点优选评分公式计算每个可选节点的得分;
从所述可选节点中选择得分最高的节点作为所述目标节点创建云盘类型的存储卷;
其中,所述节点优选评分公式为:得分=与每个可选节点对应的预设的权重值*预设的基础分*(可选节点还可创建的云盘数–pod请求创建的存储卷数)/节点还可创建的云盘数。
本发明还公开了一种云盘挂载数量调度系统,包括:
创建监听模块,用于当监听到节点上有pod创建存储卷后,查询所述pod上是否挂载了pvc;
类型判断模块,用于如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
节点筛选模块,用于如果所述类型判断模块判定当前所需创建的存储卷的卷类型为所述云盘类型,则筛选当前最大允许挂载云盘数大于等于所述pod请求挂载的第一云盘数的可选节点;
存储卷创建模块,用于从可选节点中选择目标节点创建云盘类型的存储卷;
其中,所述当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,所述已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
可选的,还包括:
对应关系创建模块,用于对应关系创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系;
云盘记载模块,用于利用所述对应关系记载每个节点通过非集群PVC创建的云盘数。
本发明还公开了一种云盘挂载数量调度装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的云盘挂载数量调度方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的云盘挂载数量调度方法。
本发明中,云盘挂载数量调度方法,包括:当监听到节点上有pod创建存储卷后,查询pod上是否挂载了pvc;如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;如果是,则筛选当前最大允许挂载云盘数大于等于pod请求挂载的第一云盘数的可选节点;从可选节点中选择目标节点创建云盘类型的存储卷;其中,当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
本发明在pod需要创建云盘类型的存储卷时,利用预先统计出的每个节点中剩余可用pod情况,筛选出有足够pod可创建的节点,将没有足够pod可创建的节点剔除,从而避免云盘挂载到已经挂载到上限的节点,实现了云盘挂载的调度,减少了挂载失败的可能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种云盘挂载数量调度方法流程示意图;
图2为本发明实施例公开的一种非集群PVC创建的云盘数的统计方法流程示意图;
图3为本发明实施例公开的一种ConfigMap创建及修改流程示意图;
图4为本发明实施例公开的另一种云盘挂载数量调度方法流程示意图;
图5为本发明实施例公开的一种kube-scheduler调度pod的流程示意图;
图6为本发明实施例公开的一种云盘挂载数量调度系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种云盘挂载数量调度方法,参见图1所示,该方法包括:
具体的,本发明实施例可以应用在Kubernetes上,支持在Kubernetes的云盘挂载调度。
S11:当监听到节点上有pod创建存储卷后,查询pod上是否挂载了pvc。
具体的,通过预先创建相应的监听机制,当节点上有pod需要创建时,可以及时监听到创建请求,此时,为了避免直接创建导致创建到不可用节点,首先查询pod上是否挂载了pvc,如果挂载了pvc则说明pod支持创建云盘类型的存储卷,后续可能是创建云盘类型的存储卷,如果没有挂载pvc则说明是创建其它类型的卷,可以不做后续的针对云盘创建的判断过程,可以直接按照现有的预选过程创建相应的卷,例如,利用现有kube-scheduler的预选策略。
具体的,无论创建何种卷均需要进行预选操作,通过预选选择出一个可以挂载的节点,因此,本发明实施例的过程,可以融合进预选过程中,在预选过程中进行各种判断,例如,在kube-scheduler的预选阶段,增加对节点挂载卷数量限制判断的逻辑,在kube-scheduler每次预选时,确保会进入到该逻辑中。
S12:如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型。
具体的,虽然pod支持创建云盘类型的存储卷,但仍需判断是否真的需要创建的就是云盘类型的存储卷,因为也可能创建其它类型的存储卷。
具体的,为了判断所需创建的卷的类型,提供一套通用的接口,接口需要实现两部分的内容,匹配PVC(PersistentVolumeClaim,持久化卷声明)的provisioner和匹配PVC绑定的PV(PersistentVolume),这两种方式都是为了确定集群中创建的PVC类型是否为指定的云盘类型。
具体的,关于匹配接口的实现,需要实现两个方法。因为每一种存储插件的类型都是唯一的,所以可以通过PV里的结构或PVC上指定的StorageClass中的provisioner(分配器)找寻每一种云盘独一无二的地方,通过判断PVC绑定的PV如果包含某结构,则证明该PVC是某种云盘;如果此时PVC还未绑定PV,则可通过PVC中绑定的StorageClass上的privisioner参数来进行判断是否属于某种云盘。
S13:如果是,则筛选当前最大允许挂载云盘数大于等于pod请求挂载的第一云盘数的可选节点。
具体的,如果需要创建的卷就是用来作为云盘,那么就从众多节点中筛选出有足够剩余可用pod的节点,剔除可挂载数量不足的节点,从而避免创建到没有足够可用pod的节点上,避免了创建失败。
具体的,当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
具体的,通过设置能够统计用户通过非集群PVC创建的云盘数,确保能够精确掌握每个节点准确的云盘数,避免了因用户通过非集群PVC创建的云盘数而无法掌握每个节点上具体的云盘数,而导致无法对可用与不可用的节点进行筛选。
具体的,预设的最大允许挂载数可以预先设定,例如,在kube-scheduler中新增参数node-max-disk-number表示节点最大允许挂载的云盘数,例如,可以设置为24,同时在初始统计时,还可以增加节点初始已挂载的云盘数,例如,在kube-scheduler中新增参数node-init-disk-number表示节点初始已挂载的云盘数,例如,可以初始设置为1。通过集群PVC创建的云盘数可以通过统计节点信息中节点上虚拟机使用的云盘数和节点初始已挂载的云盘数之和得到。
进一步的,再具体实施过程中可以通过比较节点的最大允许挂载数是否大于等于非集群PVC创建的云盘数、节点上虚拟机使用的云盘数、节点初始已挂载的云盘数和pod请求挂载的第一云盘数之和,来筛选出可选节点,只有在节点的最大允许挂载数大于等于前述云盘数之和,才是可选节点。
S14:从可选节点中选择目标节点创建云盘类型的存储卷。
具体的,可以按照预设的规则从众多可选节点中选择一个可用的目标节点,在其上创建存储卷,完成云盘挂载。
具体的,预设的规则可以为按照节点的编号选择编号最低的节点或者按照节点的负载或者节点剩余的可用pod数等方式进行挑选。
可见,本发明实施例在pod需要创建云盘类型的存储卷时,利用预先统计出的每个节点中剩余可用pod情况,筛选出有足够pod可创建的节点,将没有足够pod可创建的节点剔除,从而避免云盘挂载到已经挂载到上限的节点,实现了云盘挂载的调度,减少了挂载失败的可能性。
本发明实施例公开了一种具体的云盘挂载数量调度方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2和图3所示,具体的:
具体的,非集群PVC创建的云盘数的统计过程,包括S21和S22;其中,
S21:创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系。
具体的,创建ConfigMap资源,以节点的云服务器ID为键,以节点上通过非集群PVC创建的云盘数为值,建立键值对形式的对应关系,其中,因集群节点都是新建的,所以通过非集群PVC创建的云盘数的初始值可以设置为0。
具体的,在具体应用场景下,可以通过修改kube-scheduler的RBAC(Role-BasedAccess Control,基于角色的访问控制)权限,允许kube-scheduler对ConfigMap资源进行创建以及查询等操作。
具体的,参见图3所示,在kube-scheduler在集群刚部署好初次启动时,初始化一个ConfigMap资源,key(键)为集群节点的云服务器Id,value(值)为直接在各节点挂载的云盘数,因为集群节点都是新建的,所以初始值为0。
具体的,kube-scheduler只在初次启动时在集群中创建一个ConfigMap,后续不会主动对其中的内容做任何的修改。
具体的,参见图3所示,用户可以通过前端web页面为worker节点通过非集群PVC的方式挂载云盘,再由后台程序对ConfigMap中对应的节点中的值进行修改,从而准确记载节点上的云盘数。
S22:利用对应关系记载每个节点通过非集群PVC创建的云盘数。
具体的,当节点上的通过非集群PVC创建的云盘数发生变化后,对应的查找到与节点对应的键值对,并根据非集群PVC创建的云盘数变化数相应的修改其中的值。
例如,当用户通过非集群PVC的方式创建云盘时,会触发对ConfigMap内容的修改。如,用户通过公有云前端界面为某个节点绑定一块云盘,该操作会触发对应后面的接口程序,程序收到请求后,为节点挂载一块云盘,然后更新节点对应集群中ConfigMap的内容,将key为该节点Id对应的value值进行+1;反之,如果用户通过前端界面卸载一块云盘,则将对应的value值-1。
本发明实施例还公开了一种具体的云盘挂载数量调度方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图4所示,具体的:
S31:当监听到节点上有pod创建存储卷后,查询pod上是否挂载了pvc;
S32:如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
S33:如果是,则筛选当前最大允许挂载云盘数大于等于pod请求挂载的第一云盘数的可选节点;
其中,当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
S34:根据预设的节点优选条件,从可选节点中选择目标节点创建云盘类型的存储卷。
具体的,可以预设节点优选条件,从众多可选节点中挑选出最终选择可用的目标节点来创建对应的云盘类型的存储卷完成云盘挂载,为此,可以设计节点优选评分公式,根据预设的节点优选评分公式计算每个可选节点的得分,从可选节点中选择得分最高的节点作为目标节点创建云盘类型的存储卷。
其中,节点优选评分公式为:得分=与每个可选节点对应的预设的权重值*预设的基础分*(可选节点还可创建的云盘数–pod请求创建的存储卷数)/节点还可创建的云盘数。
具体的,用户可以预先根据每个节点的状态、硬件和用途等方面预先为每个节点设置属于自身的权重值和基础分,例如,根据节点的新旧程度,新的节点硬件设备和状态相对于旧的节点性能更好,其权重值和基础分可以相对较高,例如,新的节点的权重值和基础分可以分别为0.8和100,旧的节点的权重值和基础分可以分别为0.6和80。
具体的,同时还可以继续根据可选节点还可创建的云盘数减去pod请求创建的存储卷数得到节点本次创建云盘后剩余可创建云盘数,再用剩余可创建云盘数减去创建前的节点还可创建的云盘数,得到能够反映创建云盘后剩余可创建的百分比,可以使云盘可以平均挂载到各个节点,起到均衡负载的效果。
此外,参见图5所示,本发明实施例还公开了基于Kubernetes的kube-scheduler调度pod流程,master(主)节点通过kube-scheduler监听kube-apiserver的watch接口发现新的pod准备调度,kube-scheduler通过各节点中的云盘插件indisk plugin查询每个节点的云盘数,查询ConfigMap中非云盘插件创建的云盘数,最后将pod调度到可继续挂载云盘的节点上。
相应的,本发明实施例还公开了一种云盘挂载数量调度系统,参见图6所示,该系统包括:
创建监听模块11,用于当监听到节点上有pod创建存储卷后,查询pod上是否挂载了pvc;
类型判断模块12,用于如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
节点筛选模块13,用于如果类型判断模块12判定当前所需创建的存储卷的卷类型为云盘类型,则筛选当前最大允许挂载云盘数大于等于pod请求挂载的第一云盘数的可选节点;
存储卷创建模块14,用于从可选节点中选择目标节点创建云盘类型的存储卷;
其中,当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
具体的,还包括对应关系创建模块和云盘记载模块;其中,
对应关系创建模块,用于对应关系创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系;
云盘记载模块,用于利用对应关系记载每个节点通过非集群PVC创建的云盘数。
具体的,对应关系创建模块,具体用于创建ConfigMap资源,以节点的云服务器ID为键,以节点上通过非集群PVC创建的云盘数为值,建立键值对形式的对应关系。
具体的,云盘记载模块,具体用于当节点上的通过非集群PVC创建的云盘数发生变化后,对应的查找到与节点对应的键值对,并根据非集群PVC创建的云盘数变化数相应的修改其中的值。
具体的,存储卷创建模块14,具体用于根据预设的节点优选条件,从可选节点中选择目标节点创建云盘类型的存储卷。
具体的,存储卷创建模块14,包括得分计算单元和存储卷创建单元;其中,
得分计算单元,用于根据预设的节点优选评分公式计算每个可选节点的得分;
存储卷创建单元,用于从可选节点中选择得分最高的节点作为目标节点创建云盘类型的存储卷;
其中,节点优选评分公式为:得分=与每个可选节点对应的预设的权重值*预设的基础分*(可选节点还可创建的云盘数–pod请求创建的存储卷数)/节点还可创建的云盘数。
此外,本发明实施例还公开了一种云盘挂载数量调度装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的云盘挂载数量调度方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的云盘挂载数量调度方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种云盘挂载数量调度方法,其特征在于,包括:
当监听到节点上有pod创建存储卷后,查询所述pod上是否挂载了pvc;
如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
如果是,则筛选当前最大允许挂载云盘数大于等于所述pod请求挂载的第一云盘数的可选节点;
从可选节点中选择目标节点创建云盘类型的存储卷;
其中,所述当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,所述已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
2.根据权利要求1所述的云盘挂载数量调度方法,其特征在于,所述非集群PVC创建的云盘数的创建过程,包括:
创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系;
利用所述对应关系记载每个节点通过非集群PVC创建的云盘数。
3.根据权利要求2所述的云盘挂载数量调度方法,其特征在于,所述创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系的过程,包括:
创建ConfigMap资源,以节点的云服务器ID为键,以节点上通过非集群PVC创建的云盘数为值,建立键值对形式的所述对应关系。
4.根据权利要求3所述的云盘挂载数量调度方法,其特征在于,所述利用所述对应关系记载每个节点通过非集群PVC创建的云盘数的过程,包括:
当节点上的通过非集群PVC创建的云盘数发生变化后,对应的查找到与所述节点对应的键值对,并根据非集群PVC创建的云盘数变化数相应的修改其中的值。
5.根据权利要求1至4任一项所述的云盘挂载数量调度方法,其特征在于,所述从所述可选节点中选择目标节点创建云盘类型的存储卷的过程,包括:
根据预设的节点优选条件,从所述可选节点中选择所述目标节点创建云盘类型的存储卷。
6.根据权利要求5所述的云盘挂载数量调度方法,其特征在于,所述根据预设的节点优选条件,从所述可选节点中选择所述目标节点创建云盘类型的存储卷的过程,包括:
根据预设的节点优选评分公式计算每个可选节点的得分;
从所述可选节点中选择得分最高的节点作为所述目标节点创建云盘类型的存储卷;
其中,所述节点优选评分公式为:得分=与每个可选节点对应的预设的权重值*预设的基础分*(可选节点还可创建的云盘数–pod请求创建的存储卷数)/节点还可创建的云盘数。
7.一种云盘挂载数量调度系统,其特征在于,包括:
创建监听模块,用于当监听到节点上有pod创建存储卷后,查询所述pod上是否挂载了pvc;
类型判断模块,用于如果挂载了pvc,则判断当前所需创建的存储卷的卷类型是否为云盘类型;
节点筛选模块,用于如果所述类型判断模块判定当前所需创建的存储卷的卷类型为所述云盘类型,则筛选当前最大允许挂载云盘数大于等于所述pod请求挂载的第一云盘数的可选节点;
存储卷创建模块,用于从可选节点中选择目标节点创建云盘类型的存储卷;
其中,所述当前最大允许挂载云盘数通过预设的最大允许挂载数与已挂载数之差得到,所述已挂载数为通过集群PVC创建的云盘数和非集群PVC创建的云盘数之和。
8.根据权利要求7所述的云盘挂载数量调度系统,其特征在于,还包括:
对应关系创建模块,用于对应关系创建ConfigMap资源,建立每个节点与非集群PVC创建的云盘数之间的对应关系;
云盘记载模块,用于利用所述对应关系记载每个节点通过非集群PVC创建的云盘数。
9.一种云盘挂载数量调度装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的云盘挂载数量调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的云盘挂载数量调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210318305.1A CN114697331B (zh) | 2022-03-29 | 一种云盘挂载数量调度方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210318305.1A CN114697331B (zh) | 2022-03-29 | 一种云盘挂载数量调度方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697331A true CN114697331A (zh) | 2022-07-01 |
CN114697331B CN114697331B (zh) | 2024-06-07 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194054A (zh) * | 2023-11-06 | 2023-12-08 | 西安一二三云计算有限公司 | 基于用户画像的云盘资源调度方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271112A (zh) * | 2018-09-27 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储池挂载主机的调整方法、装置和计算机设备 |
CN109802976A (zh) * | 2017-11-16 | 2019-05-24 | 航天信息股份有限公司 | Open Stack云平台的云硬盘动态调度方法、装置以及电子系统 |
CN109951525A (zh) * | 2019-02-18 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于容器的云盘挂载系统及方法 |
CN110515539A (zh) * | 2019-07-22 | 2019-11-29 | 平安科技(深圳)有限公司 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
CN110703986A (zh) * | 2019-08-29 | 2020-01-17 | 华云数据(厦门)网络有限公司 | 云硬盘创建方法、装置、设备及存储介质 |
CN110795029A (zh) * | 2019-10-08 | 2020-02-14 | 济南浪潮数据技术有限公司 | 一种云硬盘管理方法、装置、服务器及介质 |
CN111722806A (zh) * | 2020-06-19 | 2020-09-29 | 华中科技大学 | 云盘分配方法、装置、电子设备及存储介质 |
CN111966305A (zh) * | 2020-10-22 | 2020-11-20 | 腾讯科技(深圳)有限公司 | 持久卷分配方法、装置、计算机设备和存储介质 |
CN112328363A (zh) * | 2020-11-05 | 2021-02-05 | 北京金山云网络技术有限公司 | 一种云硬盘挂载方法及其装置 |
CN112799602A (zh) * | 2021-02-24 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种云硬盘在线扩容方法 |
US20210303202A1 (en) * | 2020-03-26 | 2021-09-30 | EMC IP Holding Company LLC | Storage volume migration scheduling based on storage volume priorities and specified constraints |
CN113821157A (zh) * | 2020-06-18 | 2021-12-21 | 中移(苏州)软件技术有限公司 | 一种本地磁盘挂载方法、装置、设备及存储介质 |
US20210405902A1 (en) * | 2020-06-30 | 2021-12-30 | Portworx, Inc. | Rule-based provisioning for heterogeneous distributed systems |
CN113867942A (zh) * | 2021-09-12 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种卷的挂载方法、系统及计算机可读存储介质 |
CN114090191A (zh) * | 2021-11-30 | 2022-02-25 | 河南星环众志信息科技有限公司 | 存储资源的调度方法、装置、设备及存储介质 |
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109802976A (zh) * | 2017-11-16 | 2019-05-24 | 航天信息股份有限公司 | Open Stack云平台的云硬盘动态调度方法、装置以及电子系统 |
CN109271112A (zh) * | 2018-09-27 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储池挂载主机的调整方法、装置和计算机设备 |
CN109951525A (zh) * | 2019-02-18 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于容器的云盘挂载系统及方法 |
CN110515539A (zh) * | 2019-07-22 | 2019-11-29 | 平安科技(深圳)有限公司 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
CN110703986A (zh) * | 2019-08-29 | 2020-01-17 | 华云数据(厦门)网络有限公司 | 云硬盘创建方法、装置、设备及存储介质 |
CN110795029A (zh) * | 2019-10-08 | 2020-02-14 | 济南浪潮数据技术有限公司 | 一种云硬盘管理方法、装置、服务器及介质 |
US20210303202A1 (en) * | 2020-03-26 | 2021-09-30 | EMC IP Holding Company LLC | Storage volume migration scheduling based on storage volume priorities and specified constraints |
CN113821157A (zh) * | 2020-06-18 | 2021-12-21 | 中移(苏州)软件技术有限公司 | 一种本地磁盘挂载方法、装置、设备及存储介质 |
CN111722806A (zh) * | 2020-06-19 | 2020-09-29 | 华中科技大学 | 云盘分配方法、装置、电子设备及存储介质 |
US20210405902A1 (en) * | 2020-06-30 | 2021-12-30 | Portworx, Inc. | Rule-based provisioning for heterogeneous distributed systems |
CN111966305A (zh) * | 2020-10-22 | 2020-11-20 | 腾讯科技(深圳)有限公司 | 持久卷分配方法、装置、计算机设备和存储介质 |
CN112328363A (zh) * | 2020-11-05 | 2021-02-05 | 北京金山云网络技术有限公司 | 一种云硬盘挂载方法及其装置 |
CN112799602A (zh) * | 2021-02-24 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种云硬盘在线扩容方法 |
CN113867942A (zh) * | 2021-09-12 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种卷的挂载方法、系统及计算机可读存储介质 |
CN114090191A (zh) * | 2021-11-30 | 2022-02-25 | 河南星环众志信息科技有限公司 | 存储资源的调度方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
常旭征;焦文彬;: "Kubernetes资源调度算法的改进与实现", 计算机系统应用, no. 07, 15 July 2020 (2020-07-15) * |
张秋萍;: "基于OpenStack Manila的多租户多协议共享存储平台", 现代计算机, no. 33, 25 November 2019 (2019-11-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194054A (zh) * | 2023-11-06 | 2023-12-08 | 西安一二三云计算有限公司 | 基于用户画像的云盘资源调度方法 |
CN117194054B (zh) * | 2023-11-06 | 2024-02-23 | 西安一二三云计算有限公司 | 基于用户画像的云盘资源调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6560308B2 (ja) | データ記憶サービスを実装するシステム及び方法 | |
JP4827097B2 (ja) | グリッド・システム資源をオンデマンドで制御する装置、システム及び方法 | |
US9460185B2 (en) | Storage device selection for database partition replicas | |
US7958503B2 (en) | Quick deployment method | |
CN100527090C (zh) | 用于动态分配计算机资源的方法 | |
US9032077B1 (en) | Client-allocatable bandwidth pools | |
RU2628902C2 (ru) | Механизм координации для выбора облака | |
US7062516B2 (en) | Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure | |
US7490323B2 (en) | Method and system for monitoring distributed applications on-demand | |
CN116055283B (zh) | 支持全局设置租户应用资源配额的多平台统一云管系统 | |
JP4970939B2 (ja) | マルチノードシステムにおけるリソースの動的な割当の階層的管理 | |
US10277529B2 (en) | Visualization of computer resource quotas | |
US10063601B2 (en) | Client identification for enforcing computer resource quotas | |
US10846788B1 (en) | Resource group traffic rate service | |
CN111309440B (zh) | 一种多类型gpu的管理调度的方法和设备 | |
US20170272541A1 (en) | Local enforcement of computer resource quotas | |
CN103607424A (zh) | 一种服务器连接方法及服务器系统 | |
CN114661419A (zh) | 一种服务质量控制系统及方法 | |
US11500663B1 (en) | Predictive virtual machine launch-based capacity management | |
CN114697331A (zh) | 一种云盘挂载数量调度方法、系统、装置及存储介质 | |
CN114816272B (zh) | Kubernetes环境下的磁盘管理系统 | |
CN114697331B (zh) | 一种云盘挂载数量调度方法、系统、装置及存储介质 | |
CN116166181A (zh) | 一种云监控方法和云管理平台 | |
US20090019082A1 (en) | System and Method for Discovery of Common Information Model Object Managers | |
CN113687910A (zh) | 一种集群内usb设备管理方法、装置、设备及存储介质 |
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 |