CN111506358B - 更新容器配置的方法及装置 - Google Patents

更新容器配置的方法及装置 Download PDF

Info

Publication number
CN111506358B
CN111506358B CN202010209999.6A CN202010209999A CN111506358B CN 111506358 B CN111506358 B CN 111506358B CN 202010209999 A CN202010209999 A CN 202010209999A CN 111506358 B CN111506358 B CN 111506358B
Authority
CN
China
Prior art keywords
container configuration
container
server
configuration
test
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.)
Active
Application number
CN202010209999.6A
Other languages
English (en)
Other versions
CN111506358A (zh
Inventor
赵贝
李希伟
矫恒浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juhaokan Technology Co Ltd
Original Assignee
Juhaokan Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juhaokan Technology Co Ltd filed Critical Juhaokan Technology Co Ltd
Priority to CN202010209999.6A priority Critical patent/CN111506358B/zh
Publication of CN111506358A publication Critical patent/CN111506358A/zh
Application granted granted Critical
Publication of CN111506358B publication Critical patent/CN111506358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

本申请公开了一种更新容器配置的方法及装置,属于数据处理领域。在本申请中,可以获取服务标识、容器标识和待更新配置的目标服务器所处环境的环境标识,并根据服务标识和容器标识,从环境标识所标识的目标服务器中获取当前的第一容器配置,进而根据第一容器配置,生成第二容器配置,之后,可以向目标服务器发送第二容器配置,以使目标服务器根据第二容器配置更新第一容器配置。由于第二容器配置是根据第一容器配置生成的,而第一容器配置适用于目标服务器,因此,第二容器配置也适用于目标服务器。这样,无需对从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。

Description

更新容器配置的方法及装置
技术领域
本申请涉及数据处理领域,特别涉及一种更新容器配置的方法及装置。
背景技术
当前,可以通过在节点上部署容器来实现相应的服务,每个容器对应有一个配置。当服务升级时,需要对容器的配置进行更新。
相关技术中,开发人员可以通过开发环境下的开发服务器发布默认配置。之后,生产环境下的生产服务器可以拉取开发服务器发布的默认配置,并由运维人员根据当前的生产环境对默认配置手动进行修改,以使修改后的配置可以适用于生产服务器。
然而运维人员对开发服务器发布的默认配置手动进行修改时容易出现问题,例如,可能多输入一个空格。这样,则会导致服务出现问题。
发明内容
本申请实施例提供了一种更新容器配置的方法、装置及存储介质,可以解决对开发服务器发布的默认配置手动进行修改时容易出现错误的问题。所述技术方案如下:
第一方面,提供了一种更新容器配置的方法,应用于开发服务器,所述方法包括:
获取服务标识、容器标识和待更新配置的目标服务器所处环境的环境标识;
根据所述服务标识和所述容器标识,从所述环境标识所标识的目标服务器中获取当前的第一容器配置;
根据所述第一容器配置,生成第二容器配置;
向所述目标服务器发送所述第二容器配置,以使所述目标服务器根据所述第二容器配置更新所述第一容器配置。
第二方面,提供了一种更新容器配置的方法,应用于生产服务器,所述方法包括:
接收开发服务器发送的配置获取请求,所述配置获取请求携带服务标识和容器标识;
根据所述服务标识和所述容器标识,向所述开发服务器返回第一容器配置;
获取第二容器配置,所述第二容器配置是所述开发服务器根据所述第一容器配置生成的;
根据所述第二容器配置更新所述第一容器配置。
第三方面,一种更新容器配置的方法,应用于测试服务器,所述方法包括:
接收开发服务器发送的第二容器配置,所述第二容器配置是所述开发服务器根据从所述目标服务器中获取的第一容器配置生成的;
根据所述第二容器配置,生成第三容器配置;
如果对所述第三容器配置的测试通过,则将所述第二容器配置的状态设置为测试通过状态;
向生产服务器发送状态为测试通过状态的第二容器配置。
第四方面,提供了一种开发服务器,所述开发服务器包括:
第一获取模块,用于获取服务标识、容器标识和待更新配置的目标服务器所处环境的环境标识;
第二获取模块,用于根据所述服务标识和所述容器标识,从所述环境标识所标识的目标服务器中获取当前的第一容器配置;
生成模块,用于根据所述第一容器配置,生成第二容器配置;
发送模块,用于向所述目标服务器发送所述第二容器配置,以使所述目标服务器根据所述第二容器配置更新所述第一容器配置。
第五方面,提供了一种生产服务器,所述生产服务器包括:
接收模块,用于接收开发服务器发送的配置获取请求,所述配置获取请求携带服务标识和容器标识;
返回模块,用于根据所述服务标识和所述容器标识,向所述开发服务器返回第一容器配置;
获取模块,用于获取第二容器配置,所述第二容器配置是所述开发服务器根据所述第一容器配置生成的;
更新模块,用于根据所述第二容器配置更新所述第一容器配置。
第六方面,提供了一种测试服务器,所述测试服务器包括:
接收模块,用于接收开发服务器发送的第二容器配置,所述第二容器配置是所述开发服务器根据从所述目标服务器中获取的第一容器配置生成的;
生成模块,用于根据所述第二容器配置,生成第三容器配置;
设置模块,用于如果对所述第三容器配置的测试通过,则将所述第二容器配置的状态设置为测试通过状态;
发送模块,用于向生产服务器发送状态为测试通过状态的第二容器配置。
第七方面,提供了一种服务器,所述服务器包括处理器、通信接口、存储器和通信总线;
其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存放计算机程序;
所述处理器用于执行所述存储器上所存放的程序,以实现前述提供更新容器配置的方法。
第八方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述提供的更新容器配置的方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,开发服务器可以从目标服务器获取到目标服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于目标服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于目标服务器。这样,目标服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,目标服务器无需对从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种更新容器配置的返方法所涉及的系统架构图;
图2是本申请实施例提供的一种更新容器配置的方法流程图;
图3是本申请实施例提供的另一种更新容器配置的方法流程图;
图4是本申请实施例提供的一种开发服务器的结构示意图;
图5是本申请实施例提供的一种生产服务器的结构示意图;
图6是本申请实施例提供的一种测试服务器的结构示意图;
图7是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例涉及的应用场景予以介绍。
当通过在节点上部署容器来实现相应的服务时,每个容器对应有一个配置。而当服务升级时,需要对容器的配置进行更新。在这种情况下,由于不同环境下的服务器的容器的配置不同,因此,可以在开发服务器中分别发布测试服务器和生产服务器所适用的配置,以使测试服务器和生产服务器可以直接使用从开发服务器中获取到的配置。本申请实施例提供的更新容器配置的方法,即可以在上述场景中,开发服务器可以获取到目标服务器的第一容器配置,并根据第一容器配置生成第二容器配置,进而将第二容器配置发送至目标服务器,以使目标服务器根据第二容器配置更新第一容器配置。其中,目标服务器可以为测试服务器或者生产服务器。
接下来对本申请实施例提供的更新容器配置的方法所涉及的系统架构进行介绍。
图1是本申请实施例提供的一种更新容器配置的方法所涉及的系统架构图。如图1所示,该系统100包括开发服务器101,测试服务器102,生产服务器103。开发服务器101、测试服务器102和生产服务器104之间可以通过有线或无线的方式进行通信。
其中,开发服务器101可以向目标服务器发送配置获取请求,并接收目标服务器返回的第一容器配置,其中,目标服务器可以为测试服务器102或者生产服务器103。之后,开发服务器101可以显示第一容器配置,并接收对第一容器配置的修改操作,从而得到第二容器配置。当开发服务器101检测到针对第二容器配置的发布指令时,可以发布第二容器配置,并将第二容器配置的状态设置为发布状态。开发服务器101可以在发布第二容器配置后直接将第二容器配置发送至测试服务器102,可选地,也可以在接收到测试服务器102发送的获取请求时,将已发布的第二容器配置发送至测试服务器102。
当目标服务器为测试服务器时,测试服务器102可以接收开发服务器101发送的配置获取请求,并返回第一容器配置。测试服务器102还可以向开发服务器101发送获取请求,该获取请求中可以携带服务标识以及容器标识。之后,测试服务器102可以接收开发服务器101发送的第二容器配置,并根据第二容器配置更新第一容器配置,以对第二容器配置进行测试,当第二容器配置通过测试时可以将第二容器配置的状态设置为测试通过状态。
可选地,当目标服务器为生产服务器时,生产服务器103可以接收开发服务器101发送的配置获取请求,并返回第一容器配置。当开发服务器101根据第一容器配置生成第二容器配置之后,可以首先将第二容器配置发送至测试服务器102。可选地,也可以由测试服务器102向开发服务器101发送获取请求,该获取请求中可以携带服务标识以及容器标识。测试服务器102可以接收开发服务器101发送的第二容器配置,并根据第二容器配置修改当前的容器配置,以对第二容器配置进行测试。当第二容器配置通过测试时可以将第二容器配置的状态设置为测试通过状态,并将测试通过的第二容器配置发送至生产服务器103。可选地,也可以由生产服务器103向测试服务器102发送获取请求,该获取请求中可以携带服务标识以及容器标识。测试服务器102在接收到生产服务器103发送的获取请求时,将测试通过的第二容器配置发送至生产服务器103。之后,生产服务器103可以接收测试服务器102发送的通过测试的第二容器配置,并根据第二容器配置更新第一容器配置。
接下来对本申请实施例提供的更新容器配置方法进行介绍。
根据图1的介绍可知,在本申请实施例中,目标服务器可以为生产服务器,或者测试服务器,接下来首先以目标服务器为生产服务器为例来对本申请提供的更新容器配置的方法进行说明。参见图2,示出了本申请实施例提供的一种更新容器配置方法的流程图,该方法应用于图1所示的系统中,如图2所示,该方法包括以下步骤:
步骤201:开发服务器获取服务标识、容器标识和待更新配置的生产服务器所处环境的环境标识。
当服务需要升级时,需要将服务对应的容器的容器配置进行更新,此时,开发服务器可以获取该服务的服务标识、待更新配置的容器标识以及待更新配置的服务器所处环境的环境标识,由于本申请实施例中是以生产服务器为例,因此,开发服务器获取到的环境标识将为生产环境的环境标识。
作为一种示例,开发服务器可以显示一个配置界面,该配置界面中包括服务标识、容器标识和环境标识配置项。之后,开发服务器可以获取开发人员在服务标识配置项中输入的服务标识、在容器标识配置项中输入的容器标识和在环境标识配置项中输入的环境标识。其中,服务标识用于标识待更新配置的服务,容器标识用于标识待更新配置的容器,环境标识用于标识待更新配置的目标服务器所处环境。需要说明的是,由于环境标识用于指示待更新配置的服务器所处的环境,而本申请实施例是以目标服务器为生产服务器为例来进行示例说明,因此,在本申请实施例中,开发人员在环境标识配置项中输入的环境标识将为用于指示生产服务器所处的生产环境的环境标识。
可选地,该配置界面中还可包括发布说明配置项,发布说明配置项中可以包括此次更新容器配置的具体内容,例如,新增的配置,或者删除的配置。
步骤202:开发服务器根据环境标识,向生产服务器发送配置获取请求,配置获取请求携带服务标识和容器标识。
在本申请实施例中,开发服务器接收到服务标识和容器标识之后,可以根据服务标识和容器标识生成配置获取请求,并根据环境标识确定出目标服务器为生产服务器,进而将配置获取请求发送至生产服务器。之后,开发服务器可以接收生产服务器返回的第一容器配置,第一容器配置是生产服务器中与服务标识和容器标识匹配的容器的当前配置。
可选地,该配置获取请求中还可以携带用户名和密码。该用户名和密码是开发人员预先注册的用于登录生产服务器的用户名和密码。
步骤203:生产服务器根据配置获取请求携带的服务标识和容器标识,向开发服务器返回第一容器配置。
当开发服务器向生产服务器发送配置获取请求之后,相应的,生产服务器可以接收到开发服务器发送的配置获取请求。其中,该配置获取请求携带服务标识和容器标识。可选地,该配置获取请求中还可以携带用户名和密码。
生产服务器接收到开发服务器发送的配置获取请求之后,可以根据配置获取请求中携带的服务标识和容器标识,确定与服务标识和容器标识所匹配的容器的当前配置,也即是第一容器配置。
需要说明的是,生产服务器可以包括多个服务,而一个服务可以包括多个容器,且每个容器的容器标识不同。这样,生产服务器中可以存储有服务标识与该服务包括的多个容器的容器标识之间的对应关系。
在这种情况下,生产服务器可以根据配置获取请求携带的服务标识,获取该服务标识与多个容器标识之间的对应关系,进而根据配置获取请求携带的容器标识,从该对应关系中查找相同的容器标识,并获取该容器标识所标识的容器的当前配置,也即是第一容器配置。
可选地,当配置获取请求中还携带用户名和密码时,生产服务器接收到开发服务器发送的配置获取请求之后,可以先根据配置获取请求中携带的用户名和密码,对开发服务器进行权限验证,当该用户名和密码与生产服务器中存储的多组用户名和密码中的任意一组相同时,则可以确定通过权限验证,此时,则可以根据配置获取请求中携带的服务标识和容器标识获取第一容器配置。
步骤204:开发服务器根据第一容器配置,生成第二容器配置。
在本申请实施例中,开发服务器接收到生产服务器返回的第一容器配置后,可以显示第一容器配置,并接收对第一容器配置的修改操作,将修改后的第一容器配置作为第二容器配置。
作为一种示例,开发服务器可以显示一个对比界面,该对比界面包括两个窗口以及完成选项。其中,一个窗口可以显示存储的开发环境下更新后的容器配置,另一个窗口可以显示第一容器配置。之后,开发人员可以将对比界面分别显示的开发环境下更新后的容器配置以及第一容器配置进行对比,以确定更新后的容器配置相较于第一容器配置所更改的配置,并将所更改的配置在显示的第一容器配置中的相应位置处进行修改。此时,开发服务器可以检测到针对对比界面中显示的第一容器配置进行的修改操作,并接收该修改操作。其中,该修改操作可以为增加某些配置,或者删除某些配置,或者修改某些配置。开发人员对第一容器配置修改完成后,可以针对显示的完成选项进行选择操作,此时,开发服务器可以检测到针对完成选项的选择操作,并将修改后的第一容器配置作为第二容器配置,并存储第二容器配置。
需要说明的是,第二容器配置对应有一个状态项,该状态项用于指示第二容器配置当前的状态。其中,该状态可以为发布状态、测试通过状态、测试驳回状态。发布状态可以指示对应的第二容器配置已经发布,测试通过状态可以指示对应的第二容器配置已经通过测试,可以发送至生产服务器,测试驳回状态可以指示对应的第二容器配置未通过测试,无法发送至生产服务器。
可选地,在存储第二容器配置之后,开发服务器可以将第二容器配置的文件标识添加至配置文件列表中。当开发服务器检测到针对配置文件列表中的第二容器配置的文件标识的选择操作时,可以显示一个发布选项和修改选项。当开发服务器检测到针对修改选项的选择操作时,可以显示第二容器配置,并再次接收针对第二容器配置的修改操作。
当开发服务器检测到针对发布选项的选择操作时,可以触发发布指令,当开发服务器检测到针对第二容器配置的发布指令时,可以将第二容器配置的状态设置为发布状态,之后,可以将状态为发布状态的第二容器配置发送至生产服务器。
需要说明的是,已发布的第二容器配置,也即是状态为发布状态的第二容器配置无法进行修改。
步骤205:开发服务器向生产服务器发送第二容器配置。
在本申请实施例中,开发服务器将第二容器配置的状态设置为发布状态之后,可以将第二容器配置先发送至测试服务器,进而由测试服务器将通过测试的第二容器配置发送至生产服务器。
需要说明的是,为了保证第二容器配置能够正常使用,在本申请实施例中,开发服务器可以通过测试服务器对第二容器配置进行测试,之后,再由测试服务器将测试通过的第二容器配置发送至生产服务器。
示例性地,开发服务器向测试环境下的测试服务器发送第二容器配置,测试服务器对第二容器配置进行测试,并在第二容器配置的测试通过的情况下,将第二容器配置的状态设置为测试通过状态,之后,测试服务器可以将状态为测试通过状态的第二容器配置发送至生产服务器。
在一些实施例中,开发服务器将第二容器配置的状态设置为发布状态,也即是发布第二容器配置之后,可以直接将已发布的第二容器配置发送至测试服务器,以使测试服务器对已发布的第二容器配置进行测试。
在另一些实施例中,开发服务器将第二容器配置的状态设置为发布状态,也即是发布第二容器配置之后,当开发服务器接收到测试服务器的获取请求时,可以根据获取请求携带的服务标识以及容器标识查找到第二容器配置,并将已发布的第二容器配置发送至测试服务器,以使测试服务器对已发布的第二容器配置进行测试。
相应地,测试服务器可以接收开发服务器发送的第二容器配置。之后,测试服务器可以根据第二容器配置,生成第三容器配置,并对第三容器配置进行测试。如果对第三容器配置的测试通过,则将第二容器配置的状态设置为测试通过状态,进而向生产服务器发送状态为测试通过状态的第二容器配置。
需要说明的是,由于不同环境下的服务器的容器配置不同,而第二容器配置发布于生产服务器,也即是第二容器配置适用于生产环境下的服务器,因此,测试服务器在接收到第二容器配置后,不能将当前的容器配置替换为第二容器配置,而需要基于第二容器配置对当前的容器配置进行修改。
作为一种示例,测试服务器可以显示一个对比界面,该对比界面包括两个窗口以及完成选项。其中,一个窗口可以显示测试服务器所处测试环境下当前的容器配置,另一个窗口可以显示第二容器配置。之后,测试人员可以将对比界面分别显示的测试环境下当前的容器配置以及第二容器配置进行对比,以确定第一容器配置相较于测试环境下当前的容器配置所更改的配置,并将所更改的配置在显示的测试环境下当前的容器配置中的相应位置处进行修改。此时,测试服务器可以检测到针对对比界面中显示的测试环境下当前的容器配置进行的修改操作,并接收该修改操作。其中,该修改操作可以为增加某些配置,或者删除某些配置,或者修改某些配置。当开发服务器检测到针对完成选项的选择操作之后,可以将此时修改后的当前的容器配置作为第三容器配置,并存储第三容器配置。
得到第三容器配置之后,测试服务器可以根据第三容器配置,将容器进行升级,也即是将服务进行升级。
在本申请实施例中,第二容器配置对应有通过选项和驳回选项。这样,测试服务器可以检测到针对第二容器配置的通过操作,或者驳回操作。需要说明的是,在服务升级完成后,测试人员可以根据确定升级完成的服务的处理过程是否出现问题,来判断对第二容器配置的测试是否通过。当根据第三容器配置将服务器升级后,服务没有出现问题,测试人员确定测试通过,可以针对第二容器配置对应的通过选项执行选择操作,此时,测试服务器可以检测针对第二容器配置的通过操作,并将第二容器配置的状态设置为测试通过状态,进而向开发服务器发送状态为测试通过状态的第二容器配置。如果服务出现问题,测试人员确定测试不同过,可以针对第二容器配置对应的驳回选项执行选择操作,此时,测试服务器可以检测针对第二容器配置的驳回操作,并将第二容器配置的状态设置为测试驳回状态,在这种情况下,测试服务器无需将第二容器配置发送至生产服务器。
步骤206:生产服务器根据第二容器配置更新第一容器配置。
在本申请实施例中,生产服务器可以接收第二容器配置,第二容器配置是开发服务器根据第一容器配置生成的。
由前述步骤205的介绍可知,在一种可能的情况中,开发服务器可以将第二容器配置发送至测试服务器进行测试,之后,再由测试服务器将状态为测试通过状态的第二容器配置发送至生产服务器。在这种情况下,生产服务器可以直接接收测试服务器主动发送的状态为测试通过状态的第二容器配置。
或者,生产服务器也可以向测试服务器发送获取请求,该获取请求中携带服务标识以及容器标识。测试服务器接收到获取请求后,可以根据获取请求携带的服务标识以及容器标识查找到状态为测试通过状态的第二容器配置,并将第二容器配置发送至生产服务器。相应地,生产服务器可以接收到测试服务器发送的第二容器配置。
可选地,在一些可能的情况下,生产服务器也可以直接接收开发服务器发送的第二容器配置,其中,具体的实现方式可以参考前述接收测试服务器发送的第二容器配置的实现方式,在此不再赘述。
生产服务器接收到第二容器配置之后,可以根据第二容器配置更新第一容器配置。
作为一种示例,生产服务器可以检测针对第二容器配置的替换操作,当检测到针对第二容器配置的替换操作时,生产服务器可以直接将第一容器配置替换为第二容器配置。需要说明的是,由于第二容器配置是根据第一容器配置生成的,第二容器配置也适用于生产服务器,因此,生产服务器可以直接将第一容器配置替换为第二容器配置。
可选地,生产服务器接收到第二容器配置之后,可以将第二容器配置进行显示,供运维人员查看第二容器配置,以确定第二容器配置相较于当前的容器配置,也即是第一容器配置更改的配置,进而确定第二容器配置与第一容器配置是否相差过大。当确定第二容器配置与第一容器配置相差不大时,运维人员可以针对第二容器配置执行替换操作,当生产服务器检测到替换操作时,可以将第一容器配置替换为第二容器配置。当确定第二容器配置与第一容器配置相差过大时,运维人员可以针对第二容器配置执行驳回操作,当生产服务器检测到驳回操作时,则无需根据第二容器配置对第一容器配置进行更新。
生产服务器根据第二容器配置更新第一容器配置之后,可以根据更新之后的第一容器配置,也即是第二容器配置升级容器,进而升级服务。
可选地,还可以根据升级完成后的服务的处理过程是否出现问题,确定第二容器配置是否通过,也即是确定第二容器配置是否正确。
在本申请实施例中,开发服务器可以从生产服务器获取到生产服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于生产服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于生产服务器。这样,生产服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,生产服务器无需对从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
前述实施例中介绍了目标服务器为生产服务器时更新容器配置的方法的实现方式,接下来以目标服务器为测试服务器为例来对本申请提供的更新容器配置的方法进行说明。参见图3,示出了本申请实施例提供的一种更新容器配置方法的流程图,该方法应用于图1所示的系统中,如图3所示,该方法包括以下步骤:
步骤301:开发服务器获取服务标识、容器标识和待更新配置的测试服务器所处环境的环境标识。
在本申请实施例中,步骤301的具体实现方式可以参考前述步骤201中所介绍的实现方式,在此不再赘述。
步骤302:开发服务器根据环境标识,向测试服务器发送配置获取请求,配置获取请求携带服务标识和容器标识。
在本申请实施例中,步骤302的具体实现方式可以参考前述步骤202中所介绍的实现方式,在此不再赘述。
步骤303:测试服务器根据服务标识和容器标识,向开发服务器返回第一容器配置。
在本申请实施例中,步骤303的具体实现方式可以参考前述步骤203中所介绍的实现方式,在此不再赘述。
步骤304:开发服务器根据第一容器配置,生成第二容器配置。
在本申请实施例中,步骤304的具体实现方式可以参考前述步骤204中所介绍的实现方式,在此不再赘述。
步骤305:开发服务器向测试服务器发送第二容器配置,以使测试服务器根据第二容器配置更新第一容器配置。
在本申请实施例中,目标服务器为测试服务器,开发服务器将第二容器配置的状态设置为发布状态之后,可以直接将第二容器配置发送至测试服务器。
可选地,开发服务器可以在接收到测试服务器发送的获取请求之后,根据获取请求中携带服务标识以及容器标识,向测试服务器发送状态为发布状态的第二容器配置。
步骤306:测试服务器根据第二容器配置更新第一容器配置。
在本申请实施例中,步骤306的具体实现方式可以参考前述步骤206中所介绍的实现方式,在此不再赘述。
测试服务器可以直接接收到开发服务器发送的第二容器配置,第二容器配置是开发服务器根据第一容器配置生成的,且第二容器配置的状态为发布状态。
可选地,测试服务器可以向开发服务器发送获取请求,该获取请求中携带服务标识以及容器标识。开发服务器接收到获取请求后,可以根据获取请求携带的服务标识以及容器标识查找到状态为发布状态的第二容器配置,并将第二容器配置发送至测试服务器。之后,测试服务器可以接收到开发服务器发送的状态为发布状态的第二容器配置。
需要说明的是,由于在本申请实施例中,目标服务器为测试服务器,第一容器配置即为测试服务器当前的容器配置,这样,根据第一容器配置生成的第二容器配置适用于测试服务器,在这种情况下,测试服务器可以直接将第一容器配置替换为第二容器配置。
测试服务器根据第二容器配置将第一容器配置进行更新之后,可以升级容器,也即是升级服务。之后,测试人员可以根据升级完成后服务的处理过程是否出现问题,确定第二容器配置是否通过测试。
当测试人员确定第二容器配置通过测试时,可以针对第二容器配置执行通过操作,此时,测试服务器可以检测到该通过操作,并将第二容器配置的状态设置为测试通过状态。当测试人员确定第二容器配置未通过测试时,可以针对第二容器配置执行驳回操作,此时,测试服务器可以将第二容器配置的状态设置为测试驳回状态。
可选地,测试服务器将第二容器配置的状态设置为测试通过状态之后,可以将第二容器配置发送至生产服务器。生产服务器接收测试服务器发送的第二容器配置之后,可以根据第二容器配置,对生产服务器中当前的容器配置进行修改,以得到第四容器配置,进而根据第四容器配置将容器进行升级,也即是将容器所属的服务进行升级。其中,根据第二容器配置得到第四容器配置的具体实现方式可以参考前述根据第二容器配置得到第三容器配置的实现方式,在此不作赘述。
需要说明的是,由于不同环境下的服务器的容器配置不同,而第二容器配置发布于测试服务器,也即是第二容器配置适用于测试环境下的服务器,因此,生产服务器在接收到第二容器配置后,不能将当前的容器配置替换为第二容器配置,而需要基于第二容器配置对当前的容器配置进行修改。
在本申请实施例中,开发服务器可以从测试服务器获取到测试服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于测试服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于测试服务器。这样,测试服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,无需对测试服务器从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
参见图4,本申请实施例提供了一种开发服务器400,该开发服务器400包括:
第一获取模块401,用于获取服务标识、容器标识和待更新配置的目标服务器所处环境的环境标识;
第二获取模块402,用于根据服务标识和容器标识,从环境标识所标识的目标服务器中获取当前的第一容器配置;
生成模块403,用于根据第一容器配置,生成第二容器配置;
发送模块404,用于向目标服务器发送第二容器配置,以使目标服务器根据所述第二容器配置更新第一容器配置。
可选地,第二获取模块402具体用于:
根据环境标识,向目标服务器发送配置获取请求,配置获取请求携带服务标识和容器标识;
接收目标服务器返回的第一容器配置,第一容器配置是目标服务器中与服务标识和容器标识匹配的容器的当前配置。
可选地,生成模块403具体用于:
显示第一容器配置;
接收对第一容器配置的修改操作;
将修改后的第一容器配置作为第二容器配置。
可选地,发送模块404包括:
设置子模块,用于当检测到针对第二容器配置的发布指令时,将第二容器配置的状态设置为发布状态;
发送子模块,用于将状态为发布状态的第二容器配置发送至目标服务器。
可选地,发送子模块具体用于:
向测试环境下的测试服务器发送第二容器配置,以使测试服务器对第二容器配置进行测试,并在第二容器配置的测试通过的情况下,将第二容器配置的状态设置为测试通过状态,将状态为测试通过状态的第二容器配置发送至目标服务器
综上所述,在本申请实施例中,开发服务器可以从目标服务器获取到目标服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于目标服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于目标服务器。这样,目标服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,无需对目标服务器从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
参见图5,本申请实施例提供了一种生产服务器500,该生产服务器500包括:
接收模块501,用于接收开发服务器发送的配置获取请求,配置获取请求携带服务标识和容器标识;
返回模块502,用于根据服务标识和容器标识,向开发服务器返回第一容器配置;
获取模块503,用于获取第二容器配置,第二容器配置是开发服务器根据第一容器配置生成的;
更新模块504,根据第二容器配置更新第一容器配置。
可选地,获取模块503具体用于:
接收开发服务器发送的状态为发布状态的第二容器配置。
可选地,获取模块503具体用于:
接收测试环境下的测试服务器发送的状态为测试通过状态的第二容器配置,测试通过状态用于指示测试服务器对第二容器配置的测试通过。
综上所述,在本申请实施例中,开发服务器可以从生产服务器获取到生产服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于生产服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于生产服务器。这样,生产服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,无需对生产服务器从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
参见图6,本申请实施例提供了一种测试服务器600,该测试服务器600包括:
接收模块601,用于接收开发服务器发送的第二容器配置,第二容器配置是开发服务器根据从目标服务器中获取的第一容器配置生成的;
生成模块602,用于根据第二容器配置,生成第三容器配置;
设置模块603,用于如果对第三容器配置的测试通过,则将第二容器配置的状态设置为测试通过状态;
发送模块604,用于向生产服务器发送状态为测试通过状态的第二容器配置。
综上所述,在本申请实施例中,开发服务器可以从测试服务器获取到测试服务器中的当前的容器配置,也即是第一容器配置,并根据第一容器配置生成第二容器配置。由于第一容器配置适用于测试服务器的容器配置,因此,在第一容器配置的基础上得到的第二容器配置也可以适用于测试服务器。这样,测试服务器可以直接从开发服务器获取第二容器配置,并根据第二容器配置更新第一容器配置,由此可见,无需对测试服务器从开发服务器获取的第二容器配置手动进行修改,可以避免修改时出现问题,从而导致服务出现问题。
需要说明的是:上述实施例提供的更新容器配置的服务器在更新容器配置时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的更新容器配置的服务器与更新容器配置的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本申请一个示例性实施例是本申请实施例提供的一种用于更新容器配置的服务器700的结构示意图。上述图2-3所示的实施例中的各个服务器的功能即可以通过图7中所示的服务器来实现。该服务器可以是后台服务器集群中的服务器。具体来讲:
服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的更新容器配置的方法的指令。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述图2-3所示实施例提供的更新容器配置的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2-3所示实施例提供的更新容器配置的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种更新容器配置的方法,其特征在于,应用于开发服务器,所述方法包括:
获取服务标识、容器标识和待更新配置的生产服务器所处环境的环境标识;
根据所述服务标识和所述容器标识,从所述环境标识所标识的生产服务器中获取当前的第一容器配置;
根据所述第一容器配置,生成第二容器配置;
当检测到针对所述第二容器配置的发布指令时,将所述第二容器配置的状态设置为发布状态;
将状态为所述发布状态的所述第二容器配置发送至测试环境下的测试服务器,使所述测试服务器对所述第二容器配置进行测试,并在所述第二容器配置的测试通过的情况下,将所述第二容器配置的状态设置为测试通过状态,且将状态为所述测试通过状态的第二容器配置发送至所述生产服务器,以使所述生产服务器根据所述第二容器配置更新所述第一容器配置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述服务标识和所述容器标识,从所述环境标识所标识的生产服务器中获取当前的第一容器配置,包括:
根据所述环境标识,向所述生产服务器发送配置获取请求,所述配置获取请求携带所述服务标识和所述容器标识;
接收所述生产服务器返回的所述第一容器配置,所述第一容器配置是所述生产服务器中与所述服务标识和所述容器标识匹配的容器的当前配置。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一容器配置,生成第二容器配置,包括:
显示所述第一容器配置;
接收对所述第一容器配置的修改操作;
将修改后的所述第一容器配置作为所述第二容器配置。
4.根据权利要求1至3任一所述的方法,其特征在于,所述测试服务器在接收所述开发服务器发送的所述第二容器配置后,所述测试服务器能够根据所述第二容器配置,生成第三容器配置;如果所述测试服务器对所述第三容器配置的测试通过,则将所述第二容器配置的状态设置为所述测试通过状态。
5.一种更新容器配置的方法,其特征在于,应用于生产服务器,所述方法包括:
接收开发服务器发送的配置获取请求,所述配置获取请求携带服务标识和容器标识;
根据所述服务标识和所述容器标识,向所述开发服务器返回第一容器配置;
接收测试环境下的测试服务器发送的状态为测试通过状态的第二容器配置,所述第二容器配置是所述开发服务器根据所述第一容器配置生成的,所述测试通过状态用于指示所述测试服务器对所述开发服务器发送的状态为发布状态的第二容器配置的测试通过;
根据所述第二容器配置更新所述第一容器配置。
6.一种开发服务器,所述开发服务器包括:
第一获取模块,用于获取服务标识、容器标识和待更新配置的生产服务器所处环境的环境标识;
第二获取模块,用于根据所述服务标识和所述容器标识,从所述环境标识所标识的生产服务器中获取当前的第一容器配置;
生成模块,用于根据所述第一容器配置,生成第二容器配置;
发送模块,用于当检测到针对所述第二容器配置的发布指令时,将所述第二容器配置的状态设置为发布状态;且将状态为所述发布状态的所述第二容器配置发送至测试环境下的测试服务器,使所述测试服务器对所述第二容器配置进行测试,并在所述第二容器配置的测试通过的情况下,将所述第二容器配置的状态设置为测试通过状态,且将状态为所述测试通过状态的第二容器配置发送至所述生产服务器,以使所述生产服务器根据所述第二容器配置更新所述第一容器配置。
CN202010209999.6A 2020-03-23 2020-03-23 更新容器配置的方法及装置 Active CN111506358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010209999.6A CN111506358B (zh) 2020-03-23 2020-03-23 更新容器配置的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010209999.6A CN111506358B (zh) 2020-03-23 2020-03-23 更新容器配置的方法及装置

Publications (2)

Publication Number Publication Date
CN111506358A CN111506358A (zh) 2020-08-07
CN111506358B true CN111506358B (zh) 2023-10-20

Family

ID=71864641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010209999.6A Active CN111506358B (zh) 2020-03-23 2020-03-23 更新容器配置的方法及装置

Country Status (1)

Country Link
CN (1) CN111506358B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360172B (zh) * 2021-06-30 2024-02-27 李建 应用部署方法、装置、计算机设备及存储介质
CN113609005A (zh) * 2021-07-19 2021-11-05 浙江吉利控股集团有限公司 一种软件测试环境管理系统和方法
CN114363168A (zh) * 2021-12-21 2022-04-15 上海众源网络有限公司 容器内服务配置修改方法及装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958882A (zh) * 2018-06-06 2018-12-07 麒麟合盛网络技术股份有限公司 一种容器调整方法、装置和系统
CN109992354A (zh) * 2019-04-09 2019-07-09 腾讯科技(深圳)有限公司 容器处理方法、装置、主体服务器、系统和存储介质
CN110244987A (zh) * 2019-06-18 2019-09-17 腾讯科技(深圳)有限公司 配置数据处理方法、装置、可读存储介质和计算机设备
CN110532170A (zh) * 2019-07-18 2019-12-03 北京文渊佳科技有限公司 搭建测试环境的方法、装置、电子设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958882A (zh) * 2018-06-06 2018-12-07 麒麟合盛网络技术股份有限公司 一种容器调整方法、装置和系统
CN109992354A (zh) * 2019-04-09 2019-07-09 腾讯科技(深圳)有限公司 容器处理方法、装置、主体服务器、系统和存储介质
CN110244987A (zh) * 2019-06-18 2019-09-17 腾讯科技(深圳)有限公司 配置数据处理方法、装置、可读存储介质和计算机设备
CN110532170A (zh) * 2019-07-18 2019-12-03 北京文渊佳科技有限公司 搭建测试环境的方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN111506358A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN111506358B (zh) 更新容器配置的方法及装置
CN108959059B (zh) 一种测试方法以及测试平台
US10175969B2 (en) Data processing for upgrading medical equipment
CN108196878B (zh) 应用程序安装包的生成方法、装置、电子设备及存储介质
CN112486629B (zh) 微服务状态检测方法、装置、电子设备和存储介质
CN110058998B (zh) 软件测试方法及装置
JP2019500680A (ja) データ処理方法及び装置
US11474892B2 (en) Graph-based log sequence anomaly detection and problem diagnosis
CN110362479B (zh) 系统升级测试方法和系统
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN113220660A (zh) 一种数据迁移方法、装置、设备及可读存储介质
CN114090047A (zh) 一种软件升级方法和装置
JP7068912B2 (ja) 情報処理装置、機器、不具合解析システム、不具合解析方法およびプログラム
CN107357721B (zh) 测试系统的方法及装置
CN112905437A (zh) 一种测试用例的方法、装置及存储介质
US9998341B2 (en) Method of constructing data collector, server performing the same and storage medium for the same
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
JP6382610B2 (ja) シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法
CN113190465B (zh) 测试信息处理方法、装置、设备及存储介质
CN116743990B (zh) 嵌入式设备的视频流测试方法和视频流测试处理方法
CN114500268B (zh) chart资源的部署方法、装置、服务器及存储介质
CN114978937B (zh) 一种页面数据校验方法及装置
CN112256554B (zh) 一种基于场景测试用例进行测试的方法及设备
CN117950391A (zh) 整车控制器诊断测试方法、装置、设备及存储介质
CN112702199A (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
GR01 Patent grant
GR01 Patent grant