首页 / 专利库 / 电信 / 节点 / 子节点 / 一种K8s平台的资源控制方法、装置及相关组件

一种K8s平台的资源控制方法、装置及相关组件

阅读:102发布:2020-05-08

专利汇可以提供一种K8s平台的资源控制方法、装置及相关组件专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种K8s平台的资源控制方法,包括:获取K8s平台中各个 节点 的运行信息及各个目标资源的使用信息,使用信息包括pod所在节点信息;根据所有使用信息和所有运行信息判断是否存在待调度pod;若是,对所有待调度pod进行调度,以使K8s平台中资源均衡。本申请能够对同一资源集中部署的pod进行重新调度,有效的 预防 和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的 风 险,提高资源服务的可用性。本申请还公开了一种K8s平台的资源控制装置、 电子 设备及计算机可读存储介质,具有以上有益效果。,下面是一种K8s平台的资源控制方法、装置及相关组件专利的具体信息内容。

1.一种K8s平台的资源控制方法,其特征在于,包括:
获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,所述使用信息包括pod所在节点信息;
根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod;
若是,对所有所述待调度pod进行调度,以使所述K8s平台中资源均衡。
2.根据权利要求1所述的K8s平台的资源控制方法,其特征在于,所述获取K8s平台中各个节点的运行信息及各个目标资源的使用信息之后,该资源控制方法还包括:
根据每个所述节点的运行信息得到该节点的资源使用率;
相应的,所述对所有所述待调度pod进行调度的过程具体为:
根据各个所述节点的资源使用率对所有所述待调度pod进行调度。
3.根据权利要求2所述的K8s平台的资源控制方法,其特征在于,所述待调度pod为待标记资源的pod和/或所述待标记节点中的具有多副本的pod;
其中,所述待标记资源为超过预设个数的pod处于同一节点的目标资源,所述待标记节点为所述资源使用率大于第一预设值的节点。
4.根据权利要求3所述的K8s平台的资源控制方法,其特征在于,所述根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod之前,该资源控制方法还包括:
根据所述使用信息确定待排除资源,其中,所述待排除资源为含有单副本的目标资源或具有亲和性配置的目标资源;
相应的,所述待标记资源为除所述待排除资源外的超过预设个数的pod处于同一节点的目标资源。
5.根据权利要求1所述的K8s平台的资源控制方法,其特征在于,所述运行信息包括CPU负载和/或内存使用率和/或网络情况和/或在线运行时间。
6.根据权利要求1所述的K8s平台的资源控制方法,其特征在于,所述对所有所述待调度pod进行调度之前,该资源控制方法还包括:
确定所有所述待调度pod中的无依赖pod,其中,所述无依赖pod为未挂载hostpath或local volume卷的待调度pod;
相应的,所述对所有所述待调度pod进行调度的过程具体为:
根据各个所述节点的资源使用率对所有所述无依赖pod进行调度。
7.根据权利要求6所述的K8s平台的资源控制方法,其特征在于,所述对所有所述待调度pod进行调度的过程具体为:
将所述无依赖pod迁移到所述资源使用率小于第二预设值的节点上,所述第二预设值小于或等于所述第一预设值。
8.一种K8s平台的资源控制装置,其特征在于,包括:
获取模,用于获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,所述使用信息包括pod所在节点信息;
判断模块,用于根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod,若是,触发调度模块;
调度模块,用于对所有所述待调度pod进行调度,以使所述K8s平台中资源均衡。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序
处理器,用于执行所述计算机程序时实现如权利要求1-7任意一项所述K8s平台的资源控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述K8s平台的资源控制方法的步骤。

说明书全文

一种K8s平台的资源控制方法、装置及相关组件

技术领域

[0001] 本申请涉及K8s平台领域,特别涉及一种K8s平台的资源控制方法、装置及相关组件。

背景技术

[0002] 在Kubernetes平台(以下简称K8s平台)中,K8s资源的pod在创建时会根据默认的资源调度策略调度到对应的节点中运行,可能存在某一K8s资源的pod集中部署在同一节点的情况,考虑到K8s平台中的节点存在不稳定因素,若节点宕机,则该节点上所有pod将停止运行,导致该K8s资源的pod服务不可用,降低K8s平台的资源利用率,对于集群的可用性有较大的影响。
[0003] 因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。发明内容
[0004] 本申请的目的是提供一种K8s平台的资源控制方法、装置、电子设备及计算机可读存储介质,能够对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的险,提高资源服务的可用性。
[0005] 为解决上述技术问题,本申请提供了一种K8s平台的资源控制方法,包括:
[0006] 获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,所述使用信息包括pod所在节点信息;
[0007] 根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod;
[0008] 若是,对所有所述待调度pod进行调度,以使所述K8s平台中资源均衡。
[0009] 优选的,所述获取K8s平台中各个节点的运行信息及各个目标资源的使用信息之后,该资源控制方法还包括:
[0010] 根据每个所述节点的运行信息得到该节点的资源使用率;
[0011] 相应的,所述对所有所述待调度pod进行调度的过程具体为:
[0012] 根据各个所述节点的资源使用率对所有所述待调度pod进行调度。
[0013] 优选的,所述待调度pod为待标记资源的pod和/或所述待标记节点中的具有多副本的pod;
[0014] 其中,所述待标记资源为超过预设个数的pod处于同一节点的目标资源,所述待标记节点为所述资源使用率大于第一预设值的节点。
[0015] 优选的,所述根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod之前,该资源控制方法还包括:
[0016] 根据所述使用信息确定待排除资源,其中,所述待排除资源为含有单副本的目标资源或具有亲和性配置的目标资源;
[0017] 相应的,所述待标记资源为除所述待排除资源外的超过预设个数的pod处于同一节点的目标资源。
[0018] 优选的,所述运行信息包括CPU负载和/或内存使用率和/或网络情况和/或在线运行时间。
[0019] 优选的,所述对所有所述待调度pod进行调度之前,该资源控制方法还包括:
[0020] 确定所有所述待调度pod中的无依赖pod,其中,所述无依赖pod为未挂载hostpath或local volume卷的待调度pod;
[0021] 相应的,所述对所有所述待调度pod进行调度的过程具体为:
[0022] 根据各个所述节点的资源使用率对所有所述无依赖pod进行调度。
[0023] 优选的,所述对所有所述待调度pod进行调度的过程具体为:
[0024] 将所述无依赖pod迁移到所述资源使用率小于第二预设值的节点上,所述第二预设值小于或等于所述第一预设值。
[0025] 为解决上述技术问题,本申请还提供了一种K8s平台的资源控制装置,包括:
[0026] 获取模,用于获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,所述使用信息包括pod所在节点信息;
[0027] 判断模块,用于根据所有所述使用信息和所有所述运行信息判断是否存在待调度pod,若是,触发调度模块;
[0028] 调度模块,用于对所有所述待调度pod进行调度,以使所述K8s平台中资源均衡。
[0029] 为解决上述技术问题,本申请还提供了一种电子设备,包括:
[0030] 存储器,用于存储计算机程序
[0031] 处理器,用于执行所述计算机程序时实现如上文任意一项所述K8s平台的资源控制方法的步骤。
[0032] 为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述K8s平台的资源控制方法的步骤。
[0033] 本申请提供了一种K8s平台的资源控制方法,通过监测K8s平台中各个节点的运行信息及K8s平台中同一目标资源的pod的分布情况,对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的风险,提高资源服务的可用性。本申请还提供了一种K8s平台的资源控制装置、电子设备及计算机可读存储介质,具有和上述控制方法相同的有益效果。附图说明
[0034] 为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本申请所提供的一种K8s平台的资源控制方法的步骤流程图
[0036] 图2为本申请所提供的一种K8s平台的资源控制装置的结构示意图;
[0037] 图3为本申请所提供的一种电子设备的结构示意图。

具体实施方式

[0038] 本申请的核心是提供一种K8s平台的资源控制方法、装置、电子设备及计算机可读存储介质,能够对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的风险,提高资源服务的可用性。
[0039] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040] 请参照图1,图1为本申请所提供的一种K8s平台的资源控制方法的控制流程图,该资源控制方法包括:
[0041] S101:获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,使用信息包括pod所在节点信息;
[0042] 具体的,本步骤的目的在于获取K8s平台中各个目标资源的使用信息,这里的目标资源可以包括但不限于deployment资源和statefulset资源,通过目标资源的使用信息,可以确定该目标资源的pod所在节点信息、该目标资源是否为单副本资源以及该目标资源是否具有亲和性配置等。
[0043] 具体的,本步骤的目的还在于获取K8s平台中各个节点的运行信息,这里的运行信息可以包括但不限于CPU负载、内存使用率、网络情况、在线运行时间等,可以根据上述运行信息对各个节点进行打分,得到该节点的资源利用率,以便后续对pod进行迁移操作。
[0044] 本步骤中,获取各个节点的运行信息和获取各个目标资源的使用信息的步骤可以同步进行,也可以异步进行,本实施例在此不做限定。
[0045] 进一步的,本步骤中可以按预设周期获取各个节点的运行信息或各个目标资源的使用信息,也可以在接收到对应的控制指令后再获取各个节点的运行信息或各个目标资源的使用信息,对此本实施例不做具体的限定。
[0046] 可以理解的是,本实施例具体可以通过监控程序以及消息中间件来定时获取并处理K8s平台的监控数据,以提高获取效率。
[0047] S102根据所有使用信息和所有运行信息判断是否存在待调度pod,若是,执行S103;
[0048] 具体的,本步骤的目的在于确定K8s平台中是否存在待调度pod,其中待调度pod可以为待标记资源的pod和/或待标记节点中的具有多副本的pod,其中,待标记资源为超过预设个数的pod处于同一节点的目标资源,待标记节点为资源使用率大于第一预设值的节点。在进行待标记资源判断时,为提高判断效率及减少计算量,首先将单副本目标资源和具有亲和性配置的目标资源排除,然后在剩下的目标资源中确定待标记资源。对待标记资源的所有pod及待标记节点中的具有多副本的pod进行标记,及以便执行下一步的驱逐和重新调度。
[0049] S103:对所有待调度pod进行调度,以使K8s平台中资源均衡。
[0050] 具体的,为避免同一目标资源的pod集中部署在同一个节点和/或资源使用率过高的节点中有多副本的pod,当该节点宕机后,目标资源不可用的情况发生,本申请对待调度pod进行重新调度,将所有节点上被标记的待调度pod迁移到其他节点上,具体可根据各个节点对应的资源利用率对待调度pod进行迁移,以保证K8s平台中资源均衡。
[0051] 可以理解的是,在迁移之前,首先要确定该节点上被标记的待调度pod是否为无依赖pod,即未挂载hostpath或local volume卷的pod,将无依赖pod从该节点上驱逐到其他节点上。作为一种优选的实施例,可以将无依赖pod迁移到资源使用率小于第二预设值的节点上,第二预设值小于或等于第一预设值。
[0052] 进一步的,本实施例还可以根据各个节点的资源利用率重新创建pod。
[0053] 可见,通过监测K8s平台中各个节点的运行信息及K8s平台中同一目标资源的pod的分布情况,对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的风险,提高资源服务的可用性。
[0054] 请参照图2,图2为本申请所提供的一种K8s平台的资源控制装置的结构示意图,包括:
[0055] 获取模块1,用于获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,使用信息包括pod所在节点信息;
[0056] 判断模块2,用于根据所有使用信息和所有运行信息判断是否存在待调度pod,若是,触发调度模块3;
[0057] 调度模块3,用于对所有待调度pod进行调度,以使K8s平台中资源均衡。
[0058] 可见,通过监测K8s平台中各个节点的运行信息及K8s平台中同一目标资源的pod的分布情况,对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的风险,提高资源服务的可用性。
[0059] 作为一种优选的实施例,该资源控制装置还包括:
[0060] 处理模块,用于根据每个节点的运行信息得到该节点的资源使用率;
[0061] 相应的,调度模块3具体用于:
[0062] 根据各个节点的资源使用率对所有待调度pod进行调度。
[0063] 作为一种优选的实施例,待调度pod为待标记资源的pod和/或待标记节点中的具有多副本的pod;
[0064] 其中,待标记资源为超过预设个数的pod处于同一节点的目标资源,待标记节点为资源使用率大于第一预设值的节点。
[0065] 作为一种优选的实施例,该资源控制装置还包括:
[0066] 第一确定模块,用于根据使用信息确定待排除资源,其中,待排除资源为含有单副本的目标资源或具有亲和性配置的目标资源;
[0067] 相应的,待标记资源为除待排除资源外的超过预设个数的pod处于同一节点的目标资源。
[0068] 作为一种优选的实施例,运行信息包括CPU负载和/或内存使用率和/或网络情况和/或在线运行时间。
[0069] 作为一种优选的实施例,该资源控制装置还包括:
[0070] 第二确定模块,用于确定所有待调度pod中的无依赖pod,其中,无依赖pod为未挂载hostpath或local volume卷的待调度pod;
[0071] 相应的,调度模块3具体用于:
[0072] 根据各个节点的资源使用率对所有无依赖pod进行调度。
[0073] 作为一种优选的实施例,调度模块3具体用于:
[0074] 将无依赖pod迁移到资源使用率小于第二预设值的节点上,第二预设值小于或等于第一预设值。
[0075] 另一方面,本申请还提供了一种电子设备,参见图3,其示出了本申请实施例一种电子设备的一种组成结构示意图,本实施例的电子设备2100可以包括:处理器2101和存储器2102。
[0076] 可选的,该电子设备还可以包括通信接口2103、输入单元2104和显示器2105和通信总线2106。
[0077] 处理器2101、存储器2102、通信接口2103、输入单元2104、显示器2105、均通过通信总线2106完成相互间的通信。
[0078] 在本申请实施例中,该处理器2101,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器,现成可编程阵列或者其他可编程逻辑器件等。
[0079] 该处理器可以调用存储器2102中存储的程序。具体的,处理器可以执行以下K8s平台的资源控制方法的实施例中电子设备侧所执行的操作。
[0080] 存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
[0081] 获取K8s平台中各个节点的运行信息及各个目标资源的使用信息,使用信息包括pod所在节点信息;
[0082] 根据所有使用信息和所有运行信息判断是否存在待调度pod;
[0083] 若是,对所有待调度pod进行调度,以使K8s平台中资源均衡。
[0084] 可见,通过监测K8s平台中各个节点的运行信息及K8s平台中同一目标资源的pod的分布情况,对同一资源集中部署的pod进行重新调度,有效的预防和减少K8s平台中节点资源使用的倾斜问题,实现多节点负载均衡,提高节点资源的利用率;同时减少了因K8s平台中的节点宕机所导致的该资源的pod服务不可用的风险,提高资源服务的可用性。
[0085] 在一种可能的实现方式中,该存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如计算功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。
[0086] 此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
[0087] 该通信接口2103可以为通信模块的接口,如GSM模块的接口。
[0088] 本申请还可以包括显示器2104和输入单元2105等等。
[0089] 当然,图3所示的物联网设备的结构并不构成对本申请实施例中物联网设备的限定,在实际应用中电子设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
[0090] 另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述K8s平台的资源控制方法的步骤。
[0091] 对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。
[0092] 本申请所提供的一种计算机可读存储介质,具有和上述资源控制方法相同的有益效果。
[0093] 还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0094] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈