掌桥专利:专业的专利平台
掌桥专利
首页

一种配置文件处理方法、控制终端和管理终端

文献发布时间:2023-06-19 13:46:35


一种配置文件处理方法、控制终端和管理终端

技术领域

本发明涉及计算机技术领域,特别涉及一种配置文件处理方法、控制终端和管理终端。

背景技术

随着计算机技术的迅速发展,开源式容器编排系统(比如为Kubernetes系统,简称K8S系统)的应用也越来越广泛,K8S系统是一个功能强大的容器编排系统,在K8S系统中,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,因此K8S系统被广泛用于服务部署。在服务部署中,需要对服务的配置文件进行部署。

相关技术中,针对K8S系统中的所有服务的每个应用项对应的配置项设置配置值,完成设置后得到配置文件,将配置文件通过传送命令(secure copy,简称scp)等网络命令进行分发,各服务的镜像对配置文件进行部署。

然而,上述方案需要对所有服务的每个应用项对应的配置项设置配置值才能得到配置文件,对于服务较多的应用场景,如微服务架构的场景中,配置项的设置过程复杂且容易出错,造成获得配置文件的过程耗时较长,部署配置文件的成功率较低。

发明内容

本发明提供一种配置文件处理方法、控制终端和管理终端,用以提高设置配置项的效率和准确性,进而提高得到准确的配置文件的效率,并提高K8S系统中的工作节点部署配置文件的成功率。

第一方面,本申请实施例提供了一种配置文件处理方法,应用于控制终端,所述方法包括:

响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置,其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的;

基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件,以及将所述配置文件发送给K8S集群中的管理节点,以使所述K8S集群中的工作节点通过所述管理节点对所述配置文件进行部署。

上述方案,控制终端响应针对应用项或者其上级节点的设置指令,均会基于设置指令中的参数值对应用项对应的配置项进行设置,也就是响应针对应用项上级节点的设置指令对该上级节点下的所有应用项对应的配置项进行统一设置,提高设置配置项的效率,另外响应针对应用项的设置指令对一个或者多个应用项对应的配置项进行个性化设置,避免仅通过上级节点进行统一设置造成的配置项的参数值设置不够准确的问题,提高了设置配置项的准确性,进而基于各待部署服务中配置项的参数值对配置文件模板中的占位符进行替换,通过较短时间就能得到准确的配置文件,将该配置文件发送给K8S集群中的管理节点后,K8S集群中的工作节点部署上述配置文件的成功率得到了提高。

在一种可能的实现方式中,还包括:将所有待部署服务中相同的配置项作为对应的应用项的上级节点;或者将各待部署服务中相同的配置项作为对应的应用项的上级节点。

上述方案,通过将所有待部署服务中相同的配置项作为对应的应用项的上级节点,能够进一步提高设置配置项的效率,更适用于各待部署服务间相同配置项的配置值的相同比例较高的场景中;或者将各待部署服务中相同的配置项作为对应的应用项的上级节点,能够平衡设置配置项的效率和准确性,更适用于各待部署服务间相同配置项的配置值差异较大,但同一待部署服务的相同配置项的配置值相同比例较高的场景中。通过上述两种设置应用项的上级节点的方式,满足不同应用场景的需求。

在一种可能的实现方式中,所述得到各待部署服务的配置文件之后,还包括:

将对所述各待部署服务的配置文件进行hash(哈希)计算得到的每个所述配置文件的第一校验码发送给所述管理节点,以使所述管理节点将配置文件的第二校验码与所述配置文件的第一校验码进行比对,其中所述第二校验码是所述管理节点对所述配置文件进行hash计算得到的;

若接收到所述管理节点发送的重发请求,则向所述控制终端发送所述重发请求包含的标识对应的配置文件,其中所述重发请求携带有所述第一校验码和所述第二校验码不同的配置文件的标识。

上述方案,控制终端通过将对各配置文件进行hash计算得到第一校验码并将其发送给管理节点,管理节点将对各配置文件进行hash计算得到第二校验码与对应的第一校验码进行比对;管理节点根据该比对结果能够准确地判断出各配置文件是否有传输错误,并向控制终端发送传输错误的配置文件的重发请求,控制终端基于该请求向管理节点重发传输错误的配置文件,从而避免因管理节点收到传输错误的配置文件,导致工作节点部署错误的配置文件。

第二方面,本申请实施例提供了另一种配置文件处理方法,所述方法应用于K8S集群中的管理节点,所述方法包括:

接收控制终端发送的配置文件,以使所述K8S集群中的工作节点对所述配置文件进行部署,其中所述配置文件是所述控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换得到的,所述配置项的参数值是基于针对应用项的上级节点的设置指令或者针对所述应用项的设置指令设置的。

上述方案,控制终端基于针对应用项上级节点的设置指令对该上级节点下的所有应用项对应的配置项进行统一设置,提高设置配置项的效率,另外基于针对应用项的设置指令对一个或者多个应用项对应的配置项进行个性化设置,避免仅通过上级节点进行统一设置造成的配置项的参数值设置不够准确的问题,提高了设置配置项的准确性,进而基于各待部署服务中配置项的参数值对配置文件模板中的占位符进行替换,通过较短时间就能得到准确的配置文件,管理节点接收到控制终端发送的该配置文件后,工作节点对上述配置文件进行部署,部署的成功率得到了提高。

在一种可能的实现方式中,在接收控制终端发送的配置文件之后,还包括:

将所述各待部署服务的配置文件进行hash计算得到所述配置文件的第二校验码,并将所述配置文件的第二校验码与对应的第一校验码进行比对,其中所述第一校验码是所述控制终端对所述各待部署服务的配置文件进行hash计算得到的;

若有第二校验码与第一校验码不相同的配置文件,则向所述控制终端重新请求所述不相同的配置文件,并在接收所述控制终端发送的所述不相同的配置文件后重新进行校验。

上述方案,控制终端通过将对各配置文件进行hash计算得到第一校验码并将其发送给管理节点,管理节点将对各配置文件进行hash计算得到第二校验码与第一校验码进行比对,根据该比对结果能够准确地判断出各配置文件是否有传输错误,并向控制终端重新请求传输错误的配置文件,控制终端基于该请求向管理节点重发传输错误的配置文件,从而避免因管理节点收到传输错误的配置文件,导致工作节点部署错误的配置文件。

在一种可能的实现方式中,在将第二校验码与对应的第一校验码进行比对之后,还包括:

若所有配置文件第二校验码与对应的第一校验码均相同,则向所述控制终端发送获取部署脚本的请求;

接收所述控制终端发送的所述各待部署服务的部署脚本,以使所述工作节点基于部署脚本部署配置文件。

上述方案,如果配置文件没有传输错误会向控制终端发送获取部署脚本的请求,在接收到控制终端发送的各待部署服务的部署脚本后,使工作节点中的各服务镜像基于对应的部署脚本部署对应的配置文件,从而完成配置文件部署。

第三方面,本申请实施例提供了一种控制终端,包括处理器以及存储器;

其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行:

响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置,其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的;

基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件,以及将所述配置文件通过发送给K8S集群中的管理节点,以使所述K8S集群中的工作节点通过所述管理节点对所述配置文件进行部署。

在一种可能的实现方式中,所述处理器还执行:

将所有待部署服务中相同的配置项作为对应的应用项的上级节点;或者将各待部署服务中相同的配置项作为对应的应用项的上级节点。

在一种可能的实现方式中,所述处理器还执行:

得到各待部署服务的配置文件之后,将对所述各待部署服务的配置文件进行hash计算得到的每个所述配置文件的第一校验码发送给所述管理节点,以使所述管理节点将配置文件的第二校验码与所述配置文件的第一校验码进行比对,其中所述第二校验码是所述管理节点对所述配置文件进行hash计算得到的;

若接收到所述管理节点发送的重发请求,则向所述控制终端发送所述重发请求包含的标识对应的配置文件,其中所述重发请求携带有所述第一校验码和所述第二校验码不同的配置文件的标识。

第四方面,本申请实施例提供了一种管理终端,所述管理终端为K8S集群中的管理节点,所述管理终端包括处理器以及存储器;

其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行:

接收控制终端发送的配置文件,以使所述K8S集群中的工作节点对所述配置文件进行部署,其中所述配置文件是所述控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换得到的,所述配置项的参数值是基于针对应用项的上级节点的设置指令或者针对所述应用项的设置指令设置的。

在一种可能的实现方式中,所述处理器还执行:

在接收控制终端发送的配置文件之后,将所述各待部署服务的配置文件进行hash计算得到所述配置文件的第二校验码,并将所述配置文件的第二校验码与对应的第一校验码进行比对,其中所述第一校验码是所述控制终端对所述各待部署服务的配置文件进行hash计算得到的;

若有第二校验码与第一校验码不相同的配置文件,则向所述控制终端重新请求所述不相同的配置文件,并在接收所述控制终端发送的所述不相同的配置文件后重新进行校验。

在一种可能的实现方式中,所述处理器还执行:

在将第二校验码与对应的第一校验码进行比对之后,若所有配置文件第二校验码与对应的第一校验码均相同,则向所述控制终端发送获取部署脚本的请求;

接收所述控制终端发送的所述各待部署服务的部署脚本,以使所述工作节点基于第一部署脚本部署配置文件。

第五方面,本申请实施例提供了一种配置文件处理装置,该装置包括:

设置模块,用于响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置,其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的;

配置文件处理模块,用于基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件,以及将所述配置文件发送给K8S集群中的管理节点,以使所述K8S集群中的工作节点通过所述管理节点对所述配置文件进行部署。

第六方面,本申请实施例提供了另一种配置文件处理装置,该装置包括:

收发模块,用于接收控制终端发送的配置文件,以使所述K8S集群中的工作节点对所述配置文件进行部署,其中所述配置文件是所述控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换得到的,所述配置项的参数值是基于针对应用项的上级节点的设置指令或者针对所述应用项的设置指令设置的。

第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面或第二方面所述的配置文件处理方法。

另外,第三方面至第七方面中任一种实现方式所带来的技术效果可参见第一方面或第二方面中不同实现方式所带来的技术效果,此处不再赘述。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本申请实施例提供的一种应用场景示意图;

图2为本申请实施例提供的一种配置文件处理方法的交互流程图;

图3为本申请实施例提供的待部署服务中应用项和配置项的对应关系示意图;

图4为本申请实施例提供的一种应用项和上级节点的关系示意图;

图5为本申请实施例提供的另一种应用项和上级节点的关系示意图;

图6为本申请实施例提供的另一种配置文件处理方法的交互流程图;

图7为本申请实施例提供的一种配置文件处理装置示意图;

图8为本申请实施例提供的另一种配置文件处理装置示意图;

图9为本申请实施例提供的一种控制终端示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面对文中出现的一些词语进行解释:

本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

K8S系统是一个功能强大的容器编排系统,在K8S系统中,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,因此K8S系统被广泛用于服务部署。在服务部署中,需要对服务的配置文件进行部署。相关技术中,针对K8S系统中的所有服务的每个应用项对应的配置项设置配置值,完成设置后得到配置文件,将配置文件通过scp等网络命令进行分发,各服务的镜像对配置文件进行部署。

然而,上述方案需要对所有服务的每个应用项对应的配置项设置配置值才能得到配置文件,对于服务较多的应用场景,如微服务架构的场景中,配置项的设置过程复杂且容易出错,造成获得配置文件的过程耗时较长,部署配置文件的成功率较低。

鉴于此,本发明实施例提出一种配置文件处理方法、控制终端和管理终端,该配置文件处理方法中控制终端响应针对应用项或者其上级节点的设置指令,均会基于设置指令中的参数值对应用项对应的配置项进行设置,也就是响应针对应用项上级节点的设置指令对该上级节点下的所有应用项对应的配置项进行统一设置,提高设置配置项的效率,另外响应针对应用项的设置指令对一个或者多个应用项对应的配置项进行个性化设置,避免仅通过上级节点进行统一设置造成的配置项的参数值设置不够准确的问题,提高了设置配置项的准确性,进而基于各待部署服务中配置项的参数值对配置文件模板中的占位符进行替换,通过较短时间就能得到准确的配置文件,将该配置文件发送给K8S集群中的管理节点后,K8S集群中的工作节点部署上述配置文件的成功率得到了提高。

下面结合附图及具体实施例对本申请作进一步详细的说明。

参阅图1所示,为本申请一些实施例提供的一种应用场景示意图。

在该应用场景中,控制终端101可以接收针对应用项的上级节点的设置指令或者针对所述应用项的设置指令;

还可以对待部署服务的配置文件模板进行解析得到待部署服务的应用项和对应的配置项,以及基于所述设置指令中的参数值对所述应用项对应的配置项进行设置;

也可以基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件。

控制终端101还可以与K8S集群中的管理节点102通过多种通信方式进行交互,例如这里可允许控制终端101通过局域网(Local Area Network,LAN)、无线局域网(WirelessLocal Area Network,WLAN)和其他网络进行将所述配置文件发送给管理节点102。

管理节点102可以与K8S集群中的工作节点(图1以工作节点1、工作节点2、工作节点3为例进行说明,实际应用中,工作节点的数量可以更多或者更少)进行交互,这里可允许工作节点通过所述管理节点102对所述配置文件进行部署。

本发明实施例描述的上述应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

在一些实施例中,如图2所示,本申请实施例提供的配置文件处理方法包括如下步骤:

步骤S201:控制终端响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置。

其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的。

本实施例中,需要对应用项对应的配置项进行设置,进而基于设置的参数值得到配置文件。

示例性的,控制终端基于接收到的针对应用项的上级节点的设置指令,对该上级节点下的所有应用项对应的配置项进行统一设置;

或者,基于接收到的针对应用项的设置指令,对直接对该应用项对应的配置项进行个性化设置。

上述配置项是需要进行参数值设置的部分,例如:配置项为周期,需要设置周期的具体数值;设置项为日期,需要设置具体的日期。

上述应用项是对应的配置项设置好参数值后需要应用到待部署服务的哪些地方。

上述配置项和应用项仅是举例说明,本实施例对此不做限定。

图3为本申请一些实施例提供的待部署服务中应用项和配置项的对应关系示意图,如图3所示:

待部署服务1中应用项11对应配置项A,待部署服务1中应用项12对应配置项B,待部署服务1中应用项13对应的配置项也是配置项B;待部署服务2中应用项21对应配置项A,待部署服务2中应用项22对应配置项C,待部署服务2中应用项23对应配置项B;待部署服务3中应用项31对应配置项C,待部署服务3中应用项32对应配置项B,待部署服务3中应用项33对应配置项C,待部署服务3中应用项34对应配置项A。各待部署服务中每个应用项都有其对应的配置项,同一待部署服务中每个应用项对应的配置项可能相同也可能不同,不同待部署服务间应用项对应的配置项可能相同也可能不同。

可以理解,上述应用项和配置项的对应关系仅是举例说明,不作为对本申请实施例的限定。

可选地,在一些实施例中可将所有待部署服务中相同的配置项作为对应的应用项的上级节点,还是以图3中应用项和配置项的对应关系为例进行说明,参阅图4所示:

将这三个待部署服务中相同的配置项作为对应的应用项的上级节点,即配置项A作为应用项11、应用项21和应用项34的上级节点;将配置项B作为应用项12、应用项13、应用项23和应用项32的上级节点;将配置项C作为应用项22、应用项31和应用项33的上级节点。

对于这三个待部署服务,仅通过对三个上级节点进行设置就能完成对各上级节点下的所有应用项对应的配置项的统一设置,能够进一步提高设置配置项的效率,更适用于各待部署服务间相同配置项的配置值的相同比例较高的场景中。

可选地,在一些实施例中也可将各待部署服务中相同的配置项作为对应的应用项的上级节点,还是以图3中应用项和配置项的对应关系为例进行说明,参阅图5所示:

将这每个待部署服务中相同的配置项作为对应的应用项的上级节点,即待部署服务1中配置项A作为应用项11的上级节点,配置项B作为应用项12和应用项13的上级节点;待部署服务2中配置项A作为应用项21的上级节点,配置项B作为应用项23的上级节点,配置项C作为应用项22的上级节点;待部署服务3中配置项A作为应用项34的上级节点,配置项B作为应用项32的上级节点,配置项C作为应用项31和应用项33的上级节点。

对于这三个待部署服务,通过对八个上级节点进行设置能够完成对各上级节点下的所有应用项对应的配置项的统一设置,能够平衡设置配置项的效率和准确性,更适用于各待部署服务间相同配置项的配置值差异较大,但同一待部署服务的相同配置项的配置值相同比例较高的场景中。

其他设置应用项的上级节点的方式也适用本发明实施例,在此不再赘述。

本实施例对配置文件模板的具体类型不做限定,例如可以为可扩展的标识语言(Extensible Markup Language,简称XML)类型的配置文件模板和/或YAML(另一种标记语言)类型的配置文件。不管是哪种类型的配置文件模板,对其解析后都会得到应用项和对应的配置项。

本实施例对于对待部署服务的配置文件模板解析得到应用项和对应的配置项的具体方式不做限定,可以根据实际应用场景选择合适的类库解析不同类型的配置文件模板。

步骤S202:控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件。

本实施例中,在对所有的应用项对应的配置项都进行了参数值设置后,还需要基于配置值得到配置文件,例如:

在编写配置文件模板的时候选用了freemarker(一款模板引擎),在基于参数值对配置文件模板中的占位符进行替换时也可采用freemarker进行统一渲染,从而方便快捷地得到各待部署服务的配置文件;

或者,可以通过正则表达式将参数值对配置文件模板中的占位符进行替换。

上述两种替换方式仅是举例说明,其他替换方式也同样适用本实施例,此处不再赘述。

步骤S203:控制终端将所述配置文件发送给管理节点。

示例性的,控制终端通过传输控制协议/互联协议(Transmission ControlProtocol/Internet Protocol,简称TCP/IP协议),根据实际应用场景采用LAN、WLAN和/或其他网络将配置文件发送给管理节点,以采用LAN网络将配置文件发送给管理节点为例:

本实施例中,管理节点收到上述配置文件后,K8S集群中的工作节点通过管理节点对上述配置文件进行部署。

上述方案,控制终端响应针对应用项或者其上级节点的设置指令,均会基于设置指令中的参数值对应用项对应的配置项进行设置,也就是响应针对应用项上级节点的设置指令对该上级节点下的所有应用项对应的配置项进行统一设置,提高设置配置项的效率,另外响应针对应用项的设置指令对一个或者多个应用项对应的配置项进行个性化设置,避免仅通过上级节点进行统一设置造成的配置项的参数值设置不够准确的问题,提高了设置配置项的准确性,进而基于各待部署服务中配置项的参数值对配置文件模板中的占位符进行替换,通过较短时间就能得到准确的配置文件,将该配置文件发送给K8S集群中的管理节点后,K8S集群中的工作节点部署上述配置文件的成功率得到了提高。

另外,相关技术中是将配置文件通过scp等网络命令进行分发,可靠性较差,管理节点接收到传输错误的配置文件后,会导致工作节点部署错误的配置文件。为了解决这一问题,图6为本发明实施例提供的另一种配置文件处理方法的交互流程图,如图6所示,该实施例在图2实施例的基础上,具体包括以下步骤:

步骤S601:控制终端响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置。

步骤S602:控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件。

步骤S603:控制终端将所述配置文件发送给管理节点。

该步骤S601-S603与上述步骤S201-S203实现方式相同,此处不再赘述。

步骤S604:控制终端将对所述各待部署服务的配置文件进行hash计算得到的每个所述配置文件的第一校验码发送给所述管理节点。

本实施例中,控制终端通过hash函数计算各配置文件的第一校验码,例如:

第一校验码通过信息摘要算法(Message-Digest Algorithm,简称MD5),函数计算各配置文件的MD5值作为第一校验码;

第一校验码通过安全散列算法1(Secure Hash Algorithm 1,简称SHA-1),函数计算各配置文件的SHA-1值作为第一校验码。

上述两种hash计算方式仅是具体说明,其他hash计算也同样适用于本实施例。

本实施例对步骤S603和步骤S604的顺序不做限定,即可以先执行S603,也可以先执行步骤S604,或者合并为一个步骤,例如:

1)在控制终端得到各配置文件后,先将各配置文件进行hash计算得到第一校验码,将第一验证码统一发送给管理节点之后,再将配置文件发送给管理节点;

2)在控制终端得到各配置文件后,先将配置文件发送给管理节点,再对各配置文件进行hash计算得到第一校验码,将第一验证码统一发送给管理节点;

3)在控制终端得到各配置文件后,先将各配置文件进行hash计算得到第一校验码,将第一验证码置于配置文件中的预设位置,一起发送给管理节点。

上述几种方式仅是为了说明本实施例对步骤S603和步骤S604的顺序不做限定,但本实施例并不限于上述三种发送方式。

步骤S605:管理节点将所述各待部署服务的配置文件进行hash计算得到所述配置文件的第二校验码,并将所述配置文件的第二校验码与对应的第一校验码进行比对,若所有第二校验码与对应的第一校验码均相同,则执行步骤S609;若有第二校验码与第一校验码不相同的配置文件,则执行步骤S606。

可以理解,管理节点需采用和上述控制终端相同的hash计算方式,得到第二校验码,例如:

控制终端通过MD5函数计算各配置文件的MD5值作为第一校验码,那么管理节点也需要采用MD5函数计算各配置文件的MD5值作为第二校验码;

控制终端通过SHA-1函数计算各配置文件的SHA-1值作为第一校验码,那么管理节点也需要采用SHA-1函数计算各配置文件的SHA-1值作为第二校验码。

上述举例只是为了说明管理节点需采用和上述控制终端相同的hash计算方式,不作为对本实施例的限定。

如果各配置文件的第二校验码与对应的第一校验码相同,说明管理节点接收的配置文件都是传输正确的文件;如果有第二校验码与对应的第一校验码不相同的配置文件,说明管理节点接收的该配置文件是传输错误的文件。

步骤S606:管理节点向所述控制终端发送重发所述不相同的配置文件的请求。

如上所述,如果有第二校验码与对应的第一校验码不相同的配置文件,说明管理节点接收的该配置文件是传输错误的文件,管理节点在接收到传输错误的配置文件后,需要重新获取该配置文件,避免工作节点部署错误的配置文件。

示例性的,管理节点通过TCP/IP协议,根据实际应用场景采用LAN、WLAN和/或其他网络向控制终端发送重发不相同的配置文件的请求。

步骤S607:控制终端基于上述重发所述不相同的配置文件的请求,向所述管理节点发送所述不相同的配置文件。

示例性的,控制终端在接收到重发不相同的配置文件的请求后,根据请求中携带的不相同的配置文件的标识,确定所要重发的配置文件,进而通过TCP/IP协议,根据实际应用场景采用LAN、WLAN和/或其他网络将所要重发的配置文件再次发送给管理节点。

步骤S608:管理节点在接收所述控制终端发送的所述不相同的配置文件后,重新进行校验。

本实施例中,管理节点在接收到控制终端重新发送的不相同的配置文件后,可以采用和上述实施例相同的方式对不相同的配置文件进行hash计算得到新的第二校验码,并将该第二校验码重新与对应的第一校验码进行比对,如果所有第二校验码与对应的第一校验码均相同,说明管理节点接收的重新发送的该配置文件都是传输正确的文件;如果有第二校验码与对应的第一校验码不相同的配置文件,说明管理节点接收的该配置文件还是传输错误的文件,需要再次请求控制终端重新发送,其中具体请求方式可参见上述实施例,此处不再赘述。

示例性的,本实施例中,管理节点接收控制终端发送的配置文件,并确认各待部署服务的配置文件都是传输正确的文件,可将各待部署服务的配置文件提交到K8S的ConfigMap(配置图)中,方便工作节点中各服务镜像获取对应的待部署服务的配置文件。

步骤S609:管理节点向所述控制终端发送获取部署脚本的请求。

步骤S610:控制终端基于所述获取部署脚本的请求向管理终端发送各待部署服务的部署脚本。

本实施例中,工作节点中各服务镜像需要基于对应的部署脚本才能部署配置文件,基于此,需要通过管理节点向控制终端发送获取部署脚本的请求,以使控制终端基于该请求向管理节点发送各待部署服务的部署脚本,进而使各服务镜像能够得到对应的部署脚本。

其中,管理节点向控制终端发送获取部署脚本的请求,以及控制终端向管理节点发送各待部署服务的部署脚本的交互方式可参见上述实施例,此处不再赘述。

示例性的,管理节点在接收到控制终端发送的各待部署服务的部署脚本后,调用本地的shell(计算机壳层)部署脚本,该shell部署脚本是各待部署服务的部署顺序脚本,工作节点中各服务镜像按照该shell部署脚本中的部署顺序,依次从ConfigMap中获取对应的配置文件,并从本地获取对应的部署脚本,基于部署脚本部署配置文件。

上述方案,控制终端通过将对各配置文件进行hash计算得到第一校验码并将其发送给管理节点,管理节点将对各配置文件进行hash计算得到第二校验码与第一校验码进行比对;管理节点根据该比对结果能够准确地判断出各配置文件是否有传输错误,并向控制终端重新请求传输错误的配置文件,控制终端基于该请求向管理节点重发传输错误的配置文件,从而避免因管理节点收到传输错误的配置文件,导致工作节点部署错误的配置文件。另外,如果配置文件没有传输错误会向控制终端发送获取部署脚本的请求,在接收到控制终端发送的各待部署服务的部署脚本后,使工作节点中的各服务镜像基于对应的服务的部署脚本部署对应的服务配置文件,从而完成配置文件部署。

基于相同的发明构思,图7为本申请实施例提供的一种配置文件处理装置示意图,如图7所示,该配置文件处理装置700包括:设置模块701和配置文件处理模块702,可选地还包括节点确定模块703。

设置模块701,用于响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置,其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的;

配置文件处理模块702,用于基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件,以及将所述配置文件发送给K8S集群中的管理节点,以使所述K8S集群中的工作节点通过所述管理节点对所述配置文件进行部署。

在一种可能的实现方式中,节点确定模块703,用于将所有待部署服务中相同的配置项作为对应的应用项的上级节点;或者将各待部署服务中相同的配置项作为对应的应用项的上级节点。

在一种可能的实现方式中,所述配置文件处理模块702还用于:

将对所述各待部署服务的配置文件进行hash计算得到的每个所述配置文件的第一校验码发送给所述管理节点,以使所述管理节点将配置文件的第二校验码与所述配置文件的第一校验码进行比对,其中所述第二校验码是所述管理节点对所述配置文件进行hash计算得到的;

若接收到所述管理节点发送的重发请求,则向所述控制终端发送所述重发请求包含的标识对应的配置文件,其中所述重发请求携带有所述第一校验码和所述第二校验码不同的配置文件的标识。

由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

基于相同的发明构思,图8为本申请实施例提供的另一种配置文件处理装置示意图,如图8所示,该配置文件处理装置800包括:收发模块801,可选地还包括校验模块802。

收发模块801,用于接收控制终端发送的配置文件,以使所述K8S集群中的工作节点对所述配置文件进行部署,其中所述配置文件是所述控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换得到的,所述配置项的参数值是基于针对应用项的上级节点的设置指令或者针对所述应用项的设置指令设置的。

在一种可能的实现方式中,校验模块802,用于在收发模块801接收控制终端发送的配置文件之后,将所述各待部署服务的配置文件进行hash计算得到所述配置文件的第二校验码,并将所述配置文件的第二校验码与对应的第一校验码进行比对,其中所述第一校验码是所述控制终端对所述各待部署服务的配置文件进行hash计算得到的;

若有第二校验码与第一校验码不相同的配置文件,则通过收发模块801向所述控制终端重新请求所述不相同的配置文件,并在通过收发模块801接收所述控制终端发送的所述不相同的配置文件后重新进行校验。

在一种可能的实现方式中,收发模块801,还用于若所有配置文件第二校验码与对应的第一校验码均相同,则向所述控制终端发送获取部署脚本的请求;

接收所述控制终端发送的所述各待部署服务的部署脚本,以使所述工作节点基于第一部署脚本部署配置文件。

由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

基于相同的发明构思,图9为本申请实施例提供的一种控制终端示意图,如图9所示,该控制终端900包括:处理器901以及存储器902;

存储器902,用于存储处理器901执行的计算机程序。存储器902可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器902也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器902可以是上述存储器的组合。

处理器901,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。

本申请实施例中不限定上述存储器902和处理器901之间的具体连接介质。本申请实施例在图9中以存储器902和处理器901之间通过总线903连接,总线903在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,所述存储器902存储有程序代码,当所述程序代码被所述处理器901执行时,使得所述处理器901执行:

响应针对应用项的上级节点的设置指令或者针对所述应用项的设置指令,基于所述设置指令中的参数值对所述应用项对应的配置项进行设置,其中,所述应用项和对应的配置项是对待部署服务的配置文件模板进行解析得到的;

基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换,得到各待部署服务的配置文件,以及将所述配置文件通过发送给K8S集群中的管理节点,以使所述K8S集群中的工作节点通过所述管理节点对所述配置文件进行部署。

在一种可能的实现方式中,所述处理器901还执行:

将所有待部署服务中相同的配置项作为对应的应用项的上级节点;或者将各待部署服务中相同的配置项作为对应的应用项的上级节点。

在一种可能的实现方式中,所述处理器901还执行:

得到各待部署服务的配置文件之后,将对所述各待部署服务的配置文件进行hash计算得到的每个所述配置文件的第一校验码发送给所述管理节点,以使所述管理节点将配置文件的第二校验码与所述配置文件的第一校验码进行比对,其中所述第二校验码是所述管理节点对所述配置文件进行hash计算得到的;

若接收到所述管理节点发送的重发请求,则向所述控制终端发送所述重发请求包含的标识对应的配置文件,其中所述重发请求携带有所述第一校验码和所述第二校验码不同的配置文件的标识。

由于该控制终端即是本发明实施例中的方法中的控制终端,并且该控制终端解决问题的原理与该方法相似,因此该控制终端的实施可以参见方法的实施,重复之处不再赘述。

基于相同的发明构思,本申请实施例提供一种管理终端,所述管理终端为K8S集群中的管理节点,该管理终端包括:处理器以及存储器;

其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行:

接收控制终端发送的配置文件,以使所述K8S集群中的工作节点对所述配置文件进行部署,其中所述配置文件是所述控制终端基于各待部署服务中配置项的参数值对所述配置文件模板中的占位符进行替换得到的,所述配置项的参数值是基于针对应用项的上级节点的设置指令或者针对所述应用项的设置指令设置的。

在一种可能的实现方式中,所述处理器还执行:

在接收控制终端发送的配置文件之后,将所述各待部署服务的配置文件进行hash计算得到所述配置文件的第二校验码,并将所述配置文件的第二校验码与对应的第一校验码进行比对,其中所述第一校验码是所述控制终端对所述各待部署服务的配置文件进行hash计算得到的;

若有第二校验码与第一校验码不相同的配置文件,则向所述控制终端重新请求所述不相同的配置文件,并在接收所述控制终端发送的所述不相同的配置文件后重新进行校验。

在一种可能的实现方式中,所述处理器还执行:

在将第二校验码与对应的第一校验码进行比对之后,若所有配置文件第二校验码与对应的第一校验码均相同,则向所述控制终端发送获取部署脚本的请求;

接收所述控制终端发送的所述各待部署服务的部署脚本,以使所述工作节点基于第一部署脚本部署配置文件。

本发明实施例还提供一种计算机可读非易失性存储介质,包括程序代码,当所述程序代码在计算终端上运行时,所述程序代码用于使所述计算终端执行上述本发明上述实施例中任意一种配置文件处理方法的步骤。

以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。

相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术分类

06120113808172