CN113448609B - 一种容器的升级方法、装置、设备和存储介质 - Google Patents

一种容器的升级方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113448609B
CN113448609B CN202111000862.0A CN202111000862A CN113448609B CN 113448609 B CN113448609 B CN 113448609B CN 202111000862 A CN202111000862 A CN 202111000862A CN 113448609 B CN113448609 B CN 113448609B
Authority
CN
China
Prior art keywords
container
controller
upgrading
target
target service
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
CN202111000862.0A
Other languages
English (en)
Other versions
CN113448609A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202111000862.0A priority Critical patent/CN113448609B/zh
Publication of CN113448609A publication Critical patent/CN113448609A/zh
Application granted granted Critical
Publication of CN113448609B publication Critical patent/CN113448609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种容器的升级方法、装置、设备和存储介质,其中方法包括:第一控制器接收业务容器升级指令,按照业务容器升级指令查找第二控制器,第一控制器将配置文件挂载至初始化容器的配置资源中,第二控制器监测到第一控制器将配置文件挂载至初始化容器的配置资源中的操作,向目标容器组发送重启指令,目标容器组根据重启指令,按照先后顺序重启初始化容器和目标业务容器,初始化容器根据配置文件将目标业务容器升级所需文件拉取到目标容器组中,目标容器组根据拉取到的目标业务容器升级所需文件,重启目标业务容器,从而完成对目标业务容器的升级。本发明提高了对容器升级的操作灵活性。

Description

一种容器的升级方法、装置、设备和存储介质
技术领域
本发明涉及数据处理领域,特别是涉及一种容器的升级方法、装置、设备和存储介质。
背景技术
近年来,随着云计算技术的发展和推广,容器云作为一种可以为开发者和系统管理员提供用于构建、发布和运行分布式应用的平台,被广泛的应用于云计算的方方面面。
现有技术对正在容器云上运行的业务进行升级操作时,即使仅对单个业务进行升级,也需要提供全量的镜像文件,严重影响了升级操作的灵活性。因此,如何提升容器云对运行业务执行升级时的操作灵活性,成为了当前技术人员迫切要解决的问题。
发明内容
本发明实施例的目的在于提供一种容器的升级方法、装置、设备和存储介质,以实现对容器中的运行业务进行灵活升级。具体技术方案如下:
一种容器的升级方法,所述方法包括:
第一控制器接收业务容器升级指令,按照所述业务容器升级指令查找第二控制器,其中,所述业务容器升级指令包括:所述第二控制器的地址和目标业务容器的配置文件。
所述第一控制器将所述配置文件挂载至初始化容器的配置资源中,其中,所述初始化容器配置于目标容器组中,所述目标容器组为存储有所述目标业务容器的容器组。
所述第二控制器监测到所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中的操作,向所述目标容器组发送重启指令。
所述目标容器组根据所述重启指令,按照先后顺序重启所述初始化容器和所述目标业务容器。
所述初始化容器根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中。
所述目标容器组根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级。
可选的,当所述目标容器组中没有配置所述初始化容器时,所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中,包括:
所述第二控制器监测到所述第一控制器将所述配置文件挂载至初始化容器的配置资源中的操作,控制所述目标容器组创建所述初始化容器。
可选的,所述初始化容器根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中,包括:
所述初始化容器根据所述配置文件,从预设文件服务器中拉取所述目标业务容器升级所需文件,并利用所述拉取的升级所需文件,覆盖配置于所述目标容器组中的所述目标业务容器所需升级的第一脚本文件,获得升级后的所述目标业务容器的第二脚本文件,其中,所述升级所需文件是所述目标业务容器中需要升级的业务的升级文件。
可选的,所述目标容器组根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级,包括:
所述目标容器组根据所述第二脚本文件,重启所述目标业务容器。
可选的,所述方法还包括:
所述目标容器组完成所述目标业务容器的升级后,向所述第二控制器发送事件完成通知。
所述第二控制器根据所述事件完成通知更新所述第二控制器当前状态。
所述第一控制器捕捉到所述第二控制器的状态变更,根据所述第二控制器当前状态更新所述第一控制器当前状态。
所述第一控制器根据当前自身状态,修改所述目标业务容器的升级状态。
可选的,所述第二控制器当前状态包括:升级成功或升级失败。
所述第一控制器当前状态包括:升级成功或升级失败。
所述目标业务容器的升级状态包括:升级成功或升级失败。
一种容器的升级装置,所述装置包括:第一控制器、第二控制器、目标容器组和初始化容器,
所述第一控制器被配置为执行:接收业务容器升级指令,按照所述业务容器升级指令查找所述第二控制器,其中,所述业务容器升级指令包括:所述第二控制器的地址和所述目标业务容器的配置文件。
所述第一控制器还被配置为执行:将所述配置文件挂载至所述初始化容器的配置资源中,其中,所述初始化容器配置于所述目标容器组中,所述目标容器组为存储有所述目标业务容器的容器组。
所述第二控制器被配置为执行:监测到所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中的操作,向所述目标容器组发送重启指令。
所述目标容器组被配置为执行:根据所述重启指令,按照先后顺序重启所述初始化容器和所述目标业务容器。
所述初始化容器被配置为执行:根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中。
所述目标容器组还被配置为执行:根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级。
可选的,所述目标容器组还被配置为执行:在完成所述目标业务容器的升级后,向所述第二控制器发送事件完成通知;
所述第二控制器还被配置为执行:根据所述事件完成通知的内容更新所述第二控制器当前状态;
所述第一控制器还被配置为执行:捕捉到所述第二控制器的状态变更,根据所述第二控制器当前状态更新所述第一控制器当前状态,根据当前自身状态,修改所述目标业务容器的升级状态。
一种容器的升级设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器。
其中所述处理器被配置为执行所述指令,以实现如上述任一项所述的容器的升级方法。
一种计算机可读存储介质,当所述计算机可读存储介质中的指令由所述容器的升级设备的处理器执行时,使得所述容器的升级设备能够执行如上述任一项所述的容器的升级方法。
本发明实施例提供的一种容器的升级方法、装置、设备和存储介质,通过引入控制器,将现有技术中需要人工执行的各项操作,转化为在系统间自动传递的指令。本发明通过采用了由控制器将业务升级所需配置文件挂载至初始化容器的配置资源中的操作方式,使得本发明相较于现有技术,在对业务容器的业务进行升级时,无需提供大量的镜像文件,提高了对容器升级的灵活性。同时,本发明利用初始化容器将升级所需文件自动拉取到目标容器组中,由目标容器组控制初始化容器和目标业务容器进行重启,从而实现对目标业务容器的自动升级,使得本发明相较于现有技术中需要人工加载升级所需文件的方式,在应用场景和方式上更为灵活。由此可见,本发明提高了对容器升级的操作灵活性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种容器的升级方法的流程图;
图2为本发明另一个可选实施例提供的一种容器的升级方法的信令图;
图3为本发明另一个实施例提供的一种容器的升级系统的框图;
图4为本发明另一个实施例提供的一种容器的升级设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种容器的升级方法,如图1所示,该方法包括:
S101、第一控制器接收业务容器升级指令,按照业务容器升级指令查找第二控制器,其中,业务容器升级指令包括:第二控制器的地址和目标业务容器的配置文件。
其中,上述第一控制器和第二控制器是基于容器集群管理系统(Kubernetes,K8S)下的控制器(Controller),用于在容器云集群上管理和运行容器,本发明对上述第一控制器和第二控制器的具体搭建方式不做过多限定和赘述。
可选的,在本发明的其他可选实施例中,上述业务容器升级指令可通过自定义资源(Custom Resource Definition,CRD)进行构建,相关领域人员可根据实际应用场景,利用自定义资源对所要执行的任务进行定义,本发明对此不做过多限定。
S102、第一控制器将配置文件挂载至初始化容器的配置资源中,其中,初始化容器配置于目标容器组中,目标容器组为存储有目标业务容器的容器组。
其中,上述初始化容器(initContainer)为云容器技术下的一种专用容器,可用于在业务容器启动之前运行,并用于存储业务容器中不存在的工具或安装脚本。本发明实施例通过引入初始化容器实现了数据变更脚本的传输,避免了现有技术中需要人工加载数据变更包的操作,提高了执行数据变更或升级的灵活性。
可选的,上述挂载是将上述配置文件以映射的方式加载至上述初始化容器中,以此来实现上述配置文件的传递,在本发明的其他可选实施例中,上述挂载方式包括但不限于数据卷(volume),具体选择何种挂载方式可根据实际应用场景自行选择,本发明对此不作过多限制。
可选的,上述配置文件中的内容包括但不限于:需要升级的源文件、目标业务容器的地址、需要升级的数据库脚本等,可根据具体应用场景自行修改,具体以实现本发明实施例中记载的功能为准,本发明对此不做过多限制。
S103、第二控制器监测到第一控制器将配置文件挂载至初始化容器的配置资源中的操作,向目标容器组发送重启指令。
可选的,在本发明一个可选实施例中,上述目标容器组(pod)中可以运行不少于一个的容器,为方便进行解释说明,本实施例在上述目标容器组中选择了一个容器作为目标业务容器,设定该目标业务容器上运行的业务要升级,在实际应用场景下,每个容器执行的业务可根据实际应用场景自行设定,本发明对此不做过多限定。
可选的,本发明提供的实施例是基于容器集群管理系统(Kubernetes,K8S),上述第二控制器的控制对象为目标容器组中的初始化容器,当第一控制器将配置文件挂载至初始化容器的配置资源中时,第二控制器将监测到初始化容器的配置资源发生变更,该变更动作将触发第二控制器,以使第二控制器向配置有上述初始化容器的目标容器组,发送重启指令。
S104、目标容器组根据重启指令,按照先后顺序重启初始化容器和目标业务容器。
S105、初始化容器根据配置文件将目标业务容器升级所需文件拉取到目标容器组中。
可选的,在本发明的一个可选实施例中,上述初化容器根据配置文件中提供的升级所需的文件地址,从预设的文件服务器中提取出来,并利用提取出来的升级所需的文件覆盖目标容器组中需要升级的业务文件。其中,上述升级所需的文件形式可以为多种形式,在本实施例中,为方便解释,上述升级所需的文件形式设定为动态链接库(.So),本发明对上述的文件的具体形式不做过多限定。本发明实施例将动态链接库作为升级的形式可以实现对业务数据中的某一条代码进行升级,使得对容器的升级更为灵活。
S106、目标容器组根据拉取到的目标业务容器升级所需文件,重启目标业务容器,从而完成对目标业务容器的升级。
可选的,上述目标容器组根据升级后的业务文件,重启目标业务容器,由于用于构成该目标业务容器的业务文件已经更新,因此重启后的目标业务容器就是经过升级后的版本。
可选的,当目标容器组中没有配置初始化容器时,第一控制器将配置文件挂载至初始化容器的配置资源中,包括:
第二控制器监测到第一控制器将配置文件挂载至初始化容器的配置资源中的操作,控制目标容器组创建初始化容器。
可选的,初始化容器根据配置文件将目标业务容器升级所需文件拉取到目标容器组中,包括:
初始化容器根据配置文件,从预设文件服务器中拉取目标业务容器升级所需文件,并利用拉取的升级所需文件,覆盖存储于目标容器组中的目标业务容器所需升级的第一脚本文件,获得升级后的目标业务容器的第二脚本文件,其中,升级所需文件是目标业务容器中需要升级的业务的升级文件。
其中,上述第一脚本文件和第二脚本文件为构成上述目标业务容器上运行的业务的脚本数据文件,上述第一脚本文件和第二脚本文件不同。
可选的,在本发明的其他可选实施例中,上述业务包括但不限于:对业务文件进行更新和对系统进行操作。本领域技术人员可根据实际应用场景自行决定业务内容,本发明不做过多限制。
可选的,目标容器组根据拉取到的目标业务容器升级所需文件,重启目标业务容器,从而完成对目标业务容器的升级,包括:
目标容器组根据第二脚本文件,重启目标业务容器。
可选的,上述方法还包括:
目标容器组完成目标业务容器的升级后,向第二控制器发送事件完成通知。
第二控制器根据事件完成通知更新第二控制器当前状态。
第一控制器捕捉到第二控制器的状态变更,根据第二控制器当前状态更新第一控制器当前状态。
第一控制器根据当前自身状态,修改目标业务容器的升级状态。
可选的,在本发明的其他可选实施例中,上述第一控制器根据当前自身状态,修改目标业务容器的升级状态,是由上述第一控制器访问上述自定义资源,并将其中对应于本次升级任务的动作自定义资源的任务状态(status),变更为升级完成或升级失败。
可选的,第二控制器当前状态包括:升级成功或升级失败。
第一控制器当前状态包括:升级成功或升级失败。
目标业务容器的升级状态包括:升级成功或升级失败。
需要说明的是,上述升级成功或升级失败,是本发明实施例为了方便描述而设置,在实际应用中,具体的状态变更形式可以根据实际应用场景进行设置,本发明对此不做过多限定。
为了方便对上述方法进行理解,特在此结合如图2所示的本发明一个可选实施例进行解释。
如图2所示,当前时刻,有一业务程序在云容器平台上运行,现要将上次发布的业务容器中的查找业务的第一动态链接库,升级到高一级版本的第二动态链接库,为方便描述,此时上述目标容器组已配置一个初始化容器。
由运维人员将上述第二动态链接库上传至预设的文件服务器,并将上述第二动态链接库在上述预设的文件服务器中的升级文件源地址、第二控制器地址、本次升级操作的任务类型和上述第一动态链接库在目标容器组中的位置构成配置文件。
运维人员利用自定义资源,对上述配置文件进行定义,获得业务容器升级指令201,并将业务容器升级指令201通过云容器平台进行发布。
上述第一控制器接收到上述业务容器升级指令201,按照业务容器升级指令201中的第二控制器地址查找第二控制器202。
第一控制器向目标容器组中配置的初始化容器的配置资源中,挂载配置文件203。
第二控制器监测到第一控制器的挂载操作204,向目标容器组发送重启指令205。
目标容器组根据重启指令205,按照先后顺序重启初始化容器和目标业务容器,进行对目标业务容器的升级操作206,完成对目标业务容器的升级。其中,在执行升级操作时,初始化容器根据配置文件中的升级文件源地址,从预设的文件服务器中拉取第二动态链接库,并利用拉取获得的第二动态链接库,覆盖之前存储于目标容器组中的第一动态链接库,待覆盖完毕后,目标容器组根据第二动态链接库的数据内容,重启目标业务容器,从而完成对由该目标业务容器运行的业务的升级。
目标容器组完成目标业务升级后,向第二控制器发送事件完成通知207。
第二控制器根据事件完成通知更新自身状态208。
第一控制器捕捉到第二控制器的状态变更,根据第二控制器当前状态更新自身状态209。
第一控制器根据当前自身状态,修改目标业务容器的升级状态210。其中,第一控制器修改目标业务容器的升级状态具体包括:第一控制器将访问云容器平台,并对自定义资源中,关于本次升级任务的日志状态,根据自身状态进行修改。
本发明通过引入控制器,将现有技术中需要人工执行的各项操作,转化为在系统间自动传递的指令。本发明通过采用了由控制器将业务升级所需配置文件挂载至初始化容器的配置资源中的操作方式,使得本发明相较于现有技术,在对业务容器的业务进行升级时,无需提供大量的镜像文件,提高了对容器升级的灵活性。同时,本发明利用初始化容器将升级所需文件自动拉取到目标容器组中,由目标容器组控制初始化容器和目标业务容器进行重启,从而实现对目标业务容器的自动升级,使得本发明相较于现有技术中需要人工加载升级所需文件的方式,在应用场景和方式上更为灵活。由此可见,本发明提高了对容器升级的操作灵活性。
与上述容器的升级方法的实施例相对应,本发明还提供了一种容器的升级装置,如图3所示,容器的升级装置包括:第一控制器301、第二控制器302、目标容器组303和初始化容器304,
第一控制器301被配置为执行:接收业务容器升级指令,按照业务容器升级指令查找第二控制器302,其中,业务容器升级指令包括:第二控制器302的地址和目标业务容器的配置文件。
第一控制器301还被配置为执行:将配置文件挂载至初始化容器304的配置资源中,其中,初始化容器304配置于目标容器组303中,目标容器组303为存储有目标业务容器的容器组。
第二控制器302被配置为执行:监测到第一控制器301将所述配置文件挂载至初始化容器304的配置资源中的操作,向目标容器组303发送重启指令。
目标容器组303被配置为执行:根据重启指令,按照先后顺序重启初始化容器304和目标业务容器。
初始化容器304被配置为执行:根据配置文件将目标业务容器升级所需文件拉取到目标容器组303中。
目标容器组303还被配置为执行:根据拉取到的目标业务容器升级所需文件,重启目标业务容器,从而完成对目标业务容器的升级。
可选的,当目标容器组303中没有配置初始化容器304时,第二控制器302还被配置为:
第二控制器302监测到第一控制器301将配置文件挂载至初始化容器304的配置资源中的操作,控制目标容器组303创建初始化容器304。
可选的,初始化容器304被具体配置为:
初始化容器304根据配置文件,从预设文件服务器中拉取目标业务容器升级所需文件,并利用拉取的升级所需文件,覆盖配置于目标容器组303中的目标业务容器所需升级的第一脚本文件,获得升级后的目标业务容器的第二脚本文件,其中,升级所需文件是目标业务容器中需要升级的业务的升级文件。
可选的,目标容器组303被具体配置为:
目标容器组303根据第二脚本文件,重启目标业务容器。
可选的,上述容器的升级装置还被配置为执行:
目标容器组303在完成目标业务容器的升级后,向第二控制器302发送事件完成通知;
第二控制器302还被配置为执行:根据事件完成通知的内容更新第二控制器302当前状态;
第一控制器301还被配置为执行:捕捉到第二控制器302的状态变更,根据第二控制器302当前状态更新第一控制器301当前状态。并根据当前自身状态,修改目标业务容器的升级状态。
可选的,第二控制器302当前状态被设置为:升级成功或升级失败。
第一控制器301当前状态被设置为:升级成功或升级失败。
目标业务容器的升级状态被设置为:升级成功或升级失败。
如图4所示,本发明实施例还提供了一种容器的升级设备,包括:
处理器401;
用于存储处理器401可执行指令的存储器402。
其中处理器401被配置为执行指令,以实现如上述任一项的容器的升级方法。
本发明实施例还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由上述容器的升级设备的处理器401执行时,使得上述容器的升级设备能够执行如上述任一项的容器的升级方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种容器的升级方法,其特征在于,所述方法包括:
第一控制器接收业务容器升级指令,按照所述业务容器升级指令查找第二控制器,其中,所述业务容器升级指令包括:所述第二控制器的地址和目标业务容器的配置文件;
所述第一控制器将所述配置文件挂载至初始化容器的配置资源中,其中,所述初始化容器配置于目标容器组中,所述目标容器组为存储有所述目标业务容器的容器组;所述初始化容器用于存储业务容器中不存在的工具或者安装脚本;
所述第二控制器监测到所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中的操作,向所述目标容器组发送重启指令;
所述目标容器组根据所述重启指令,按照先后顺序重启所述初始化容器和所述目标业务容器;
所述初始化容器根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中;
所述目标容器组根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级。
2.根据权利要求1所述的方法,其特征在于,当所述目标容器组中没有配置所述初始化容器时,所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中,包括:
所述第二控制器监测到所述第一控制器将所述配置文件挂载至初始化容器的配置资源中的操作,控制所述目标容器组创建所述初始化容器。
3.根据权利要求1所述的方法,其特征在于,所述初始化容器根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中,包括:
所述初始化容器根据所述配置文件,从预设文件服务器中拉取所述目标业务容器升级所需文件,并利用所述拉取的升级所需文件,覆盖配置于所述目标容器组中的所述目标业务容器所需升级的第一脚本文件,获得升级后的所述目标业务容器的第二脚本文件,其中,所述升级所需文件是所述目标业务容器中需要升级的业务的升级文件。
4.根据权利要求3所述的方法,其特征在于,所述目标容器组根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级,包括:
所述目标容器组根据所述第二脚本文件,重启所述目标业务容器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述目标容器组完成所述目标业务容器的升级后,向所述第二控制器发送事件完成通知;
所述第二控制器根据所述事件完成通知更新所述第二控制器当前状态;
所述第一控制器捕捉到所述第二控制器的状态变更,根据所述第二控制器当前状态更新所述第一控制器当前状态;
所述第一控制器根据当前自身状态,修改所述目标业务容器的升级状态。
6.根据权利要求5所述的方法,其特征在于,
所述第二控制器当前状态包括:升级成功或升级失败;
所述第一控制器当前状态包括:升级成功或升级失败;
所述目标业务容器的升级状态包括:升级成功或升级失败。
7.一种容器的升级装置,其特征在于,所述装置包括:第一控制器、第二控制器、目标容器组和初始化容器,
所述第一控制器被配置为执行:接收业务容器升级指令,按照所述业务容器升级指令查找所述第二控制器,其中,所述业务容器升级指令包括:所述第二控制器的地址和目标业务容器的配置文件;
所述第一控制器还被配置为执行:将所述配置文件挂载至所述初始化容器的配置资源中,其中,所述初始化容器配置于所述目标容器组中,所述目标容器组为存储有所述目标业务容器的容器组;所述初始化容器用于存储业务容器中不存在的工具或者安装脚本;
所述第二控制器被配置为执行:监测到所述第一控制器将所述配置文件挂载至所述初始化容器的配置资源中的操作,向所述目标容器组发送重启指令;
所述目标容器组被配置为执行:根据所述重启指令,按照先后顺序重启所述初始化容器和所述目标业务容器;
所述初始化容器被配置为执行:根据所述配置文件将所述目标业务容器升级所需文件拉取到所述目标容器组中;
所述目标容器组还被配置为执行:根据拉取到的所述目标业务容器升级所需文件,重启所述目标业务容器,从而完成对所述目标业务容器的升级。
8.根据权利要求7所述的装置,其特征在于,
所述目标容器组还被配置为执行:在完成所述目标业务容器的升级后,向所述第二控制器发送事件完成通知;
所述第二控制器还被配置为执行:根据所述事件完成通知的内容更新所述第二控制器当前状态;
所述第一控制器还被配置为执行:捕捉到所述第二控制器的状态变更,根据所述第二控制器当前状态更新所述第一控制器当前状态,根据当前自身状态,修改所述目标业务容器的升级状态。
9.一种容器的升级设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的容器的升级方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由容器的升级设备的处理器执行时,使得所述容器的升级设备能够执行如权利要求1至6中任一项所述的容器的升级方法。
CN202111000862.0A 2021-08-30 2021-08-30 一种容器的升级方法、装置、设备和存储介质 Active CN113448609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111000862.0A CN113448609B (zh) 2021-08-30 2021-08-30 一种容器的升级方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111000862.0A CN113448609B (zh) 2021-08-30 2021-08-30 一种容器的升级方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113448609A CN113448609A (zh) 2021-09-28
CN113448609B true CN113448609B (zh) 2021-11-19

Family

ID=77818910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111000862.0A Active CN113448609B (zh) 2021-08-30 2021-08-30 一种容器的升级方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113448609B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667298A (zh) * 2022-08-31 2024-03-08 成都华为技术有限公司 启动容器的方法、装置、计算节点、共享存储设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402800B (zh) * 2016-03-18 2020-11-13 阿里巴巴集团控股有限公司 一种更新容器守护进程的方法和设备
US10042628B2 (en) * 2016-06-29 2018-08-07 Vmware, Inc. Automated upgrade system for a service-based distributed computer system
CN107515776B (zh) * 2017-07-18 2021-04-09 深信服科技股份有限公司 业务不间断升级方法、待升级节点和可读存储介质
CN108804129B (zh) * 2018-05-31 2022-04-29 新华三技术有限公司 一种软件升级方法及装置
CN110727653B (zh) * 2019-10-12 2023-06-16 广州华多网络科技有限公司 多项目负载均衡方法和装置
CN112434008A (zh) * 2020-11-18 2021-03-02 星环信息科技(上海)股份有限公司 分布式数据库升级方法、设备及介质

Also Published As

Publication number Publication date
CN113448609A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
CN107608689B (zh) 客户端上应用程序的更新方法、装置及电子设备
CN108696372B (zh) 一种保持系统配置一致性的方法和系统
CN110196731B (zh) 一种运维系统、方法及存储介质
US11068252B2 (en) System and method for dynamically determining applicable updates
CN110162334B (zh) 一种代码管理方法、装置及存储介质
US11132191B2 (en) Software and firmware updates of computing systems
US11740886B2 (en) Algorithm update method and apparatus
CN111464603B (zh) 一种服务器扩容方法及扩容系统
CN113448609B (zh) 一种容器的升级方法、装置、设备和存储介质
CN117112122A (zh) 一种集群部署方法和装置
EP4162649B1 (en) Stable references for network function life cycle management automation
CN111897565A (zh) 基于物联网的数据处理方法、装置和设备
CN115357198B (zh) 存储卷的挂载方法及装置、存储介质及电子设备
CN105338058A (zh) 一种应用更新的方法及装置
CN114880000A (zh) 工控机远程运维方法、装置、电子设备及存储介质
CN107968794B (zh) 一种虚拟光驱挂载方法及系统、服务器、终端
CN114489711A (zh) 终端升级方法、装置及存储介质
CN113687915B (zh) 容器运行方法、装置、设备及存储介质
CN115604101B (zh) 系统管理方法及相关设备
CN114500532A (zh) 可弹性伸缩集群服务中的应用部署方法及系统
CN115220854A (zh) 有状态应用控制器的配置方法、装置、设备和介质
CN116938711A (zh) 固件升级方法、装置、电子设备及存储介质
CN114327752A (zh) 一种微服务配置方法、装置及设备
CN114116127A (zh) 基于k8s自动化管理虚机镜像的方法及系统

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