CN114385318A - 基于kubernetes的并行测试方法、装置及设备 - Google Patents
基于kubernetes的并行测试方法、装置及设备 Download PDFInfo
- Publication number
- CN114385318A CN114385318A CN202210043693.7A CN202210043693A CN114385318A CN 114385318 A CN114385318 A CN 114385318A CN 202210043693 A CN202210043693 A CN 202210043693A CN 114385318 A CN114385318 A CN 114385318A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- micro
- micro service
- tested
- 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.)
- Pending
Links
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/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/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于kubernetes的并行测试方法、装置及设备,涉及计算机技术领域。该方法包括:获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,目标访问接口标识为目标微服务对应的接口标识,目标微服务为目标访问链路标识所指示链路中除待测试微服务之外的任一微服务;通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,实现了可以通过各目标访问链路对应的命名空间对各待测试微服务的服务资源进行隔离,进而根据各目标微服务的地址信息可以实现对各目标微服务的并行访问,实现对多个并行待测试微服务的并行测试,提高测试效率。
Description
技术领域
本申请涉及智能家居技术领域,特别涉及一种基于kubernetes的并行测试方法、装置及设备。
背景技术
在java语言中,诞生了spring cloud或dubbo等众多微服务框架,它们也逐渐变成了快速构建微服务的首选框架之一,再加上容器技术的发展,结合微服务一般由众多服务构成的特点,常常采用容器服务编排框架kubernetes进行对搭建的微服务进行服务编排。
现有的,各微服务上线前需要对每个微服务进行测试验证,然而在实际的业务开发中经常会出现同一微服务的多个需求并行开发的情况,因此,现有技术中在测试时为了避免同一微服务各版本间修改的冲突,往往只能在某个需求的测试完成后才能进行下一轮的测试。
可以看出,现有的测试方法比较简单,面对需要快速迭代的开发模式中则会显得非常缓慢,存在测试效率低下的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种基于kubernetes的并行测试方法、装置及设备,可以提高测试效率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明提供一种基于kubernetes的并行测试方法,包括:
获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,所述目标访问接口标识为目标微服务对应的接口标识,所述目标访问接口标识包括:所述目标微服务的服务名称,所述目标微服务为所述目标访问链路标识所指示链路中除所述待测试微服务之外的任一微服务,每个所述目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;
通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,所述预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
在可选的实施方式中,所述通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,包括:
通过预设网关服务提取各待测试微服务对应的目标访问链路标识和目标访问接口标识;
根据各待测试微服务的对应的目标访问链路标识和所述第一映射关系,确定各目标访问链路标识对应的目标命名空间标识;
根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务之前,还包括:
获取各链路标识对应的命名空间的服务信息,每个所述命名空间的服务信息包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件的地址信息;
根据各链路标识对应的命名空间的服务信息,构建所述第二映射关系,其中,各微服务对应的资源对象组件的地址信息,用于指示各微服务的地址信息。
在可选的实施方式中,所述根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务,包括:
根据各目标访问接口标识,提取各目标访问接口标识对应的目标微服务的服务名称;
根据各目标访问链路标识对应的目标命名空间标识、各目标微服务的服务名称以及所述第二映射关系,确定各目标微服务的地址信息;
根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务,包括:
确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod;
若存在,且所述Pod处于存活状态,则通过所述Pod访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述预设网关服务还包括:主命名空间标识,所述方法还包括:
若确定各目标微服务的地址信息所指示的目标资源对象组件下不存在关联的Pod,则根据所述主命名空间标识、各所述目标微服务的服务名称以及第二映射关系,访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述获取多个并行待测试微服务的测试参数之前,所述方法还包括:
获取多个待发布微服务代码以及各待发布微服务代码对应的服务名称和命名空间标识;
根据各所述微服务代码对应的服务名称和命名空间标识,通过预设发布脚本将各所述待发布微服务代码发布至对应的命名空间。
第二方面,本发明提供一种基于kubernetes的并行测试装置,包括:
获取模块,用于获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,所述目标访问接口标识为目标微服务对应的接口标识,所述目标访问接口标识包括:所述目标微服务的服务名称,所述目标微服务为所述目标访问链路标识所指示链路中除所述待测试微服务之外的任一微服务,每个所述目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;
访问模块,用于通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,所述预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
在可选的实施方式中,所述访问模块,具体用于通过预设网关服务提取各待测试微服务对应的目标访问链路标识和目标访问接口标识;
根据各待测试微服务的对应的目标访问链路标识和所述第一映射关系,确定各目标访问链路标识对应的目标命名空间标识;
根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述访问模块,还用于获取各链路标识对应的命名空间的服务信息,每个所述命名空间的服务信息包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件的地址信息;
根据各链路标识对应的命名空间的服务信息,构建所述第二映射关系,其中,各微服务对应的资源对象组件的地址信息,用于指示各微服务的地址信息。
在可选的实施方式中,所述访问模块,具体用于所述根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务,包括:
根据各目标访问接口标识,提取各目标访问接口标识对应的目标微服务的服务名称;
根据各目标访问链路标识对应的目标命名空间标识、各目标微服务的服务名称以及所述第二映射关系,确定各目标微服务的地址信息;
根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述访问模块,具体用于确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod;
若存在,且所述Pod处于存活状态,则通过所述Pod访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述预设网关服务还包括:主命名空间标识,所述访问模块,还用于所述方法还包括:
若确定各目标微服务的地址信息所指示的目标资源对象组件下不存在关联的Pod,则根据所述主命名空间标识、各所述目标微服务的服务名称以及第二映射关系,访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述获取模块,还用于获取多个待发布微服务代码以及各待发布微服务代码对应的服务名称和命名空间标识;
根据各所述微服务代码对应的服务名称和命名空间标识,通过预设发布脚本将各所述待发布微服务代码发布至对应的命名空间。
第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述基于kubernetes的并行测试方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述基于kubernetes的并行测试方法的步骤。
本申请的有益效果是:
本申请实施例提供的基于kubernetes的并行测试方法、装置及设备中,通过获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,目标访问接口标识为目标微服务对应的接口标识,目标访问接口标识包括:目标微服务的服务名称,目标微服务为目标访问链路标识所指示链路中除待测试微服务之外的任一微服务,每个目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,应用该方法,实现了可以通过各目标访问链路对应的命名空间对各待测试微服务的服务资源进行隔离,进而根据各目标微服务的地址信息可以实现对各目标微服务的并行访问,实现对多个并行待测试微服务的并行测试,提高测试效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于kubernetes的并行测试方法的流程示意图;
图2为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图;
图3为本申请实施例提供的又一种基于kubernetes的并行测试方法的流程示意图;
图4为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图;
图5为本申请实施例提供的又一种基于kubernetes的并行测试方法的流程示意图;
图6为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图;
图7为本申请实施例提供的一种基于kubernetes的并行测试装置的功能模块示意图;
图8为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在介绍本申请之前,首先对本申请实施例中用到的相关名词进行解释说明。
Kubernetes:是一个开源的、用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Namespace:是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods、services、replication controllers、deployments等都是属于某一个namespace的(默认是default)。Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kube-system namespace中。
现有技术中,针对同一微服务的多个需求并行开发的情况,为了在测试时避免同一微服务各版本间修改的冲突,往往只能在某个需求的测试完成后才能进行下一轮的测试。因此,现有的测试方法无法实现并行测试,存在测试效率较低的问题。
此外,现有技术中虽然也有其他解决方案,比如,可以采用多个测试环境的方式来进行解决,但多个测试环境的解决方案会造成资源的浪费,以及由于微服务项目众多,各微服务间的调用关系也很紧密,每次某个微服务测试完毕上线后,将其同步更新到所有的测试环境很容易出现遗漏的情况,给后续的维护与管理也带来了诸多不便。
有鉴于此,本申请实施例提供一种基于kubernetes的并行测试方法,可以支持对多版本的多个待测试微服务的并行测试,提高测试效率。
图1为本申请实施例提供的一种基于kubernetes的并行测试方法的流程示意图,该方法的执行主体可以是运行有kubernetes引擎的计算机、服务器等,在此不作限定。如图1所示,该方法可以包括:
S101、获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识。
其中,目标访问接口标识为目标微服务对应的接口标识,目标访问接口标识包括:目标微服务的服务名称,目标微服务为目标访问链路标识所指示链路中除待测试微服务之外的任一微服务,每个目标访问链路标识对应一个命名空间(namespace)标识,且各目标访问链路标识对应的命名空间标识不同。基于该说明可以看出,各目标访问链路标识所指示的链路可以包括至少两个微服务,其中一微服务为待测试微服务,另一微服务为待测试微服务需要访问的目标微服务。当然,本申请在此并不限定各目标访问链路标识所指示的链路中微服务的数量,根据实际的应用场景可以有所不同。
可选地,多个并行待测试微服务可以是多个需求对应的多个版本的待测试微服务。在一些实施例中,多个并行待测试微服务的测试参数可以根据用户的输入操作获取,又或者,可以根据其他设备发送的相关参数获取,在此不作限定。
每个待测试微服务对应的目标访问链路标识所指示的链路可以包括该待测试微服务以及该待测试微服务对应的目标微服务,其中,目标微服务也即该待测试微服务待访问的微服务;每个待测试微服务对应的目标访问接口标识,即为该待测试微服务对应的目标微服务的接口标识,其可以包括该目标微服务的服务名称。基于该说明可以理解的是,也即根据每个待测试微服务对应的目标访问链路标识可以确定该待测试微服务对应的目标访问链路,根据该目标访问链路和该待测试微服务对应的目标访问接口标识,即可确定该待测试微服务对应的目标微服务。应用本申请实施例,实现了可以通过各目标访问链路对应的命名空间对各待测试微服务的服务资源进行隔离,可以提高本申请方法的安全性和稳定性。
此外,还需要说明的是,每个待测试微服务可以对应一个单独的链路,多个并行待测试微服务则可以对应多个单独的链路。当将某个链路设置为独立链路时,它将与其他的任何链路资源完全隔离,当某个待测试微服务需要更新时,仅需要在链路中部署变更的服务即可,实现链路间关联关系的灵活变更,可以极大地提高多个并行待测试微服务在kubernetes下的测试效率。
S102、通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务。
其中,预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
基于上述说明可以看出,根据预设网关服务中的第一映射关系、第二映射关系,可以确定各待测试微服务对应的目标微服务的地址信息,进而根据各目标微服务的地址信息可以实现对各目标微服务的并行访问,实现对多个并行待测试微服务的并行测试,提高测试效率。
综上,本申请实施例提供一种基于kubernetes的并行测试方法,该方法包括:获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,目标访问接口标识为目标微服务对应的接口标识,目标访问接口标识包括:目标微服务的服务名称,目标微服务为目标访问链路标识所指示链路中除待测试微服务之外的任一微服务,每个目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系,应用该方法,实现了可以通过各目标访问链路对应的命名空间对各待测试微服务的服务资源进行隔离,进而根据各目标微服务的地址信息可以实现对各目标微服务的并行访问,实现对多个并行待测试微服务的并行测试,提高测试效率。
此外,基于上述实施例可以看出,本申请实施例在进行并行测试时,可以根据待测试微服务的测试参数动态调整测试路径,可以提高本申请并行测试方法的灵活性;且测试过程,简单、操作快捷。
图2为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图。可选地,如图2所示,上述通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务的步骤,可以包括:
S201、通过预设网关服务提取各待测试微服务对应的目标访问链路标识和目标访问接口标识。
S202、根据各待测试微服务的对应的目标访问链路标识和第一映射关系,确定各目标访问链路标识对应的目标命名空间标识。
S203、根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及第二映射关系,访问各待测试微服务对应的目标微服务。
其中,预设网关服务可以被配置为,对于各待测试微服务可以提取对应的目标访问链路标识和目标访问接口标识;根据上述第一映射关系,可以确定所提取的各目标访问链路标识对应的目标命名空间标识;进一步地,根据各目标命名空间标识、所提取的各目标访问接口标识以及第二映射关系,可以确定各待测试微服务对应的目标微服务的地址信息,根据各目标微服务的地址信息可以实现对各目标微服务的并行访问,实现对多个并行待测试微服务的并行测试,提高测试效率。
图3为本申请实施例提供的又一种基于kubernetes的并行测试方法的流程示意图。可选地,如图3所示,通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务之前,上述方法还包括:
S301、获取各链路标识对应的命名空间的服务信息,每个命名空间的服务信息包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件的地址信息。
S302、根据各链路标识对应的命名空间的服务信息,构建第二映射关系,其中,各微服务对应的资源对象组件的地址信息,用于指示各微服务的地址信息。
在一些实施例中,可以通过各命名空间对应的资源对象(Service)获取各命名空间的服务信息,其中,每个命名空间的服务信息可以包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件(也即Service组件)的地址信息。在获取到各命名空间的服务信息后,则可以构建命名空间标识、微服务的地址信息以及微服务的服务名称之间的第二映射关系,其中,各微服务的地址信息,可以用各微服务对应的资源对象组件的地址信息标识。
其中,Service组件是kubernetes中建立在一组Pod对象之上的资源对象组件,其可以通过标签选择器(Selector)选择一组Pod对象,并为这组Pod对象定义一个统一的固定访问入口(通常是一个IP地址),该固定访问入口则可以理解为该Service组件的地址信息。
图4为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图。可选地,如图4所示,上述根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及第二映射关系,访问各待测试微服务对应的目标微服务,包括:
S401、根据各目标访问接口标识,提取各目标访问接口标识对应的目标微服务的服务名称。
S402、根据各目标访问链路标识对应的目标命名空间标识、各目标微服务的服务名称以及第二映射关系,确定各目标微服务的地址信息。
S403、根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务。
参见前述的说明可知,根据各目标访问接口标识,提取到各目标访问接口标识对应的目标微服务的服务名称之后,则可以根据各目标微服务的服务名称、所对应目标命名空间标识、以及第二映射关系,确定各目标微服务的地址信息,进而根据各目标微服务的地址信息,可以访问各待测试微服务对应的目标微服务。
当然,需要说明的是,若一些实施例中,各目标微服务的地址信息,通过各微服务对应的资源对象组件的地址信息标识,那么,则可以根据各微服务对应的资源对象组件的地址信息,访问各待测试微服务对应的目标微服务。可以看出,应用本申请实施例,可以通过kubernetes自带的资源对象组件对各微服务进行发现和管理,使得无需在kubernetes引擎中引入第三方管理组件,比如:euraka、nacos、zookeeper、consul等,因此,可以节约对第三方组件的维护管理成本,提高并行测试方法的适用性。
图5为本申请实施例提供的又一种基于kubernetes的并行测试方法的流程示意图。可选地,如图5所示,上述根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务的步骤,可以包括:
S501、确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod。
S502、若存在,且Pod处于存活状态,则通过Pod访问待测试微服务对应的目标微服务。
其中,Pod是kubernetes集群中最小的调度单位,其可以由一个或多个容器组成;资源对象(Service)组件是kubernetes中建立在一组Pod对象之上的资源对象组件,属于同一组的各Pod可以具备同样的功能。因此,资源对象组件下可以存在关联Pod,那么在访问各待测试微服务对应的目标微服务时,可以确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod,若存在,且该Pod处于存活状态,那么可以通过该Pod访问待测试微服务对应的目标微服务。其中,Pod处于存活状态,说明Pod处于运行状态。
可选地,判断Pod是否处于存活状态,可以通过存活探针探测获取,当然,本申请在此并不限定存活探针的探测频率,根据实际的应用场景可以灵活设置。
可选地,预设网关服务还包括:主命名空间标识,上述方法还包括:
若确定各目标微服务的地址信息所指示的目标资源对象组件下不存在关联的Pod,则根据主命名空间标识、各目标微服务的服务名称以及第二映射关系,访问待测试微服务对应的目标微服务。
当然,在一些实施例中,目标资源对象组件下也可能不存在关联的Pod,可选地,在该情况下可以根据第二映射关系,确定主命名空间标识对应的微服务的服务名称中是否包括目标微服务的服务名称,若包括,则可以进一步获取目标微服务的地址信息,根据目标微服务的地址信息,访问待测试微服务对应的目标微服务。关于该部分说明可参见上述步骤S402和S403的说明,在此不再赘述。
图6为本申请实施例提供的另一种基于kubernetes的并行测试方法的流程示意图。可选地,如图6所示,获取多个并行待测试微服务的测试参数之前,上述方法还包括:
S601、获取多个待发布微服务代码以及各待发布微服务代码对应的服务名称和命名空间标识。
S602、根据各微服务代码对应的服务名称和命名空间标识,通过预设发布脚本将各待发布微服务代码发布至对应的命名空间。
其中,多个待发布微服务代码可以通过编写获取,又或者,可以通过其他设备获取,在此不作限定。可选地,各待发布微服务代码对应的命名空间标识可以根据预设命名空间的生成规则获取,造成不作限定。
预设发布脚本可以具备将待发布微服务代码发布至对应的命名空间标识所指示的命名空间的功能。可选地,命名空间中各微服务代码可以通过服务名称进行标识。可以理解的是,若发布成功,那么可以参见上述的步骤对所发布的各微服务代码进行并行测试。可选地,服务名称可以包括版本标识等,在此不作限定。
可选地,在一些实施例中,预设发布脚本还可以包括:编译打包、镜像构建、上传所构建的镜像至指定的镜像仓库、标注镜像版本号等功能,在此不作限定。
图7为本申请实施例提供的一种基于kubernetes的并行测试装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图7所示,该并行测试装置100包括:
获取模块110,用于获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,所述目标访问接口标识为目标微服务对应的接口标识,所述目标访问接口标识包括:所述目标微服务的服务名称,所述目标微服务为所述目标访问链路标识所指示链路中除所述待测试微服务之外的任一微服务,每个所述目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;
访问模块120,用于通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,所述预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
在可选的实施方式中,所述访问模块120,具体用于通过预设网关服务提取各待测试微服务对应的目标访问链路标识和目标访问接口标识;
根据各待测试微服务的对应的目标访问链路标识和所述第一映射关系,确定各目标访问链路标识对应的目标命名空间标识;
根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述访问模块120,还用于获取各链路标识对应的命名空间的服务信息,每个所述命名空间的服务信息包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件的地址信息;
根据各链路标识对应的命名空间的服务信息,构建所述第二映射关系,其中,各微服务对应的资源对象组件的地址信息,用于指示各微服务的地址信息。
在可选的实施方式中,所述访问模块120,具体用于所述根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务,包括:
根据各目标访问接口标识,提取各目标访问接口标识对应的目标微服务的服务名称;
根据各目标访问链路标识对应的目标命名空间标识、各目标微服务的服务名称以及所述第二映射关系,确定各目标微服务的地址信息;
根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务。
在可选的实施方式中,所述访问模块120,具体用于确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod;
若存在,且所述Pod处于存活状态,则通过所述Pod访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述预设网关服务还包括:主命名空间标识,所述访问模块,还用于所述方法还包括:
若确定各目标微服务的地址信息所指示的目标资源对象组件下不存在关联的Pod,则根据所述主命名空间标识、各所述目标微服务的服务名称以及第二映射关系,访问所述待测试微服务对应的目标微服务。
在可选的实施方式中,所述获取模块110,还用于获取多个待发布微服务代码以及各待发布微服务代码对应的服务名称和命名空间标识;
根据各所述微服务代码对应的服务名称和命名空间标识,通过预设发布脚本将各所述待发布微服务代码发布至对应的命名空间。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的一种电子设备结构示意图,该电子设备可以集成于上述并行测试装置中。如图8所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于kubernetes的并行测试方法,其特征在于,包括:
获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,所述目标访问接口标识为目标微服务对应的接口标识,所述目标访问接口标识包括:所述目标微服务的服务名称,所述目标微服务为所述目标访问链路标识所指示链路中除所述待测试微服务之外的任一微服务,每个所述目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;
通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,所述预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
2.根据权利要求1所述的方法,其特征在于,其特征在于,所述通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,包括:
通过预设网关服务提取各待测试微服务对应的目标访问链路标识和目标访问接口标识;
根据各待测试微服务的对应的目标访问链路标识和所述第一映射关系,确定各目标访问链路标识对应的目标命名空间标识;
根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务。
3.根据权利要求1所述的方法,其特征在于,其特征在于,所述通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务之前,还包括:
获取各链路标识对应的命名空间的服务信息,每个所述命名空间的服务信息包括:命名空间中各微服务的服务名称和各微服务对应的资源对象组件的地址信息;
根据各链路标识对应的命名空间的服务信息,构建所述第二映射关系,其中,各微服务对应的资源对象组件的地址信息,用于指示各微服务的地址信息。
4.根据权利要求2所述的方法,其特征在于,其特征在于,所述根据各目标访问链路标识对应的目标命名空间标识、各目标访问接口标识以及所述第二映射关系,访问各待测试微服务对应的目标微服务,包括:
根据各目标访问接口标识,提取各目标访问接口标识对应的目标微服务的服务名称;
根据各目标访问链路标识对应的目标命名空间标识、各目标微服务的服务名称以及所述第二映射关系,确定各目标微服务的地址信息;
根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务。
5.根据权利要求4所述的方法,其特征在于,其特征在于,所述根据各目标微服务的地址信息,访问各待测试微服务对应的目标微服务,包括:
确定各目标微服务的地址信息所指示的目标资源对象组件下是否存在关联的Pod;
若存在,且所述Pod处于存活状态,则通过所述Pod访问所述待测试微服务对应的目标微服务。
6.根据权利要求5所述的方法,其特征在于,其特征在于,所述预设网关服务还包括:主命名空间标识,所述方法还包括:
若确定各目标微服务的地址信息所指示的目标资源对象组件下不存在关联的Pod,则根据所述主命名空间标识、各所述目标微服务的服务名称以及第二映射关系,访问所述待测试微服务对应的目标微服务。
7.根据权利要求1-6任一项所述的方法,其特征在于,其特征在于,所述获取多个并行待测试微服务的测试参数之前,所述方法还包括:
获取多个待发布微服务代码以及各待发布微服务代码对应的服务名称和命名空间标识;
根据各所述微服务代码对应的服务名称和命名空间标识,通过预设发布脚本将各所述待发布微服务代码发布至对应的命名空间。
8.一种基于kubernetes的并行测试装置,其特征在于,包括:
获取模块,用于获取多个并行待测试微服务的测试参数,每个待测试微服务的测试参数包括:目标访问链路标识和目标访问接口标识,所述目标访问接口标识为目标微服务对应的接口标识,所述目标访问接口标识包括:所述目标微服务的服务名称,所述目标微服务为所述目标访问链路标识所指示链路中除所述待测试微服务之外的任一微服务,每个所述目标访问链路标识对应一个命名空间标识,且各目标访问链路标识对应的命名空间标识不同;
访问模块,用于通过预设网关服务和各待测试微服务的测试参数,访问各待测试微服务对应的目标微服务,所述预设网关服务包括链路标识与命名空间标识之间的第一映射关系,以及命名空间标识、微服务的地址信息以及服务名称之间的第二映射关系。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一所述基于kubernetes的并行测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述基于kubernetes的并行测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043693.7A CN114385318A (zh) | 2022-01-14 | 2022-01-14 | 基于kubernetes的并行测试方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043693.7A CN114385318A (zh) | 2022-01-14 | 2022-01-14 | 基于kubernetes的并行测试方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385318A true CN114385318A (zh) | 2022-04-22 |
Family
ID=81202033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210043693.7A Pending CN114385318A (zh) | 2022-01-14 | 2022-01-14 | 基于kubernetes的并行测试方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385318A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460101A (zh) * | 2022-08-02 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 网络服务的管理方法、装置、设备及存储介质 |
CN118277280A (zh) * | 2024-05-30 | 2024-07-02 | 江苏曼荼罗软件股份有限公司 | 一种服务接口自测方法、系统、可读存储介质及设备 |
-
2022
- 2022-01-14 CN CN202210043693.7A patent/CN114385318A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460101A (zh) * | 2022-08-02 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 网络服务的管理方法、装置、设备及存储介质 |
CN115460101B (zh) * | 2022-08-02 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 网络服务的管理方法、装置、设备及存储介质 |
CN118277280A (zh) * | 2024-05-30 | 2024-07-02 | 江苏曼荼罗软件股份有限公司 | 一种服务接口自测方法、系统、可读存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151083B2 (en) | Generating target application packages for groups of computing devices | |
CN109714449B (zh) | 服务域名的动态配置方法、装置、设备及存储介质 | |
CN109271170B (zh) | 一种分布式系统部署方法、系统、电子设备及存储介质 | |
JP6658882B2 (ja) | 制御装置、vnf配置先選択方法及びプログラム | |
CN114385318A (zh) | 基于kubernetes的并行测试方法、装置及设备 | |
CN104536899A (zh) | 一种基于智能集群的软件部署及其维护方法 | |
US20120185529A1 (en) | Application server management system, application server management method, management apparatus, application server and computer program | |
CN104539487A (zh) | 一种基于云平台的系统测试及可靠性评估方法 | |
CN108228201A (zh) | 基于软件仓库的软件管理方法、电子设备及存储介质 | |
CN112860282A (zh) | 集群插件的升级方法、装置和服务器 | |
CN113900670B (zh) | 集群服务器应用部署系统 | |
CN116383223A (zh) | 资产数据处理方法、相关装置及存储介质 | |
CN115328611A (zh) | 虚拟机管理方法、装置、服务器及可读存储介质 | |
CN109302314B (zh) | 一种被控节点模拟方法及相关装置 | |
CN104461893B (zh) | 数据处理方法与数据处理装置 | |
CN111338926A (zh) | 补丁的测试方法、装置及电子设备 | |
CN109586970A (zh) | 资源分配方法、装置及系统 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
WO2013161522A1 (ja) | ログ収集サーバ、ログ収集システム、ログ収集方法 | |
CN110580216B (zh) | 一种应用提测的方法和装置 | |
EP3321796B1 (en) | Multi-platform interface framework | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN109814911A (zh) | 用于管理脚本程序的方法、装置、计算机设备及存储介质 | |
US20150347402A1 (en) | System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace | |
CN115167872A (zh) | 服务模块部署方法、装置、电子设备及计算机可读介质 |
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 |