CN110532059B - K8s集群管理软件的配额管理方法及装置 - Google Patents
K8s集群管理软件的配额管理方法及装置 Download PDFInfo
- Publication number
- CN110532059B CN110532059B CN201910736168.1A CN201910736168A CN110532059B CN 110532059 B CN110532059 B CN 110532059B CN 201910736168 A CN201910736168 A CN 201910736168A CN 110532059 B CN110532059 B CN 110532059B
- Authority
- CN
- China
- Prior art keywords
- organization
- quota
- creating
- resource object
- target
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 29
- 230000008520 organization Effects 0.000 claims abstract description 473
- 238000000034 method Methods 0.000 claims description 49
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种K8s集群管理软件的配额管理方法及装置,包括:确定接收到的创建指令中的指示内容,在软件层中创建与创建指令的指示内容对应的组织,在K8s底层创建命名空间,将命名空间与组织绑定;确定组织的组织配额,在命名空间中创建与组织配额一致的资源配额;依据组织的各项数据信息生成组织数据表;当在目标组织中创建资源对象时,在与目标组织绑定的命名空间中创建与资源对象一致的配额对象,使软件层的配额和K8s底层的配额相一致;使得K8s集群软件将软件层的配额和K8s底层中的配额保持一致,提高K8s管理软件的可用性和应用价值。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种K8s集群管理软件的配额管理方法及装置。
背景技术
容器技术是一种比虚拟机技术更加节省计算资源也更加灵活的虚拟化技术。随着容器技术的发展,出现了很多容器编排引擎,其中,Google开源的容器编排引擎Kubernetes技术脱颖而出成为了容器编排领域的事实标准。Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新和维护的一种机制。
K8s集群中有限的计算资源的分配直接影响了应用系统的使用性能,开发K8s集群管理软件对K8s集群中的资源配额进行管理,以使K8s集群的对容器技术的应用更加成熟,当K8s集群管理软件中软件层的资源配额与K8s集群中底层的资源配额不一致时,影响了应用系统中有限计算资源的合理分配,并增加了K8s集群管理软件对K8s集群中资源配额的管理难度。
发明内容
有鉴于此,本发明提供一种K8s集群管理软件的配额管理方法,用于对所述K8s集群管理软件中的配额资源进行合理的管理,使K8s集群管理软件中软件层的资源配额与K8s集群中底层的资源配额相一致,提供K8s集群管理软件的可用性。
为实现上述目的,本发明提供如下技术方案:
一种K8s集群管理软件的配额管理方法,其特征在于,包括:
接收创建指令,并确定所述创建指令的指示内容;
当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额;
在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额;
获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表;
当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额;
确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额;
当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
上述的方法,可选的,所述在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额,包括:
当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额;
确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
上述的方法,可选的,还包括:
在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额;
确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额;
将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
上述的方法,可选的,还包括:
当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;
确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;
将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息。
上述的方法,可选的,还包括:
当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
一种K8s集群管理软件的配额管理装置,包括:
接收单元,用于接收创建指令,并确定所述创建指令的指示内容;
第一创建单元,用于当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额;
第二创建单元,用于在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额,以使所述软件层和所述K8s底层中的配额一致;
获取单元,用于获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表;
第一确定单元,用于当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额;
判断单元,用于确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额;
第一更新单元,用于当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
上述的装置,可选的,所述第一创建单元,包括:
获取子单元,用于当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额;
确定子单元,用于确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
上述的装置,可选的,还包括:
第三创建单元,用于在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额;
第二确定单元,用于确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额;
第二更新单元,用于将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
上述的装置,可选的,还包括:
解析单元,用于当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;
第三确定单元,用于确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;
第三更新单元,用于将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息。
上述的装置,可选的,还包括:
第四创建单元,用于当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
基于上述本发明提供的方法,本发明具有以下优点:
当接收到创建指令时,确定创建指令的指示内容,当所述创建指令的指示内容表征为创建组织时,在软件层中创建与所述创建指令对应的组织;确定所述组织的组织配额,并在K8s底层创建命名空间,所述命名空间中创建与所述组织配额一致的资源配额,以实现软件层中的配额与K8s底层中的配额一致,并依据组织的各项数据信息生成组织数据表;当在目标组织中创建资源对象时,在与目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,以完成对软件层的配额和K8s底层的配额一致性的管理;应用本发明,使得K8s集群软件可以很好地将上层管理软件的配额和底层K8s中的配额保持一致,从而提高K8s管理软件的可用性,具有较强的应用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种K8s集群管理软件的配额管理方法的方法流程图;
图2为本发明实施例提供的一种K8s集群管理软件的配额管理方法的另一方法流程图;
图3为本发明实施例提供的一种K8s集群管理软件的配额管理方法的另一方法流程图;
图4为本发明实施例提供的一种K8s集群管理软件的配额管理方法的另一方法流程图;
图5为本发明实施例提供的一种K8s集群管理软件的配额管理方法的另一方法流程图;
图6为本发明实施例提供的一种K8s集群管理软件的配额管理装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供的方法可以应用于K8s集群系统中,可以应用本发明实施例提供的方法对K8s集群管理软件中的配额进行管理,其执行主体可以为计算机或是处理器,本发明实施例提供的方法的方法流程图如图1所示,具体说明如下所述:
S101、接收创建指令,并确定所述创建指令的指示内容。
本发明实施例提供的方法中,获取用户发送的创建指令,解析所述创建指令,获取所述创建指令中的指示内容,依据所述创建指令中的指示内容表征所述创建指令的操作类型,例如操作类型可以是在软件层中创建组织。所述创建指令可根据用户的需求进行配置,依据所述创建指令中的指令内容对K8s集群管理系统中的配额进行管理。
S102、当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额。
本发明实施例提供的方法中,当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织;所述创建指令中可以包含创建的组织的组织名称、组织ID以及组织的组织配额等;所述软件层为K8s集群管理软件中的应用层,依据创建指令,在所述软件层中创建与所述创建指令对应的组织,并确定在所述软件层中创建的组织的组织配额;需要说明的是,所述组织为K8s集群管理软件本身在某种逻辑上进行划分得到的,比如按地域、部门等进行划分。
S103、在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额,以使所述软件层和所述K8s底层中的配额一致。
本发明实施例提供的方法中,当在所述软件层中创建组织时,对应的在K8s底层中创建与所述组织对应的命名空间namespace,将所述namespace与所述组织进行绑定;绑定可以为在命名空间和组织中建立关联关系。在namespace中创建与所述组织配额一致的资源配额resourceQuota,需要说明的是,resourceQuota是K8s中专门用于实现namespace配额管理的一种资源。
S104、获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表。
本发明实施例提供的方法中,在软件层中创建组织之后,获取所述组织的各项数据信息,所述各项数据信息可以为:组织名称、组织ID、CPU配额、内存配额等,将各项数据信息生成与所述组织对应的组织数据表;需要说明的是,所述组织数据表可以通过键值对的方式与所述组织进行关联,或是以外键的方式保存在外部存储器中。
S105、当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额。
本发明实施例提供的方法中,当在软件层中的组织中创建资源对象时,获取所述创建指令中携带的组织标识号,以及确定所述创建指令携带的所述资源对象的信息,需要说明的是,所述资源对象的信息可以为所述资源对象的类型以及所需的配额大小等。
S106、确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额。
本发明实施例提供的方法中,遍历软件层中的各个组织,将与所述组织标识号对应的组织确定为目标组织;依据所述目标组织的组织数据表,计算未使用的组织配额,将未使用的组织配额与创建所述资源对象所需的配额进行比对,以判断所述未使用的组织配额是否大于或等于创建所述资源对象所需的配额。
S107、当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
本发明实施例提供的方法中,在所述目标组织中成功创建所述资源对象时,在与所述目标组织绑定的命名空间中创建与所述资源对象的配额大小相同的配额对象,所述资源对象和所述配额对象的类型相同;当所述目标组织中成功创建所述资源对象时,所述目标组织的组织资源增加与所述资源对象的配额大小相同的使用量,将所述目标组织的各项数据信息在组织数据表中进行更新。
需要说明的是,当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
本发明实施例提供的方法中,接收到创建指令时,确定所述创建指令的指示内容,当所述指示内容表征为创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额;在K8s底层创建命名空间,所述命名空间中创建与所述组织配额一致的资源配额,以实现软件层中的配额与K8s底层中的配额一致,并依据组织的各项信息生成组织数据表;当所述指示内容表征为在软件层中的组织中创建资源对象时,确定目标组织,并在与目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,以完成对软件层的配额和K8s底层的配额一致性的管理;应用本发明,使得K8s集群软件可以很好地将上层管理软件的配额和底层K8s中的配额保持一致,从而提高K8s管理软件的可用性,具有较强的应用价值。
本发明实施例体用的方法中,在软件层中创建组织有两种方式,一种是创建无上级组织;一种是创建有上级组织,即在父组织下创建子组织,所述父组织为上级组织,创建有上级组织的具体过程如图2所示,具体说明如下所述:
S201、当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额。
本发明实施例提供的方法中,所述在软件层中的组织下创建子组织为在软件层中创建有上级组织;获取所述创建指令中携带的组织标识号,并依据所述创建指令的指示内容中的信息,确定子组织的子组织配额。
S202、确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
本发明实施例提供的方法中,遍历软件层中的各个组织,将在软件层中与所述组织标识号对应的组织确定为父组织,所述父组织可以称为上级组织;依据所述子组织配额,在所述父组织下创建与所述子组织配额对应的子组织。
S203、在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额。
本发明实施例提供的方法中,当所述子组织在所述软件层中创建成功时,需要在所述K8s底层中创建与所述子组织对应的命名空间,并将所述命名空间与所述所述子组织进行绑定,在所述子组织中创建与所述子组织配额一致的子资源配额。
S204、确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额。
本发明实施例提供的方法中,确定在K8s底层中与所述父组织绑定的命名空间,可以通过父组织的组织数据表确定所述命名空间中的资源配额,并将所述命名空间的资源配额减去所述子资源配额,以改变K8s底层中命名空间中资源配额的分配。
S205、将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
本发明实施例提供的方法中,计算在所述父组织成功创建子组织后的最终组织资源,将父组织原有的组织资源加上子组织的子组织资源,得到的组织资源为所述父组织的最终组织资源,在组织数据表中更新所述父组织的各项数据信息,并将所述子组织的各项信息写入组织数据表中,以便依据所述组织数据表对子组织进行管理。
需要说明的是,在上级组织下创建组织时,即为在父组织下创建子组织,具体过程可参见图3,图3中的在父组织中的A资源配额和B资源配额均为图1中的资源对象,子组织A资源配额和B资源配额为图1中的资源对象;其中在父组织中的a1和b1表示图1中的组织配额,即所述父组织的可用配额;子组织中的a2和b2表示图1中的组织配额,即表示子组织的可用配额。namespace1和namespace2为图1中的命名空间,在namespace1中的A资源配额和B资源配额均为图1中所述的配额对象;在namespace2中的A资源配额和B资源配额均为图1所述的配额对象;namespace1和namespace2中a1、a2、b1和b2表示命名空间的资源配额,命名空间的可用配额。
根据图3进行说明,需要说明的是,Kubernetes的简称为K8s;创建一个组织的子组织的时候,在K8s底层创建一个对应的namespaces命名空间,在该namespace下创建和组织配额一致的resourceQuota,同时修改该子组织的上级组织对应底层namespace中的resourceQuota,也就是修改namespace的配额为原配额减去新创建的子组织的配额。当一个父组织下有多个子组织的时候,进行同样的处理。
需要说明的是,当创建无上级组织时,可参见图4,图4中的A资源配额和B资源配额可参见图3中的说明,此处不再进行赘述,其中,a和b表示可用配额的大小,创建的过程具体如下:
创建一个组织的时候,会同时在K8s底层创建一个对应的namespaces,在该namespace下创建和组织配额一致的resourceQuota,其中resourceQuota是K8s中专门用于实现namespace配额管理的一种资源。
需要说明的是,对配额进行管理时,需要将软件层中关于组织的各项数据信息进行保存,所述各项数据信息可以为:组织标识字段和namespace、配额、使用量字段等,将组织的各项信息保存至组织数据表中,所述组织数据表可以参见图5;需要说明的是,此处不限于一个组织数据表,也可能是通过外键的方式关联到另一个组织数据表实现组织及其对应的namespace、配额值、使用量值的一一对应。这里的配额和使用量所指的资源包括但不限于CPU、内存、Pod。
本发明实施例提供的方法中,对配额进行管理时,还包括对组织中资源对象进行的配额的修改和删除,当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息
对组织中资源对象进行修改时,获取修改指令,确定进行修改的资源对象的配额修改量,确定进行修改的资源对象所属的组织,将其所属组织的组织配额已使用量中增加该资源对象的配额修改量。当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;确定所述目标资源对象的配额,以及所述组织的组织配额;将所述目标资源对象删除,并将所述组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述组织对应的各项数据信息。需要说明的是,当从软件中删除一个资源对象的时候,将在所述资源对象所属的组织的配额已使用量中减去该资源对象的配额。
本发明实施例提供的方法中,应用本发明,可以对K8s集群管理软件中的配额进行管理,当软件层中创建组织时,在K8s底层中创建与所述组织对应的命名空间,将所述组织和命名空间进行绑定,以实现对所述组织和所述命名空间中配额的管理,确定所述组织的组织配额,并在所述命名空间中创建与所述组织配额对应的资源配额;当在组织中创建资源对象时,确定创建资源对象所需的配额,当组织中未使用的组织配额满足创建资源对象的需求时,在组织中创建资源对象,并在与所述组织绑定的命名空间中创建与所述资源对象一致的配额对象。应用本发明,可使得K8s管理软件中的组织的组织配额和K8s底层的命名空间的资源配额保持一致,实现了对K8s管理软件中配额的管理,从而提高K8s管理软件的可用性,具有较强的应用价值。
与图1相对应的,本发明实施例还提供了与方法相对应的一种K8s集群管理软件的配额管理装置,所述装置用于支持K8s集群管理软件的配额管理方法在实际中的应用,所述装置的结构图如图6所示,具体说明如下所述:
接收单元601,用于接收创建指令,并确定所述创建指令的指示内容;
第一创建单元602,用于当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额;
第二创建单元603,用于在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额,以使所述软件层和所述K8s底层中的配额一致;
获取单元604,用于获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表;
第一确定单元605,用于当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额;
判断单元606,用于确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额;
第一更新单元607,用于当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
本发明实施例提供的装置中,应用本发明,可以对K8s集群管理软件中的配额进行管理,当软件层中创建组织时,在K8s底层中创建与所述组织对应的命名空间,将所述组织和命名空间进行绑定,以实现对所述组织和所述命名空间中配额的管理,确定所述组织的组织配额,并在所述命名空间中创建与所述组织配额对应的资源配额;当在组织中创建资源对象时,确定创建资源对象所需的配额,当组织中未使用的组织配额满足创建资源对象的需求时,在组织中创建资源对象,并在与所述组织绑定的命名空间中创建与所述资源对象一致的配额对象。应用本发明,可使得K8s管理软件中的组织的组织配额和K8s底层的命名空间的资源配额保持一致,实现了对K8s管理软件中配额的管理,从而提高K8s管理软件的可用性,具有较强的应用价值。
本发明实施例提供的装置中,所述第一创建单元602,可以设置为:
获取子单元,用于当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额;
确定子单元,用于确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
本发明实施例提供的装置中,还可以设置为:
第三创建单元,用于在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额;
第二确定单元,用于确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额;
第二更新单元,用于将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
本发明实施例提供的装置中,还可以设置为:
解析单元,用于当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;
第三确定单元,用于确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;
第三更新单元,用于将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息。
本发明实施例提供的装置中,还可以设置为:
第四创建单元,用于当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种K8s集群管理软件的配额管理方法,其特征在于,包括:
接收创建指令,并确定所述创建指令的指示内容;
当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额,所述软件层为所述K8s集群管理软件中的应用层;
在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额;
获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表,所述组织数据表通过键值对的方式与所述组织进行关联;
当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额;
确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额;
当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
2.根据权利要求1所述的方法,其特征在于,所述在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额,包括:
当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额;
确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
3.根据权利要求2所述的方法,其特征在于,还包括:
在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额;
确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额;
将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;
确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;
将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
6.一种K8s集群管理软件的配额管理装置,其特征在于,包括:
接收单元,用于接收创建指令,并确定所述创建指令的指示内容;
第一创建单元,用于当所述创建指令的指示内容表征创建组织时,在软件层中创建与所述创建指令对应的组织,并确定所述组织的组织配额,所述软件层为所述K8s集群管理软件中的应用层;
第二创建单元,用于在容器编排引擎K8s底层创建与所述组织对应的命名空间,将所述组织与所述命名空间进行绑定,并在所述命名空间中创建与所述组织配额一致的资源配额,以使所述软件层和所述K8s底层中的配额一致;
获取单元,用于获取所述组织的各项数据信息,并依据所述各项数据信息生成与所述组织对应的组织数据表,所述组织数据表通过键值对的方式与所述组织进行关联;
第一确定单元,用于当所述创建指令的指示内容表征在所述软件层中的组织中创建资源对象时,获取所述创建指令中的组织标识号,并确定创建所述资源对象所需的配额;
判断单元,用于确定与所述组织标识号对应的目标组织,判断所述目标组织中未使用的组织配额是否大于或等于创建所述资源对象所需的配额;
第一更新单元,用于当所述目标组织中未使用的组织配额大于或等于所述资源对象所需的配额时,在所述目标组织中创建所述资源对象成功,同时,在与所述目标组织绑定的命名空间中创建与所述资源对象一致的配额对象,并更新所述组织数据表中与所述目标组织对应的各项数据信息。
7.根据权利要求6所述的装置,其特征在于,所述第一创建单元,包括:
获取子单元,用于当所述创建指令的指示内容表征在所述软件层中的组织下创建子组织时,获取所述创建指令中的组织标识号,并确定所述子组织的子组织配额;
确定子单元,用于确定与所述组织标识号对应的父组织,并在所述父组织下创建与所述子组织配额对应的子组织。
8.根据权利要求7所述的装置,其特征在于,还包括:
第三创建单元,用于在所述K8s底层中创建与所述子组织对应的命名空间,将所述命名空间与所述子组织进行绑定,并在所述命名空间中创建与所述子组织的子组织配额一致的子资源配额;
第二确定单元,用于确定K8s底层中与所述父组织绑定的命名空间,并确定所述命名空间中的资源配额,在所述资源配额中减去所述子资源配额;
第二更新单元,用于将所述父组织的组织资源加上所述子组织的子组织资源,并更新所述组织数据表中与所述父组织的对应的各项数据信息,在所述组织数据表中添加与所述子组织对应的各项数据信息。
9.根据权利要求6所述的装置,其特征在于,还包括:
解析单元,用于当接收到删除指令时,对所述删除指令进行解析,确定所述删除指令中的目标资源对象,以及所述目标资源对象所属的组织;
第三确定单元,用于确定所述目标资源对象的配额,以及所述目标资源对象所属的组织的组织配额;
第三更新单元,用于将所述目标资源对象从所述目标资源对象所属的组织中删除,并将所述目标资源对象所属的组织的组织配额减去所述目标资源对象的配额,在预设的组织数据表中更新与所述目标资源对象所属的组织对应的各项数据信息。
10.根据权利要求6所述的装置,其特征在于,还包括:
第四创建单元,用于当所述目标组织中未使用的组织配额小于创建所述资源对象所需的配额时,在所述目标组织中创建所述资源对象失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910736168.1A CN110532059B (zh) | 2019-08-09 | 2019-08-09 | K8s集群管理软件的配额管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910736168.1A CN110532059B (zh) | 2019-08-09 | 2019-08-09 | K8s集群管理软件的配额管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532059A CN110532059A (zh) | 2019-12-03 |
CN110532059B true CN110532059B (zh) | 2022-06-07 |
Family
ID=68662230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910736168.1A Active CN110532059B (zh) | 2019-08-09 | 2019-08-09 | K8s集群管理软件的配额管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532059B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399986B (zh) * | 2020-03-24 | 2024-08-20 | 中国建设银行股份有限公司 | Pod资源配额配置方法及装置 |
CN111736949B (zh) * | 2020-05-28 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种Kubernetes容器云平台应用导入方法、系统 |
CN112015433A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种资源调度方法、装置及电子设备和存储介质 |
CN112181591A (zh) * | 2020-09-25 | 2021-01-05 | 北京浪潮数据技术有限公司 | 一种集群命名空间管理方法、系统、电子设备及存储介质 |
CN112199192B (zh) * | 2020-09-29 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 基于服务器部署Kubernetes集群精细化管理配额的方法及系统 |
CN114185642B (zh) * | 2021-11-12 | 2023-11-17 | 联奕科技股份有限公司 | 一种基于容器管理平台的智慧校园开发方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951360A (zh) * | 2015-06-30 | 2015-09-30 | 北京奇虎科技有限公司 | 基于Docker的配置管理方式及装置 |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN109189568A (zh) * | 2018-09-04 | 2019-01-11 | 山东浪潮云投信息科技有限公司 | 一种集群资源管理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10110506B2 (en) * | 2013-09-20 | 2018-10-23 | Oracle International Corporation | System and method for quota management in a cloud platform environment |
-
2019
- 2019-08-09 CN CN201910736168.1A patent/CN110532059B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951360A (zh) * | 2015-06-30 | 2015-09-30 | 北京奇虎科技有限公司 | 基于Docker的配置管理方式及装置 |
CN107608757A (zh) * | 2017-08-29 | 2018-01-19 | 华为技术有限公司 | 一种基于容器的隔离处理方法及相关设备 |
CN109189568A (zh) * | 2018-09-04 | 2019-01-11 | 山东浪潮云投信息科技有限公司 | 一种集群资源管理方法及装置 |
Non-Patent Citations (3)
Title |
---|
kubernetes 资源限制之ResourceQuota;宫凯宁;《https://blog.csdn.net/weixin_44723434/article/details/97948289》;20180802;第1-3页 * |
Kubernetes-基于资源配额(ResourceQuota)进行资源管理;Daniel_Ji;《https://www.kubernetes.org.cn/4905.html》;20181207;全文 * |
Kubernetes技术分析之资源管理;吴龙辉;《https://dockone.io/article/2692》;20150812;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110532059A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532059B (zh) | K8s集群管理软件的配额管理方法及装置 | |
CN111596965B (zh) | 项目工程初始化方法、装置、计算机设备和存储介质 | |
CN110601922B (zh) | 一种对照实验的实现方法、装置、电子设备和存储介质 | |
US9372880B2 (en) | Reclamation of empty pages in database tables | |
US9229771B2 (en) | Cloud bursting and management of cloud-bursted applications | |
US9965207B2 (en) | Maintenance of cloned computer data | |
US20100293538A1 (en) | Dynamic program updating in a continuation based runtime | |
CN105515872B (zh) | 配置信息的更新方法、装置及系统 | |
US8972941B2 (en) | Integrated development environment-based workload testing in a networked computing environment | |
CN114341847B (zh) | 对容器的外部操作与突变事件的对应关系 | |
CN112417051A (zh) | 容器编排引擎资源管理方法及装置、可读介质及电子设备 | |
US8607191B2 (en) | Automated discovery of programmatic resources | |
CN107193607A (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
US20160283275A1 (en) | Dynamic workload deployment for data integration services | |
CN112416456B (zh) | 配置文件处理方法、装置、设备、存储介质和系统 | |
CN107977773A (zh) | 一种管理多个云平台的多项目资源额度的方法 | |
CN112217656A (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
CN104765609B (zh) | 软件关联资源推荐方法、获取方法及相应的装置 | |
CN113672375B (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN111258680A (zh) | 资源加载方法和装置、存储介质及电子装置 | |
US20190266081A1 (en) | Chronologically ordered out-of-place update key-value storage system | |
US20200073797A1 (en) | Maintaining correctness of pointers from a managed heap to off-heap memory | |
CN109491705A (zh) | 一种交付方法和装置 | |
Mohamed et al. | SaaS dynamic evolution based on model-driven software product lines | |
US9122696B2 (en) | Sharing electronic file metadata in a networked computing environment |
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 |