本技术涉及边缘计算,尤其涉及一种资源管理方法、装置、系统、存储介质及计算机程序产品。
背景技术:
1、随着通信网络技术的快速发展,边缘计算(mobile edge computing,mec)技术也日渐成熟,得到广泛应用。在mec平台中,应用一般以服务的方式部署在用于管理容器集群的平台(kubernetes,k8s)中。k8s是一套开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理,可通过声明式配置管理命名空间、容器的资源预留和资源限制。在应用过程中,k8s提供了一个可弹性运行分布式系统的框架,应用容器通过调度器及内置算法自动分配到合适的主机节点上,且可自动管理集群各节点资源例如中央处理器(centralprocessing unit,cpu)、内存、磁盘等的使用情况,当某k8s节点出现资源消耗过高时,k8s集群会自动设置该污点,并对其上的容器组(pod)或容器进行自动驱逐即迁移处理,以使pod在集群中的其他节点上重启运行,以降低该节点的资源负载,保障容器运行。
2、但是,k8s节点上的相对核心或关键的pod或容器可能被k8s调度器自动驱逐到k8s集群中的其他节点上,但目前无法保障被驱逐的pod或容器在新的节点上能够正常启动运行,最终可能导致pod或容器承载的关键应用长时间宕机,如何解决这种问题成为当前亟需解决的技术问题。
3、申请内容
4、为解决上述技术问题,本技术期望提供一种资源管理方法、装置、系统、存储介质及计算机程序产品,解决了被驱逐的pod或容器在新的节点上可能不会正常启动的问题,提出了一种资源管理方法,缩短了被驱逐的pod或容器在新的节点上的数据恢复时间,保证了被驱逐的pod或容器的应用业务的连续性。
5、本技术的技术方案是这样实现的:
6、本技术提供一种资源管理方法,所述方法应用于主节点,所述方法包括:
7、若监测到第一工作节点处于预设故障状态,则基于容器管理策略中指定的分级级别参数,按照级别从高到低的顺序依次确定所述第一工作节点承载的每一第一容器对象具有关联关系的第二工作节点;其中,所述第二工作节点是所述主节点基于所述容器管理策略预先确定的,预先为每一所述第一容器对象预留资源的节点;
8、发送第一驱逐指示信息至所述第一工作节点,以使每一所述第一容器对象迁移至对应的所述第二工作节点;其中,所述第一驱逐指示信息用于指示驱逐每一所述第一容器对象至对应的所述第二工作节点处。
9、上述方案中,所述预设故障状态至少包括以下状态之一:节点维护状态、宕机状态、节点剩余运行资源小于或等于预设阈值。
10、上述方案中,所述若监测到第一工作节点处于预设故障状态,则基于容器管理策略中指定的分级级别参数,按照级别从高到低的顺序依次确定所述第一工作节点承载的每一第一容器对象具有关联关系的第二工作节点之前,所述方法还包括:
11、接收服务端节点发送的容器管理策略;其中,所述容器管理策略是所述服务端节点检测到显示区域显示的策略配置界面对应的配置操作后生成的;
12、发送所述容器管理策略至所述主节点所管理的至少一个工作节点;其中,至少一个所述工作节点包括所述第一工作节点和所述第二工作节点。
13、上述方案中,所述方法还包括:
14、确定所述容器管理策略中包括的m个第二容器对象的目标级别参数;其中,m为大于0的正整数;
15、基于每一所述第二容器对象和对应的所述目标级别参数,确定对应的所述第二工作节点;
16、发送用于指示为每一所述第二容器对象预留资源的预留指示信息至对应的所述第二工作节点。
17、上述方案中,所述基于每一所述第一容器对象和对应的所述目标级别参数,确定所述第二工作节点,包括:
18、从m个所述第二容器对象中,确定所述目标级别参数为第一级别参数的n个第三容器对象;其中,n为小于或等于m的正整数;
19、从至少一个所述工作节点中,为每一所述第三容器对象确定对应的所述第二工作节点;其中,所述第二工作节点未承载所述容器管理策略中指定的容器对象,且所述第二工作节点的剩余资源参数大于对应的所述第三容器对象运行所需的运行资源参数;
20、对应的,所述预留指示信息用于指示每一所述第二工作节点创建对应的所述第三容器对象对应的副本对象。
21、上述方案中,所述基于每一所述第一容器对象和对应的所述目标级别参数,确定所述第二工作节点,包括:
22、从m个所述第二容器对象,确定所述目标级别参数为第二级别参数的p个第四容器对象;其中,所述第二级别参数的重要程度低于第一级别参数的重要程度,p为小于或等于m的正整数;
23、按照预设数量对p个所述第四容器对象进行分组,得到q组容器对象组;其中,q为大于或等于1的正整数;
24、确定每一组所述容器对象组对应的预留资源参数;
25、从至少一个所述工作节点中,为每一组所述容器对象组确定对应的所述第二工作节点;其中,所述第二工作节点未承载所述容器管理策略中指定的容器对象,且所述第二工作节点的剩余资源参数大于所述预留资源参数;
26、对应的,所述预留指示信息用于指示每一所述第二工作节点创建所述预留资源参数匹配的副本对象。
27、上述方案中,所述确定每一组所述容器对象组对应的预留资源参数,包括:
28、计算每一组所述容器对象组中对应的每一资源子参数的总和;
29、计算每一所述资源子参数的总和与预设系数的比值,得到所述预留资源参数中每一资源子参数的预留值。
30、上述方案中,所述方法还包括:
31、若所述第一工作节点中存在分级级别参数为第三级别参数的第五容器对象,且在每一所述第一容器对象迁移至对应的所述第二工作节点后,则监控至少一个工作节点的剩余资源参数;其中,所述第三级别参数的重要程度低于第二级别参数的重要程度;
32、若确定得到剩余资源参数大于预设资源阈值的第三工作节点,则发送第二驱逐指示信息至所述第一工作节点,以使所述第五容器对象迁移至所述第三工作节点。
33、上述方案中,所述方法还包括:
34、若未确定得到所述第三工作节点,则生成用于提示集群资源不足的提示信息;
35、显示所述提示信息。
36、上述方案中,所述发送第一驱逐指示信息至所述第一工作节点之后,所述方法还包括:
37、若对应的所述第二工作节点存储有对应的所述第一容器对象的副本对象,则发送用于指示回收所述副本对象资源的回收指令至对应的所述第二工作节点,以使所述第二工作节点删除对应的所述副本对象。
38、上述方案中,所述方法还包括:
39、在确认目标级别参数的所述第一容器对象迁移到所述第二工作节点上,且正常启动后,为所述目标级别参数的所述第一容器对象确定对应的第四工作节点;其中,所述目标级别参数为第一级别参数或第二级别参数;
40、发送用于指示为所述目标级别参数的所述第一容器对象预留资源的预留指示信息至所述第四工作节点。
41、本技术提供一种资源管理装置,所述装置主要应用于主节点,所述装置包括:确定单元和发送单元;其中:
42、所述确定单元,用于若监测到第一工作节点处于预设故障状态,则基于容器管理策略中指定的分级级别参数,按照级别从高到低的顺序依次确定所述第一工作节点承载的每一第一容器对象具有关联关系的第二工作节点;其中,所述第二工作节点是所述主节点基于所述容器管理策略预先确定的,预先为每一所述第一容器对象预留资源的节点;
43、所述发送单元,用于发送第一驱逐指示信息至所述第一工作节点,以使每一所述第一容器对象迁移至对应的所述第二工作节点;其中,所述第一驱逐指示信息用于指示驱逐每一所述第一容器对象至对应的所述第二工作节点处。
44、本技术提供一种资源管理系统,所述系统包括:主节点和至少一个工作节点;其中:
45、至少一个所述工作节点,用于承载pod;
46、所述主节点,用于实现如上述任一项所述的资源管理方法的步骤。
47、本技术提供一种存储介质,所述存储介质上存储有资源管理程序,所述资源管理程序被处理器执行时实现如上述任一项所述的资源管理方法的步骤。
48、本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上述任一项所述的资源管理方法的步骤。
49、本技术实施例提供了一种资源管理方法、装置、系统、存储介质及计算机程序产品,若监测到第一工作节点处于预设故障状态,主节点基于容器管理策略中指定的分级级别参数,则按照级别从高到低的顺序依次确定第一工作节点承载的每一第一容器对象具有关联关系的第二工作节点,并发送第一驱逐指示信息至第一工作节点,以使每一第一容器对象迁移至对应的第二工作节点。这样,在主节点监测到第一工作节点处于预设故障状态时,根据容器管理策略,按照分级级别参数,优先控制第一工作节点将级别高的第一容器对象迁移至已经预先预留资源的对应的第二工作节点,保证了迁移至对应的第二工作节点的第一容器对象可以正常启动运行,解决了被驱逐的pod或容器在新的节点上可能不会正常启动的问题,提出了一种资源管理方法,缩短了被驱逐的pod或容器在新的节点上的数据恢复时间,保证了被驱逐的pod或容器的应用业务的连续性。
技术实现思路
1.一种资源管理方法,其特征在于,所述方法应用于主节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设故障状态至少包括以下状态之一:节点维护状态、宕机状态、节点剩余运行资源小于或等于预设阈值。
3.根据权利要求1所述的方法,其特征在于,所述若监测到第一工作节点处于预设故障状态,则基于容器管理策略中指定的分级级别参数,按照级别从高到低的顺序依次确定所述第一工作节点承载的每一第一容器对象具有关联关系的第二工作节点之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于每一所述第一容器对象和对应的所述目标级别参数,确定所述第二工作节点,包括:
6.根据权利要求4所述的方法,其特征在于,所述基于每一所述第一容器对象和对应的所述目标级别参数,确定所述第二工作节点,包括:
7.根据权利要求6所述的方法,其特征在于,所述确定每一组所述容器对象组对应的预留资源参数,包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的方法,其特征在于,所述发送第一驱逐指示信息至所述第一工作节点之后,所述方法还包括:
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
12.一种资源管理装置,其特征在于,所述装置主要应用于主节点,所述装置包括:确定单元和发送单元;其中:
13.一种资源管理系统,其特征在于,所述系统包括:主节点和至少一个工作节点;其中:
14.一种存储介质,其特征在于,所述存储介质上存储有资源管理程序,所述资源管理程序被处理器执行时实现如权利要求1至11中任一项所述的资源管理方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1至11中任一项所述的资源管理方法的步骤。