资源回收方法及装置、存储介质及电子设备制造方法及图纸

技术编号:38459156 阅读:10 留言:0更新日期:2023-08-11 14:36
本公开提供了一种资源回收方法及装置、存储介质及电子设备,涉及新兴信息技术技术领域。该方法包括,获取队列中Node节点的Pod信息,判断Node节点是否与Master端口失联;当Node节点与Master端口失联,将Node节点停止Kubelet服务;读取队列中的Pod,根据预设方式对Pod进行资源回收,其中,预设方式包括,备份Pod、保留Pod和删除Pod。本公开在Node节点在失联后处于未准备好状态下,对Node内部Pod根据预设方式进行控制和处理,停止原先业务网络对外提供服务,使得资源回收合理,保障服务的正常运行。常运行。常运行。

【技术实现步骤摘要】
资源回收方法及装置、存储介质及电子设备


[0001]本公开涉及新兴信息技术
,尤其涉及一种资源回收方法及装置、存储介质及电子设备。

技术介绍

[0002]随着网络功能虚拟化(Network Functions Virtualization,NFV)技术的不断成熟,电信网元向云上迁移的趋势明显,并且呈现云原生上云的趋势。Google推出的Kubernetes(K8s)集群作为开源的大规模容器编排引擎,已经逐步成为了容器云的行业规范,也被广泛应用于承载云原生网元。相较于互联网技术(Internet Technology,IT)应用系统,容器云在承载电信网元时,对组网能力和可靠性有着更高的要求,要求云底座支持多网络平面。现已有Multus等多网络平面的CNI插件,使得在K8sNode可以为容器提供同时通过多个网络平面进行通信的能力,但也对K8s可靠性管理机制带来影响,使得因管理网故障造成容器被迁移和删除后,业务网依旧对外提供服务,影响正常的服务提供。目前从K8s针对Node丢失的原生做法是限时驱逐,长时等待恢复。Node被驱逐后,原本在Node上Pod会在别的Node上启动同样镜像版本的Pod予以替换,此时若原Node恢复正常,Master(主节点)则会将后来新起的Pod删掉,重新使用原Node上的Pod。当Master失联,Node处于NotReady(非正常、未准备好)状态后,Kubelet不会主动去对Pod做控制的,导致资源持续占用。
[0003]现有技术中,K8s已经支持Multus等多网络平面的CNI插件,而Kubernetes现有判断Node失效判定机制仍然还是通过判定K8s的管理网络(主网络)是否连通为判定依据。当管理网络断开而业务网络还存在通信流量时,此时由于K8s本身的Node资源回收机制影响,Master在别处Node重启服务,而原先业务网络仍然对外提供服务,资源回收的不合理,造成服务混乱异常。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0005]本公开提供一种资源回收方法及装置、存储介质及电子设备,至少在一定程度上克服由于相关技术中资源回收不合理的问题。
[0006]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0007]根据本公开的一个方面,提供了一种资源回收方法,包括:获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联;当所述Node节点与Master端口失联,将所述Node节点停止Kubelet服务;读取队列中的Pod,根据预设方式对所述Pod进行资源回收,其中,所述预设方式包括,备份Pod、保留Pod和删除Pod。
[0008]在一些实施例中,所述获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联包括:通过远程接口获取Node节点中Pod的当前事件状况和资源情况;将所
述Pod的当前事件状况和资源情况写入队列;根据预设的方式,判断所述Node节点是否与Master端口失联。
[0009]在一些实施例中,在所述读取队列中的Pod,根据预设方式对所述Pod进行资源回收之后,所述方法还包括:当所述Node节点状态为正常状态,将备份的Pod重新加载回所述Node节点激活运行;重启Kubelet服务;重新获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联。
[0010]在一些实施例中,所述资源回收方法还包括:根据所述Pod的当前事件状况和资源情况,将满足预设条件的Pod信息记录在Cache缓存中;从Cache缓存中读回要处理的Pod信息并写入到预设队列中;读取预设队列中的Pod,根据预设方式对所述Pod进行资源回收。
[0011]在一些实施例中所述资源回收方法还包括:当所述Node节点与Master端口连接正常,重新通过远程接口获取Node节点中Pod的当前事件状况和资源情况。
[0012]在一些实施例中,所述备份Pod、保留Pod和删除Pod包括:将Pod转为快照存储;保留需要运行的Pod;删除无需保留的Pod。
[0013]在一些实施例中,在所述获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联之前,所述方法还包括:通过远程接口获取Master端的预设方式。
[0014]根据本公开的另一个方面,还提供了一种资源回收装置,包括:失联判断模块,用于获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联;服务停止模块,用于当所述Node节点与Master端口失联,将所述Node节点停止Kubelet服务;资源回收模块,用于读取队列中的Pod,根据预设方式对所述Pod进行资源回收,其中,所述预设方式包括,备份Pod、保留Pod和删除Pod。
[0015]根据本公开的另一个方面,还提供了一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的资源回收方法。
[0016]根据本公开的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的资源回收方法。
[0017]根据本公开的另一个方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一项的资源回收方法。
[0018]本公开的实施例中提供的一种资源回收方法,包括:获取队列中Node节点的Pod信息,判断Node节点是否与Master端口失联;当Node节点与Master端口失联,将Node节点停止Kubelet服务;读取队列中的Pod,根据预设方式对Pod进行资源回收,其中,预设方式包括,备份Pod、保留Pod和删除Pod。本公开在Node节点在失联后处于未准备好状态下,对Node内部Pod根据预设方式进行控制和处理,停止原先业务网络对外提供服务,使得资源回收合理,保障服务的正常运行。
[0019]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1示出本公开实施例中资源回收方法的示例性应用系统架构示意图;
[0022]图2示出本公开实施例中节点正常时的示例性应用系统架构运行状态示意图;
[0023]图3示出本公开实施例中节点异常时的示例性应用系统架构运行状态示意图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源回收方法,其特征在于,包括:获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联;当所述Node节点与Master端口失联,将所述Node节点停止Kubelet服务;读取队列中的Pod,根据预设方式对所述Pod进行资源回收,其中,所述预设方式包括,备份Pod、保留Pod和删除Pod。2.根据权利要求1所述的资源回收方法,其特征在于,所述获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联包括:通过远程接口获取Node节点中Pod的当前事件状况和资源情况;将所述Pod的当前事件状况和资源情况写入队列;根据预设的方式,判断所述Node节点是否与Master端口失联。3.根据权利要求1或2所述的资源回收方法,其特征在于,在所述读取队列中的Pod,根据预设方式对所述Pod进行资源回收之后,所述方法还包括:当所述Node节点状态为正常状态,将备份的Pod重新加载回所述Node节点激活运行;重启Kubelet服务;重新获取队列中Node节点的Pod信息,判断所述Node节点是否与Master端口失联。4.根据权利要求2所述的资源回收方法,其特征在于,所述方法还包括:根据所述Pod的当前事件状况和资源情况,将满足预设条件的Pod信息记录在Cache缓存中;从Cache缓存中读回要处理的Pod信息并写入到预设队列中;读取预设队列中的Pod,根据预设方式对所述Pod进行资源回收。5.根据...

【专利技术属性】
技术研发人员:黄志兰何肖嵘朱万意
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1