资源对象调度方法、系统、集群及计算机可读介质技术方案

技术编号:37721324 阅读:14 留言:0更新日期:2023-06-02 00:20
本发明专利技术提供了一种资源对象调度方法、系统、集群及计算机可读介质,资源对象调度方法包括:由扩展组件接收用户发起的对指定资源对象的访问请求,检索系统中与访问请求所对应的当前版本资源对象与指定资源对象的兼容性;若当前版本资源对象与指定资源对象不兼容时,调用转换规则,以对当前版本资源对象根据转换规则执行转换,以将访问请求所关联的当前版本资源对象转换为与当前版本资源对象兼容的资源对象;更新资源访问组件中响应访问请求所关联的当前版本资源对象,并修改扩展组件的属性值,以更新扩展组件。通过本申请,解决了对同一资源对象由于系统版本发生变化而导致无法被识别及调用的问题并确保了资源对象调用过程的平滑性。的平滑性。的平滑性。

【技术实现步骤摘要】
资源对象调度方法、系统、集群及计算机可读介质


[0001]本专利技术涉及计算机
,尤其涉及一种资源对象调度方法、系统、集群及计算机可读介质。

技术介绍

[0002]Kubernetes集群使用声明式的资源对象定义模型定义资源对象。同一资源对象由于Kubernetes版本的升级会导致不同版本的Kubernetes所含资源对象在调用过程中发生调用失败及无法响应的问题。在基于分布式或者多资源类型的Kubernetes集群场景中,采用声明式API文件对资源对象进行自定义的方式,不仅存在由于资源对象种类繁多所导致的资源对象定义繁琐的问题,还存在由于Kubernetes版本的迭代升级(或者降级)所导致的基于Kubernetes所组建云平台,即使对同一资源对象的定义即使定义方式及内容一致,也存在因无法调用对应的资源对象所而存在稳定性及可用性不佳的缺陷。由此,最终导致存在部署于Kubernetes集群中各个工作节点的业务容器(Container)在Kubernetes集群版本发生变化时而无法有效响应用户请求的缺陷。
[0003]同时,申请人经过检索后指出,公开号为CN108964958A的中国专利技术专利公开了《一种容器云环境下的服务接入管理方法和系统》,该现有技术使用Yaml文件编排服务组件,以创建满足不同需求的服务实例,因此该现有技术仅针对如何对云管平台的服务如何提供更便捷的接入方法,因此也无法前述技术问题。公开号为CN109831500A的中国专利技术专利公开了《Kubernetes集群中配置文件与Pod的同步方法》。该现有技术中的Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作。申请人指出该现有技术旨在减少Pod与配置文件之间频繁无效的同步操作,因此,依然无法解决对同一资源对象由于Kubernetes版本迭代升级或者迭代降级而导致无法被识别及调用失败的技术问题。
[0004]有鉴于此,有必要对现有技术中如果对版本信息发生迭代升级或者迭代降级的Kubernetes所构建的Kubernetes集群的资源对象定义的方法予以改进,以解决现有技术中所存在的资源对象调用过程中所存在的上述技术问题。

技术实现思路

[0005]本专利技术的目的在于揭示一种资源对象调度方法、系统、集群及计算机可读介质,用以解决对同一资源对象由于系统版本发生变化而导致无法被识别及调用的问题,确保系统版本变化过程的平滑性,并旨在提高系统版本变化过程中对同一资源对象的调用过程的可靠性与稳定性。
[0006]为实现上述目的之一,本专利技术提供了一种资源对象调度方法,对系统的资源对象予以调度,包括:
[0007]由扩展组件接收用户发起的对指定资源对象的访问请求,检索系统中与所述访问
请求所对应的当前版本资源对象与所述指定资源对象的兼容性;
[0008]若所述当前版本资源对象与所述指定资源对象不兼容时,调用转换规则,以对当前版本资源对象根据所述转换规则执行转换,以将访问请求所关联的当前版本资源对象转换为与所述当前版本资源对象兼容的资源对象;
[0009]更新资源访问组件中响应所述访问请求所关联的当前版本资源对象,并修改扩展组件的属性值,以更新所述扩展组件。
[0010]作为本专利技术的进一步改进,还包括:
[0011]加载不同系统版本的当前版本资源对象之间所形成的转换规则,并将所述转换规则保存至规则库,并在接收到用户发起的访问请求时,按照用户命名空间,循环地自所述规则库中调用所述转换规则,以判断扩展组件与所述访问请求所对应的当前版本资源对象之间的兼容性,以在当扩展组件与所述访问请求所对应的当前版本资源对象不兼容时,调用所述转换规则,以对所述当前版本资源对象进行转换。
[0012]作为本专利技术的进一步改进,还包括:
[0013]基于所述转换规则对当前版本资源对象执行转换过程中所生成的状态信息在执行引擎的控制下向外暴露检测结果,以将所述检测结果予以分类后,将分类后的检测结果分别保存至后端存储中对应的检测结果收集组件。
[0014]作为本专利技术的进一步改进,所述访问请求包括资源对象类型、资源对象版本及发起访问请求的请求主体信息;
[0015]其中,检索所述系统的当前版本资源对象的操作由API服务执行。
[0016]作为本专利技术的进一步改进,所述状态信息通过评价指标、事件或者日志形式予以分类,并分别保存至部署于后端存储中对应的检测结果收集组件,其中,所述检测结果收集组件包括监控器、事件收集器或者日志记录器。
[0017]作为本专利技术的进一步改进,还包括:
[0018]在接收到新的访问请求时,自所述检测结果收集组件调用响应在先访问请求所生成的检测结果,以仅针对所述资源访问组件中与所述新的访问请求不兼容的当前版本资源对象执行更新。
[0019]作为本专利技术的进一步改进,还包括:
[0020]对自所述访问请求中提取所述访问请求所包含的标识信息执行过滤;
[0021]对所述访问请求自规则库调用转换规则,提取与访问请求不兼容的当前版本资源对象;
[0022]其中,所述标识信息包括访问请求所携带的主体信息、发起访问请求的主体IP、Token或者访问类型信息中的一种或者几种的组合。
[0023]作为本专利技术的进一步改进,所述修改扩展组件的属性值包括:
[0024]对描述当前版本资源对象的配置文件所包含的Backend字段及API版本信息执行修改,以将修改后的扩展组件与当前版本资源对象之间所形成的转换规则保存至规则库,其中,所述转换规则包括修改前后同一个扩展组件基于Backend字段和/或API版本信息与当前版本资源对象之间所形成的关联关系。
[0025]作为本专利技术的进一步改进,还包括:对访问请求所关联的当前版本资源对象执行前置检测,所述前置检测包括:
[0026]对资源访问组件中当前版本资源对象与规则库所保存的转换规则进行比对,提取与当前系统版本不兼容的当前版本资源对象所对应的扩展组件;
[0027]修改所述与当前系统版本不兼容资源对象所对应的扩展组件的属性值。
[0028]作为本专利技术的进一步改进,所述前置检测在系统接收到用户发起的访问请求时,以被动方式触发Webhook请求,通过判断扩展组件是否能够访问扩展组件所关联的当前版本资源对象,以确定是否需要更新与所述扩展组件关联的当前版本资源对象,若扩展组件不能够访问扩展组件所关联的当前版本资源对象,修改扩展组件的属性值,以更新所述扩展组件。
[0029]作为本专利技术的进一步改进,修改扩展组件的属性值的操作由管理员下发配置文件并通过API服务直接向扩展组件发起并执行,
[0030]或者,
[0031]由解析单元向扩展组件发起并执行;
[0032]所述配置文件包括JSON文件、Yaml文件或者XML文件。
[0033]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源对象调度方法,对系统的资源对象予以调度,其特征在于,包括:由扩展组件接收用户发起的对指定资源对象的访问请求,检索系统中与所述访问请求所对应的当前版本资源对象与所述指定资源对象的兼容性;若所述当前版本资源对象与所述指定资源对象不兼容时,调用转换规则,以对当前版本资源对象根据所述转换规则执行转换,以将访问请求所关联的当前版本资源对象转换为与所述当前版本资源对象兼容的资源对象;更新资源访问组件中响应所述访问请求所关联的当前版本资源对象,并修改扩展组件的属性值,以更新所述扩展组件。2.根据权利要求1所述的资源对象调度方法,其特征在于,还包括:加载不同系统版本的当前版本资源对象之间所形成的转换规则,并将所述转换规则保存至规则库,并在接收到用户发起的访问请求时,按照用户命名空间,循环地自所述规则库中调用所述转换规则,以判断扩展组件与所述访问请求所对应的当前版本资源对象之间的兼容性,以在当扩展组件与所述访问请求所对应的当前版本资源对象不兼容时,调用所述转换规则,以对所述当前版本资源对象进行转换。3.根据权利要求2所述的资源对象调度方法,其特征在于,还包括:基于所述转换规则对当前版本资源对象执行转换过程中所生成的状态信息在执行引擎的控制下向外暴露检测结果,以将所述检测结果予以分类后,将分类后的检测结果分别保存至后端存储中对应的检测结果收集组件。4.根据权利要求2所述的资源对象调度方法,其特征在于,所述访问请求包括资源对象类型、资源对象版本及发起访问请求的请求主体信息;其中,检索所述系统的当前版本资源对象的操作由API服务执行。5.根据权利要求3所述的资源对象调度方法,其特征在于,所述状态信息通过评价指标、事件或者日志形式予以分类,并分别保存至部署于后端存储中对应的检测结果收集组件,其中,所述检测结果收集组件包括监控器、事件收集器或者日志记录器。6.根据权利要求5所述的资源对象调度方法,其特征在于,还包括:在接收到新的访问请求时,自所述检测结果收集组件调用响应在先访问请求所生成的检测结果,以仅针对所述资源访问组件中与所述新的访问请求不兼容的当前版本资源对象执行更新。7.根据权利要求2所述的资源对象调度方法,其特征在于,还包括:对自所述访问请求中提取所述访问请求所包含的标识信息执行过滤;对所述访问请求自规则库调用转换规则,提取与访问请求不兼容的当前版本资源对象;其中,所述标识信息包括访问请求所携带的主体信息、发起访问请求的主体IP、Token或者访问类型信息中的一种或者几种的组合。8.根据权利要求2所述的资源对象调度方法,其特征在于,所述修改扩展组件的属性值包括:对描述当前版本资源对象的配置文件所包含的Backend字段及API版本信息执行修改,以将修改后的扩展组件与当前版本资源对象之间所形成的转换规则保存至规则库,其中,
所述转换规则包括修改前后同一个扩展组件基于Backend字段和/或API版本信息与当前版本资源对象之间所形成的关联关系。9.根据权利要求2所述的资源对象调度方法,其特征在于,还包括:对访问请求所关联的当前版本资源对象执行前置检测,所述前置检测包括:对资源访问组件中当前版本资源对象与规则库所保存的转换规则进行比对,提取与当前系统版本不兼容的当前版本资源对象所对应的扩展组件;修改所述与当前系统版本不兼容资源对象所对应的扩展组件的属性值。10.根据权利要求9所述的资源对象调度方法,其特征在于,所述前置检测在系统接收到用户发起的访问请求时,以被动方式触发Webhook请求,通过判断扩展组件是否能够访问扩展组件所关联的当前版本资源对象,以确定是否需要更新与所述扩展组件关联的当前版本资源对象,若扩展组件不能够访问扩展组件所关联的当前版本资源对象,修改扩展组件的属性值,以更新所述扩展组件。11.根据权利要求10所述的资源对象调度方法,其特征在于,修改扩展组件的属性值的操作由管理员下发配置文件并通过API服务直接向扩展组件发起并执行,或者,由解析单元向扩展组件发起并执行;所述配置文件包括JSON文件、Yaml文件或者XML文件。12.根据权利要求9所述的资源对象调度方法,其特征在于,还包括:判断扩展组件是否能够访问扩展组件所关联的当前版本资源对象,若否,在执行引擎的控制下向外暴露检测结果,以触发管理员或者解析单元通过调用规则库的转换规则,对资源访问组件中的当前版本资源对象通过所述转换规则执行转换,以形成当前版本资源对象,并执行修改扩展组件的属性值的操作;若是,直接将所述当前版本资源对象作为指定资源对象,以响应用户发起的访问请求。13.根据权利要求2所述的资源对象调度方法,其特征在于,所述系统为Kubernetes集群,所述Kubernetes集群包含一个主节点以及被所述主节点所纳管的至少一个工作节点;所...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:安超云软件有限公司
类型:发明
国别省市:

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

1