一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Kubernetes的多环境服务配置方法、设备及介质与流程

2022-03-02 01:36:55 来源:中国专利 TAG:

一种基于kubernetes的多环境服务配置方法、设备及介质
技术领域
1.本技术涉及计算机程序技术领域,具体涉及一种基于kubernetes的多环境服务配置方法、设备及介质。


背景技术:

2.随着各类app的不断成熟与完善,在测试环境、灰度环境以及正式环境中,应用的功能会不断增加,前后台服务的数量也随之暴增。在多个环境中,除了常规维护外,在一些更新或删除的操作中,不同的环境由于配置信息的不同还需要更改不同文件所需配置文件的内容,每次更改后的配置文件的发布又需要重新打包,镜像重新生成,无法直接将测试环境发布的更新数据直接配置在灰度环境或正式环境上,导致了运维人员的工作内容变的非常琐碎,且维护工作量也在急剧增加。
3.虽然kubernetes作为容器集群管理工具拥有基础的镜像更新以及回滚功能,但操作过程非常繁琐,耗费大量时间,且人力操作时也容易出现失误。当维护人员需要基于kubernetes上新部署服务、更新服务或回滚服务时,因为操作步骤繁琐而导致严重影响了部署的效率。


技术实现要素:

4.为了解决上述问题,即为解决维护人员通过kubernetes上新部署服务、更新服务或回滚服务时,会出现步骤繁琐以及效率低下的问题,本技术提出了一种基于kubernetes的多环境服务配置方法、设备及介质,包括:
5.第一方面,本技术提供了一种基于kubernetes的多环境服务配置方法,包括:确定服务端以及第一客户端、第二客户端、第三客户端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点;为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所述第一客户端、所述第二客户端以及所述第三客户端所在环境的服务配置信息;将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
6.在一个示例中,将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中之后,所述方法还包括:获取服务更新指令,并确定所述服务更新指令对应的环境为所述灰度环境和/或正式环境;通过所述服务端,获取所述第一客户端中的服务更新文件,并对所述服务更新文件进行镜像处理,得到镜像处理后的服务更新文件;通过所述第二客户端对应的配置中心和/或所述第三客户端对应的配置中心,调用所述第二客户端和/或所述第三客户端的接口,将所述镜像处理后的服务更新文件部署至所述第二客户端和/或所述第三客户端。
7.在一个示例中,通过所述第二客户端对应的配置中心和/或所述第三客户端对应的配置中心,调用所述第二客户端和/或所述第三客户端的接口,将所述镜像处理后的服务
更新文件部署至所述第二客户端和/或所述第三客户端之后,所述方法还包括:获取所述镜像处理后的服务更新文件的版本号;将所述镜像处理后的服务更新文件的版本号记载至所述服务端以及所述第二客户端和/或第三客户端。
8.在一个示例中,将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点之后,所述方法还包括:获取服务回滚指令,并确定所述服务回滚指令对应的环境为所述灰度环境和/或正式环境;根据所述服务回滚指令,确定待回滚服务文件的版本号;根据所述待回滚服务文件的版本号,查询所述服务端中对应的待回滚服务文件;通过所述第二客户端对应的配置中心和/或所述第三客户端对应的配置中心,调用所述第二客户端和/或所述第三客户端的接口,将所述待回滚服务文件部署至所述第二客户端和/或所述第三客户端。
9.在一个示例中,通过所述第二客户端对应的配置中心和/或所述第三客户端对应的配置中心,调用所述第二客户端和/或所述第三客户端的接口,将所述待回滚服务文件部署至所述第二客户端和/或所述第三客户端之后,所述方法还包括:获取所述第二客户端和/或所述第三客户端,在部署所述待回滚服务文件之前所运行服务对应的版本号;在所述服务端中查询得到所述运行服务对应的版本号;为所述运行服务对应的版本号添加bug标签,并记录至所述服务端,所述bug标签用于标记所述运行服务对应的版本号的服务文件存在bug。
10.在一个示例中,将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中之后,所述方法还包括:获取服务停止指令,并确定所述服务停止指令对应的环境为所述灰度环境和/或所述正式环境;通过所述第二客户端对应的配置中心和/或所述第三客户端对应的配置中心,停止运行所述第二客户端和/或所述第三客户端中当前运行的服务。
11.在一个示例中,将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中之后,所述方法还包括:确定所述第一客户端中存在新工程文件;调用jenkins api接口,创建与所述新工程文件对应的jenkins工程,并将所述jenkins工程记录至所述服务端。
12.在一个示例中,所述方法还包括:所述服务端与所述第一客户端、所述第二客户端以及所述第三客户端之间的采用https加密机制进行加密通信。
13.另一方面,本技术还提供了一种基于kubernetes的多环境服务配置设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下指令:确定服务端以及第一客户端、第二客户端、第三客户端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点;为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所在环境的服务配置信息;将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
14.另一方面,本技术还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:确定服务端以及第一客户端、第二客户端、第三客户
端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点;为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所在环境的服务配置信息;将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
15.通过本技术提出的一种基于kubernetes的多环境服务配置方法、设备及介质能够带来如下有益效果:通过本技术记载的技术方案,服务端只需要配置一台服务器,通过读取客户端配置中心中的配置文件,就可以操作客户端对应各个环境的kubernetes,无需来回切换机器。各个环境只需要安装一个客户端即可,安装启动,方便快捷,非专业运维人员也可进行安装部署,节省了人工操作的时间,减少了人为失误的发生,也缩短了每项操作的时间周期,节省了人力资源,提高了工作效率。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本技术实施例中的一种基于kubernetes的多环境服务配置方法的流程示意图;
18.图2为本技术实施例中的一种基于kubernetes的多环境服务配置设备的示意图。
具体实施方式
19.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.首先需要说明的是,本技术所记载的一种kubernetes的多环境服务配置方法可以以程序或算法的方式存储在系统或服务器中,并可以通过系统或服务器所在的硬件终端中的相应元件,例如处理器、存储器、通讯模块等实现对程序或算法的支持。在本技术实施例中,以系统为例进行解释说明,该系统可以通过其所在的硬件终端进行程序或算法的支持,也可以通过与远端服务器进行通讯的方式进行程序或算法的支持。系统可以存储在相应的硬件终端中,该硬件终端包括但不限于:手机、平板电脑、个人计算机以及其他具备相应算力的硬件设备。用户可以通过系统本身、app或web网页等方式来登录该系统,以实现对其中的功能或参数进行调配、参考以及监督,进而实现对多环境服务进行配置。
21.以下结合附图,详细说明本技术各实施例提供的技术方案。
22.如图1所示,本技术实施例提供的一种基于kubernetes的多环境服务配置方法,包括:
23.s101:确定服务端以及第一客户端、第二客户端、第三客户端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点。
24.具体地,需要说明的是,第一客户端、第二客户端、第三客户端都应该安装有
kubernetes,并分别运行在测试环境、灰度环境以及正式环境中。
25.测试环境指的是服务文件构建以及测试的运行环境,灰度环境指的是在测试中存在多套测试文件,而为平滑过渡,选择一部分用户使用a方案,另一部分用户使用b方案的运行环境,正式环境指的是服务文件正式上线后的运行环境。
26.同时,由于第一客户端、第二客户端、第三客户端都安装有kubernetes,因此,三个客户端都硬部署在所属环境的master主节点上。
27.s102:为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所述第一客户端、所述第二客户端以及所述第三客户端所在环境的服务配置信息。
28.具体地,系统为三个客户端分别添加配置中心。配置中心用来存储和提供各种服务的配置信息,这样在每次更新环境时可以不再重新打包镜像,直接拉取在测试环境中已经测试完毕的服务文件的镜像文件来进行更新,可以保证已经测试完毕的环境镜像的完整性。
29.s103:将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
30.具体地,服务端需要能够访问到各个环境的master主节点,用来获取到各个环境的每个服务文件的镜像版本,以及实现对服务文件进行部署。
31.在一个实施例中,系统将服务端部署至第一客户端、第二客户端、第三客户端分别对应的master节点中之后,还可以包括以下方案:
32.具体地:
33.系统获取服务更新指令,此处的服务更新即,将测试环境中已经测试完毕的服务文件,以服务更新指令的形式直接拉取至灰度环境和/或正式环境。
34.系统确定服务更新指令对应的环境为灰度环境和/或正式环境。
35.进而,系统通过服务端,获取第一客户端中的服务更新文件,即测试通过后的服务文件,并对服务更新文件进行镜像处理,得到镜像处理后的服务更新文件(例如镜像的yml格式文件)。
36.进而,系统通过第二客户端对应的配置中心和/或第三客户端对应的配置中心,调用第二客户端和/或第三客户端的接口,将镜像处理后的服务更新文件部署至第二客户端和/或第三客户端。
37.由于本技术中设置有配置中心,可以支持直接读取各环境分别对应的配置中心,进而得到配置信息,以实现直接使用测试环境已测试完毕的镜像文件,不用重新修改灰度环境和/或正式环境中的配置文件再进行打包,保证了部署时已测试完成的镜像文件的完整性。
38.在一个实施例中,通过第二客户端对应的配置中心和/或第三客户端对应的配置中心,调用第二客户端和/或第三客户端的接口,将镜像处理后的服务更新文件部署至第二客户端和/或第三客户端之后,还可以包括以下方案:
39.具体地:
40.系统获取镜像处理后的服务更新文件的版本号。
41.进而,将镜像处理后的服务更新文件的版本号记载至服务端以及第二客户端和/
或第三客户端。
42.通过记载版本号,可在后续第二客户端和/或第三客户端在后续回滚时,方便直接查询以及调用。
43.在一个实施例中,将服务端部署至,第一客户端、第二客户端、第三客户端分别对应的master节点之后,还可以包括以下方案:
44.具体地:
45.获取服务回滚指令,并确定服务回滚指令对应的环境为灰度环境和/或正式环境。
46.进而,系统根据服务回滚指令,确定待回滚文件的版本号。
47.进而,根据待回滚文件的版本号,查询服务端中对应的待回滚服务文件。
48.进而,通过第二客户端对应的配置中心和/或第三客户端对应的配置中心,调用第二客户端和/或第三客户端的接口,将待回滚服务稳健部署至第二客户端和/或第三客户端。
49.在灰度环境和测试环境中,当前运行的服务文件通常会遇到bug,为快速解决问题,需要紧急进行回滚,以获取该bug版本的前一版本来替代。通过本技术记载的技术方案,即可解决上述紧急回滚的问题。
50.在一个实施例中,通过第二客户端和/或第三客户端对应的配置中心和/或第三客户端对应的配置中心,调用第二客户端和/或第三客户端的接口,将待回滚服务文件部署至第二客户端和/或第三客户端之后,还可以包括以下技术方案:
51.具体地,获取第二客户端和/或第三客户端,在部署待回滚服务文件之前所运行服务对应的版本号,即该版本中存在相应的bug。
52.进而,为运行服务对应的版本号添加bug标签,并记录至服务端,bug标签用于标记运行服务对应的版本号的服务文件存在bug。
53.再一个实施例中,系统将服务端部署至第一客户端、第二客户端、第三客户端分别对应的master节点之后,还可以包括以下技术方案:
54.具体地:
55.系统获取服务停止指令,并确定服务停止指令对应的环境为灰度环境和/或正式环境。
56.进而,通过第二客户端对应的配置中心和/或第三客户端对应的配置中心,停止运行第二客户端和/或第三客户端中当前运行的服务。
57.在一个实施例中,将服务端部署至第一客户端、第二客户端、第三客户端分别对应的master节点中之后,还可以包括以下技术方案:
58.具体地:
59.系统确定第一客户端中存在新工程文件。
60.进而,调用jenkins api接口,创建与新工程文件对应的jenkins工程,并将jenkins工程记录至服务端。
61.该过程即,测试环境中创建的新工程文件,为方便之后的一键部署,而采用的上述技术方案。
62.在一个实施例中,服务端与第一客户端、第二客户端以及第三客户端之间采用https加密机制进行加密通信。保证了数据传输的安全性。
63.通过本技术记载的上述技术方案,服务端只需要配置一台服务器,通过读取客户端配置中心中的配置文件,就可以操作客户端对应各个环境的kubernetes,无需来回切换机器。
64.各个环境只需要安装一个客户端即可,安装启动,方便快捷,非专业运维人员也可进行安装部署。
65.此外,在一个实施例中,本技术在服务端和客户端中设置有相应的操作界面,部署、更新、回滚、停止服务都可以根据操作界面一键操作,系统即可根据操作指令自动运行,节省了人工操作的时间,减少了人为失误的发生,也缩短了每项操作的时间周期,节省了人力资源,提高了工作效率。
66.在一个实施例中,如图2所示,本技术还提供了一种基于kubernetes的多环境服务配置设备,包括:
67.至少一个处理器;以及,
68.与所述至少一个处理器通信连接的存储器;其中,
69.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下指令:
70.确定服务端以及第一客户端、第二客户端、第三客户端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点;
71.为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所在环境的服务配置信息;
72.将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
73.在一个实施例中,本技术还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
74.确定服务端以及第一客户端、第二客户端、第三客户端,所述第一客户端运行在测试环境中的master节点,所述第二客户端运行在灰度环境中的master节点,所述第三客户端运行在正式环境中的master节点;
75.为所述第一客户端、所述第二客户端以及所述第三客户端分别添加对应的配置中心,所述配置中心用于提供所在环境的服务配置信息;
76.将所述服务端部署至,所述第一客户端、所述第二客户端、所述第三客户端分别对应的master节点中。
77.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
78.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
79.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
80.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
81.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
82.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
83.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
84.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
85.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
86.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
87.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献