服务器及基于K8S集群的公共配置参数配置方法及系统与流程

文档序号:20574257发布日期:2020-04-29 01:01阅读:190来源:国知局
服务器及基于K8S集群的公共配置参数配置方法及系统与流程

本发明涉及参数配置技术领域,特别是涉及一种服务器及基于k8s集群的公共配置参数配置方法及系统。



背景技术:

pod是kubernetes集群(本申请中简称k8s)创建和管理的最小部署单元。服务运行在pod中,为保证服务的高可用性,k8s集群通常采用pod多副本的部署方式,具体地,为服务分配多个pod,多个pod构成了单个服务的集群,多个pod互为冗余,平时只有一个pod为服务提供具体功能实现。服务在pod运行过程中可能会使用到一些中间件,例如数据库,则此时需要pod调用这些中间件的公共配置参数,例如数据库连接信息(具体可以为数据库登录名和密码)、redis配置参数等。

由于k8s集群通常要管理着数十个甚至上百个pod,在一些中间件的公共配置参数例如数据库连接信息需要修改时,现有技术中是分别对涉及到这些配置参数的所有pod进行修改,一方面,耗时较长;另一方面,由于涉及到的pod较多,容易出现漏修改的情况,可能会出现后续服务无法连接到数据库进而无法获取数据的情况。此外,在pod重新配置参数这段时间内整个服务不可用,这在一些场景下是不允许的。



技术实现要素:

本发明的目的是提供一种服务器及基于k8s集群的公共配置参数配置方法及系统,耗时少,管理效率高,可靠性高。

为解决上述技术问题,本发明提供了一种基于k8s集群的公共配置参数配置方法,包括:

预先建立公共pod,并在所述公共pod中配置各个服务的中间件所需的公共配置参数;

在接收到其他服务发送的参数获取指令时,从所述公共pod中调取与所述参数获取指令对应的公共配置参数并发送至所述其他服务;

在接收到参数修改指令时,对所述公共pod中的公共配置参数进行修改。

优选地,在所述公共pod中配置各个服务的中间件所需的公共配置参数之前,还包括:

采用pod多副本的方式部署所述公共pod。

优选地,还包括:

在接收到数量调整指令时,对所述公共pod的数量进行调整,以使调整后的所述公共pod数量的数量与所述数量调整指令对应地数量相等。

优选地,对所述公共pod中的公共配置参数进行修改,包括:

将所述公共pod删除,并建立新的公共pod;

将参数配置文件中的新的公共配置参数重新加载至所述新的公共pod中。

优选地,还包括:

判断是否接收到停止服务指令,若是,删除所述公共pod。

优选地,还包括:

获取所述公共pod的状态;

判断所述状态是否错误;

若是,将状态错误的公共pod删除,并重新建立公共pod,并为新建立的公共pod配置各个服务的中间件所需的公共配置参数。

为解决上述技术问题,本发明还提供了一种基于k8s集群的公共配置参数配置系统,包括:

配置单元,用于预先建立公共pod,并在所述公共pod中配置各个服务的中间件所需的公共配置参数;

参数调取单元,用于在接收到其他服务发送的参数获取指令时,从所述公共pod中调取与所述参数获取指令对应的公共配置参数并发送至所述其他服务;

参数修改单元,用于在接收到参数修改指令时,对所述公共pod中的公共配置参数进行修改。

为解决上述技术问题,本发明还提供了一种服务器,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述基于k8s集群的公共配置参数配置方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述基于k8s集群的公共配置参数配置方法的步骤。

本发明提供了一种基于k8s集群的公共配置参数配置方法,该方法中,k8s集群会预先建立公共pod,用于配置各个服务的中间件所需的公共配置参数,该种方式实现了其他服务与这些公共配置参数的解耦和,后续其他服务需要使用这些公共配置参数时可以通过访问公共pod的方式来获取;在需要对公共配置参数进行修改时,则仅需对公共pod中的公共配置参数进行修改即可,耗时少,管理效率高,且不会出现漏修改的情况,可靠性高;此外,在对公共配置参数进行修改时不影响其他服务在其所运行的pod上执行其他功能,进一步提高了可靠性。

本发明还提供了一种基于k8s集群的公共配置参数配置系统、服务器及计算机可读存储介质,具有与上述方法相同的有益效果。

附图说明

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

图1为本发明提供的一种基于k8s集群的公共配置参数配置方法的流程图;

图2为本发明提供的一种基于k8s集群的公共配置参数配置系统的结构示意图;

图3为本发明提供的一种服务器的结构示意图。

具体实施方式

本发明的核心是提供一种服务器及基于k8s集群的公共配置参数配置方法及系统,耗时少,管理效率高,可靠性高。

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

请参照图1,图1为本发明提供的一种基于k8s集群的公共配置参数配置方法的流程图。

该方法包括:

s11:预先建立公共pod,并在公共pod中配置各个服务的中间件所需的公共配置参数;

具体地,k8s集群会预先建立公共pod,该公共pod后续过程中不会分配给其他服务,然后,将各个服务运行过程中使用到的中间件的公共配置参数配置于公共pod中,也即公共pod存储有这些中间件的公共配置参数,相应地,这里公共配置参数也不会配置于其他服务所运行的pod上。公共pod构成了配置中心,可为其他服务提供配置中心服务,也即为其他服务提供调取公共配置参数的服务。配置中心服务与其他服务之间不存在任何依赖关系。

其中,这里的中间件可以为数据库等,公共配置参数可以包括数据库连接信息、redis配置项、zookeeper配置项等,本申请在此不再赘述。

可见,通过该种设置方式实现了其他服务与中间件的公共配置参数的解耦合,后续在对公共配置参数进行修改时不影响其他服务在其所运行pod上的其他功能实现。

s12:在接收到其他服务发送的参数获取指令时,从公共pod中调取与参数获取指令对应的公共配置参数并发送至其他服务;

在将各个服务的中间件的公共配置参数配置至公共pod后,运行在其他pod上的其他服务若使用到这些中间件的公共配置参数,则可以访问配置中心服务,也即可以向k8s集群发送参数获取指令,k8s集群在接收到其他服务发送的参数获取指令后,可以从公共pod中调取与参数获取指令对应的公共配置参数,并将调取的公共配置参数发送至其他服务,以便其他服务根据调取的公共配置参数完成相应功能。

s13:在接收到参数修改指令时,对公共pod中的公共配置参数进行修改。

在有些时候可能需要对公共配置参数进行更新修改,例如数据库的密码发生了变化,此时则需要对数据库连接信息进行修改,此时用户可以向k8s集群发送参数修改指令,k8s集群在接收到参数修改指令后对公共pod中的公共配置参数进行修改。

综上,本发明提供的一种基于k8s集群的公共配置参数配置方法,k8s集群会预先建立公共pod,用于配置各个服务的中间件所需的公共配置参数,该种方式实现了其他服务与这些公共配置参数的解耦和,后续其他服务需要使用这些公共配置参数时可以通过访问公共pod的方式来获取;在需要对公共配置参数进行修改时,则仅需对公共pod中的公共配置参数进行修改即可,耗时少,管理效率高,且不会出现漏修改的情况,可靠性高;此外,在对公共配置参数进行修改时不影响其他服务在其所运行的pod上执行其他功能,进一步提高了可靠性。

在上述实施例的基础上:

作为一种优选地实施例,在公共pod中配置各个服务的中间件所需的公共配置参数之前,还包括:

采用pod多副本的方式部署公共pod。

具体地,考虑到若公共pod出现故障,则无法对外提供调取公共配置参数的服务,也即无法对外提供配置中心服务,可能会影响其他服务的一些功能实现。

为了保证服务的可靠运行,本实施例中,在选取公共pod后,采用pod多副本的方式部署公共pod,也即设置多个公共pod,多个公共pod构成配置中心,各个公共pod中均配置有中间件的公共配置参数,各个公共pod之间互为冗余。在正常情况下,仅有一个公共pod对外提供配置中心服务,若该公共pod出现故障,则k8s集群再选择其他公共pod对外提供配置中心服务。可见,通过该种方式保证了服务的高可用性,可靠性高。

此外,本申请对于具体设置多少个公共pod不作特别的限定,根据实际情况来定。

作为一种优选地实施例,还包括:

在接收到数量调整指令时,对公共pod的数量进行调整,以使调整后的公共pod数量的数量与数量调整指令对应地数量相等。

通常上述实施例可知,为了确保服务的高可用性,公共pod通常为多个,在实际应用中,可以根据实际情况来对公共pod的数量作调整。如若k8s接收到数量调整指令,则根据数量调整指令对公共pod的数量进行调整。

具体地,若公共pod的原有数量数量比调整指令对应的公共pod的数量多,则将删除掉几个公共pod,以使剩下的公共pod的数量等于数量调整指令对应的公共pod的数量。若公共pod的原有数量数量比调整指令对应的公共pod的数量少,则将新建几个公共pod,以使公共pod的数量等于数量调整指令对应的公共pod的数量。可见,通过该种方式能够实现对公共pod的数量进行灵活调整。

作为一种优选地实施例,对公共pod中的公共配置参数进行修改,包括:

将公共pod删除,并建立新的公共pod;

将参数配置文件中的新的公共配置参数重新加载至新的公共pod中。

具体地,为实现对公共pod中的公共配置参数进行修改,可以先将公共pod删除,然后建立新的公共pod。又考虑到用户在修改公共配置参数时一般是在参数配置文件中修改,则在建立新的公共pod后,将参数配置文件中的新的公共配置参数重新加载至新的公共pod中。

现有技术中在修改pod时也是将pod删除,再重新建立,然后再将参数配置文件中的新的配置参数加载至新的pod中,从将服务所运行的pod删除到将参数配置文件中的新的配置参数重新加载至新的pod中这段时间内,服务是完全无法运行的。而采用本申请的方案,运行在别的pod上的服务只是无法调用公共pod上的这些公共配置参数,但完全不影响该服务在其运行的pod上完成其他功能。可见,通过该种方式提高了服务的高可用性和工作可靠性。

作为一种优选地实施例,还包括:

判断是否接收到停止服务指令,若是,删除公共pod。

具体地,在不需要继续使用公共pod时,用户可以向k8s集群发送停止服务指令,k8s集群在接收到停止服务指令后,删除公共pod。可见,本申请提供的参数配置方式灵活可靠。

作为一种优选地实施例,还包括:

获取公共pod的状态;

判断状态是否错误;

若是,将状态错误的公共pod删除,并重新建立公共pod,并为新建立的公共pod配置各个服务的中间件所需的公共配置参数。

为了保证配置中心的可靠运行,本实施例中,还实时或者周期性地获取公共pod的状态,并判断该状态是否错误,若是,则说明该公共pod不能可靠工作,可能会导致无法为其他服务提供配置中心服务,因此,此时删除掉状态错误的公共pod,并建立新的公共pod,并为新建立的公共pod配置各个服务的中间件所需的公共配置参数。例如,当前公共pod本应该处于工作状态,但是获取到其状态后发现其没有处于工作状态,则此时应该将该公共pod删除,并重新建立新的公共pod,并为新建立的公共pod配置各个服务的中间件所需的公共配置参数。可见,通过该种方式可以及时删除掉故障公共pod,并重新建立新的公共pod,保证了配置中心的可靠运行,还保证了配置中心中公共pod的数量的平衡,便于对外提供稳定的配置中心服务。

请参照图2,图2为本发明提供的一种基于k8s集群的公共配置参数配置系统的结构示意图。

该系统包括:

配置单元11,用于预先建立公共pod,并在公共pod中配置各个服务的中间件所需的公共配置参数;

参数调取单元12,用于在接收到其他服务发送的参数获取指令时,从公共pod中调取与参数获取指令对应的公共配置参数并发送至其他服务;

参数修改单元13,用于在接收到参数修改指令时,对公共pod中的公共配置参数进行修改。

对于本发明提供的一种基于k8s集群的公共配置参数配置系统的介绍请参照上述方法实施例,本发明在此不再赘述。

请参照图3,图3为本发明提供的一种服务器的结构示意图。

该服务器包括:

存储器21,用于存储计算机程序;

处理器22,用于执行计算机程序时实现如上述基于k8s集群的公共配置参数配置方法的步骤。

对于本发明提供的一种服务器的介绍请参照上述方法实施例,本发明在此不再赘述。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述基于k8s集群的公共配置参数配置方法的步骤。

对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1