CN111880816A - Kubernetes工作负载升级方法、装置及设备 - Google Patents
Kubernetes工作负载升级方法、装置及设备 Download PDFInfo
- Publication number
- CN111880816A CN111880816A CN202010725615.6A CN202010725615A CN111880816A CN 111880816 A CN111880816 A CN 111880816A CN 202010725615 A CN202010725615 A CN 202010725615A CN 111880816 A CN111880816 A CN 111880816A
- Authority
- CN
- China
- Prior art keywords
- information
- container
- workload
- upgrade
- upgrading
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 claims abstract description 13
- 238000005096 rolling process Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011065 in-situ storage Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种Kubernetes工作负载升级方法、装置、设备及计算机可读存储介质,方法包括:接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载;根据工作负载中的pod信息创建pod,并利用pod创建容器;接收升级信息,当通过升级信息确定是对选定容器进行的升级,且通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行;根据升级信息及容器信息创建新容器且启动新容器。本申请公开的上述技术方案,通过原地升级来仅对选定容器进行升级,此过程不会对其他容器的运行造成影响,且无需重启整个pod,因此,可以避免发生业务中断,并可以减少升级所耗费的时间。
Description
技术领域
本申请涉及Kubernetes集群技术领域,更具体地说,涉及一种Kubernetes工作负载升级方法、装置、设备及计算机可读存储介质。
背景技术
Kubernetes,简称K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用。
目前,主要采用RollingUpdate(滚动更新)、Recreate(替换升级)等方式来对Kubernetes中的工作负载进行升级,但是,采用上述升级方式进行升级需要重新创建工作负载中所有的pod(实例,其是Kubernetes创建或部署的最小/最简单的基本单位),此时,pod中所有的容器都需要进行重启,而这则会导致业务发生中断,且pod的创建和重启可能会导致pod被调度到其他节点上,而这就需要重新创建或挂载网络、存储、配置等资源,且整个镜像都需要重新进行拉取,以进行容器创建和重启,因此,耗费的时间则比较长。
综上所述,如何减少Kubernetes工作负载升级所耗费的时间,并尽量避免在升级时发生业务中断,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种Kubernetes工作负载升级方法、装置、设备及计算机可读存储介质,用于减少Kubernetes工作负载升级所耗费的时间,并尽量避免在升级时发生业务中断。
为了实现上述目的,本申请提供如下技术方案:
一种Kubernetes工作负载升级方法,包括:
接收创建信息及设定的工作负载类型,根据所述创建信息创建与所述工作负载类型对应的工作负载;
根据所述工作负载中的pod信息创建pod,并利用所述pod创建容器;
接收升级信息,当通过所述升级信息确定是对选定容器进行的升级,且通过所述创建信息确定为原地升级时,从所述选定容器中获取容器信息,并控制所述选定容器停止运行;
根据所述升级信息及所述容器信息创建新容器且启动所述新容器,以利用所述新容器实现对所述选定容器的升级。
优选的,通过所述升级信息确定是对选定容器的升级,包括:
判断所述升级信息中是否包含所述选定容器的修改后镜像和/或修改后注解,若是,则确定是对所述选定容器进行的升级。
优选的,当所述升级信息中不包含所述选定容器的修改后镜像和修改后注解时,则还包括:
确定不是对所述选定容器进行的升级,并发出不对所述选定容器进行原地升级的提示。
优选的,当通过所述创建信息确定为滚动升级或替换升级时,则还包括:
采用所述滚动升级或所述替换升级的方式进行升级。
优选的,根据所述工作负载中的pod信息创建pod,包括:
根据所述pod信息通过创建事件创建所述pod。
优选的,从所述选定容器中获取容器信息,包括:
通过升级事件从所述选定容器中获取容器信息。
一种Kubernetes工作负载升级装置,包括:
第一接收模块,用于接收创建信息及设定的工作负载类型,根据所述创建信息创建与所述工作负载类型对应的工作负载;
创建模块,用于根据所述工作负载中的pod信息创建pod,并利用所述pod创建容器;
第二接收模块,用于接收升级信息,当通过所述升级信息确定是对选定容器进行的升级,且通过所述创建信息确定为原地升级时,从所述选定容器中获取容器信息,并控制所述选定容器停止运行;
第一升级模块,用于根据所述升级信息及所述容器信息创建新容器且启动所述新容器,以利用所述新容器实现对所述选定容器的升级。
优选的,所述第二接收模块包括:
判断单元,用于判断所述升级信息中是否包含所述选定容器的修改后镜像和/或修改后注解,若是,则确定是对所述选定容器进行的升级。
一种Kubernetes工作负载升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的Kubernetes工作负载升级方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的Kubernetes工作负载升级方法的步骤。
本申请提供了一种Kubernetes工作负载升级方法、装置、设备及计算机可读存储介质,其中,该方法包括:接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载;根据工作负载中的pod信息创建pod,并利用pod创建容器;接收升级信息,当通过升级信息确定是对选定容器进行的升级,且通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行;根据升级信息及容器信息创建新容器且启动新容器,以利用新容器实现对选定容器的升级。
本申请公开的上述技术方案,根据接收到的创建信息创建与设定的工作负载类型对应的工作负载,并根据所创建的工作负载中的pod信息创建pod,且创建容器,以使得所创建的工作负载可以支持原地升级,之后,当通过接收到的升级信息确定是对选定容器进行的升级且通过创建信息确定为原地升级时,可以从选定容器中获取容器信息,并通过升级信息及容器信息创建且启动新容器,以利用新容器实现对Kubernetes工作负载中选定容器的原地升级,从而实现对Kubernetes工作负载的升级,由于整个原地升级过程只是对选定容器进行升级操作,而并不对工作负载中其他的容器造成影响,因此,则可以最大程度地保证业务的连续性,以尽量避免发生业务中断,且由于上述升级过程无需重启整个pod,且不需要重新拉取所有容器的镜像,因此,则可以减少升级所耗费的时间,提高升级效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种Kubernetes工作负载升级方法的流程图;
图2为本申请实施例提供的另一种Kubernetes工作负载升级方法的流程图;
图3为本申请实施例提供的一种Kubernetes工作负载升级装置的结构示意图;
图4为本申请实施例提供的一种Kubernetes工作负载升级设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请实施例提供的一种Kubernetes工作负载升级方法的流程图,本申请实施例提供的一种Kubernetes工作负载升级方法,可以包括:
S11:接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载。
在对Kubernetes工作负载进行升级时,用户可以基于Kubernetes的API server自定义工作负载类型,此时,则可以基于Kubernetes的API server接收用户设定的工作负载,这里提及的设定的工作负载类型具体可以包括自定义的无状态工作负载和有状态工作负载这两类,其中,自定义的无状态工作负载可以表示为InspurDeployment(Deployment为无状态工作负载,而InspurDeployment即表示自定义的无状态工作负载),自定义的有状态工作负载可以表示为InspurStatefulSet(StatefulSet为有状态工作负载,而InspurDeployment即表示自定义的有状态工作负载)。需要说明的是,自定义的这些工作负载类型区别于Kubernetes原有的工作负载类型,其中的一个区别即为原有的工作负载类型仅支持滚动升级和替换升级,而自定义的这些工作负载类型可以支持原地升级、滚动升级和替换升级。
在接收设定的工作负载类型的同时,可以接收用户在容器云平台填写的创建信息,其中,创建信息中可以包括工作负载的名称、实例数、镜像、用户所选择的升级策略(可供选择的升级策略包括原地升级、滚动升级及替换升级,其中,默认为原地升级)等。
在接收到创建信息及设定的工作负载类型之后,可以通过InspurDeployment、InspurStatefulSet CRD(Custom Resource Definition,是Kubernetes提供的开放的扩展api方式)根据创建信息来创建与设定的工作负载类型对应的工作负载,具体而言,即可以创建与设定的工作负载类型对应的无状态工作负载(InspurDeployment)和有状态工作负载(InspurDeployment),并可以将创建的无状态工作负载和有状态工作负载部署在Kubernetes集群中。需要说明的是,可以将自定义无状态工作负载、有状态工作负载做成x86、mips、arm、ppc等架构国产化镜像,部署在不同架构的Kubernetes集群中。
S12:根据工作负载中的pod信息创建pod,并利用pod创建容器。
在创建完与设定的工作负载类型对应的工作负载之后,可以通过事件从所创建的工作负载中获取pod信息,并可以利用所获取到的pod信息来创建pod,而且可以利用所创建的pod来创建容器,以使得所创建的工作负载所包含的pod中的容器可以对外提供业务。
在创建完pod以及容器之后,可以实时或定时监控pod的状态以及pod中容器的状态,并对所监控的pod的状态及容器的状态进行显示,以便于用户可以确定pod及容器是否可用。
S13:接收升级信息,当通过升级信息确定是对选定容器进行的升级,且通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行。
当需要对Kubernetes工作负载进行升级时,可以接收用户所发送的升级信息,当通过升级信息确定当前对工作负载所要进行的升级是对选定容器进行的升级时,且当确定创建信息中的升级策略为原地升级时,即当通过创建信息确定为原地升级时(即用户选择原地升级方式进行升级时),可以从选定容器中获取容器信息,具体地,可以根据升级信息中所包含的容器的编号或名称确定pod中的选定容器,并可以从选定容器中获取容器信息,其中,这里提及的容器信息可以包括存储、网络、配置。
在从选定容器中获取容器信息之后,可以控制选定容器停止运行,以便于实现对选定容器的升级。
S14:根据升级信息及容器信息创建新容器且启动新容器,以利用新容器实现对选定容器的升级。
在控制选定容器停止运行的同时,可以根据升级信息中包含的与选定容器的升级相关的内容及容器信息来创建新容器,以使得新容器可以继承待升级容器的网络。在创建完新容器之后,可以存储并启动新容器,以利用新容器替换选定容器而完成对pod中选定容器的升级,从而实现对Kubernetes工作负载的升级。其中,通过根据升级信息及容器信息来创建新容器可以实现在新容器创建时只在选定容器所在节点上拉取镜像,即只需要拉取增量修改部分的镜像即可,而无需拉取整个镜像,因此,则可以减少服务器的压力,并提高工作负载升级速率。
由于上述过程使得工作负载可以进行原地升级,且只需对选定容器进行停运并升级,而并不需要使pod中不需要进行升级的容器停止运行,也即对选定容器的升级并不会对不需要升级的容器造成影响,相应地,其上所运行的业务也并不会受到影响,因此,采用上述方式进行升级可以最大程度地保证业务的连续性,避免发生业务的中断,从而可以尽量避免给用户带来影响。另外,由于上述过程不需要重启整个pod,相应地,则不需要使pod调度到其他节点上,因此,则不需要重新创建或挂载网络、存储、配置等资源,且由于在对选定容器进行升级时仅需要根据选定容器的容器信息及升级信息来创建新容器,并利用新容器实现对待升级容器的升级即可,也即并不需要重新拉取所有容器的镜像,因此,则可以减少升级所耗费的时间,提高升级效率。
本申请公开的上述技术方案,根据接收到的创建信息创建与设定的工作负载类型对应的工作负载,并根据所创建的工作负载中的pod信息创建pod,且创建容器,以使得所创建的工作负载可以支持原地升级,之后,当通过接收到的升级信息确定是对选定容器进行的升级且通过创建信息确定为原地升级时,可以从选定容器中获取容器信息,并通过升级信息及容器信息创建且启动新容器,以利用新容器实现对Kubernetes工作负载中选定容器的原地升级,从而实现对Kubernetes工作负载的升级,由于整个原地升级过程只是对选定容器进行升级操作,而并不对工作负载中其他的容器造成影响,因此,则可以最大程度地保证业务的连续性,以尽量避免发生业务中断,且由于上述升级过程无需重启整个pod,且不需要重新拉取所有容器的镜像,因此,则可以减少升级所耗费的时间,提高升级效率。
本申请实施例提供的一种Kubernetes工作负载升级方法,通过升级信息确定是对选定容器的升级,可以包括:
判断升级信息中是否包含选定容器的修改后镜像和/或修改后注解,若是,则确定是对选定容器进行的升级。
在通过升级信息确定是对选定容器的升级时,具体可以在接收并保存用户发送的升级信息时,判断升级信息中是否包含有选定容器的修改后镜像和/或修改后注解,若升级信息中包含有选定容器的修改后镜像和/或修改后注解,则确定是对选定容器进行的升级,并可以对升级信息进行保存,以便于后续可以根据升级信息对工作负载中的选定容器进行原地升级。
本申请实施例提供的一种Kubernetes工作负载升级方法,当升级信息中不包含选定容器的修改后镜像和修改后注解时,则还可以包括:
确定不是对选定容器进行的升级,并发出不对选定容器进行原地升级的提示。
若在保存用户发送的升级信息时判断出升级信息中不包含选定容器的修改后镜像和修改后注解,则可以确定当前并非是要对选定容器进行升级,此时,可以不对用户发送的升级信息进行保存,并可以发出不对选定容器进行原地升级的提示,以便于用户可以及时获知工作负载无法进行原地升级,从而便于用户及时采取应对措施(例如:仅对容器的镜像或注解进行修改或重新选择升级策略等),以便于后续实现对工作负载的升级。
本申请实施例提供的一种Kubernetes工作负载升级方法,当通过创建信息确定为滚动升级或替换升级时,则还可以包括:
采用滚动升级或替换升级的方式进行升级。
当通过InspurDeployment、InspurStatefulSet CRD获取用户所发送的创建信息中所包含的升级策略为滚动升级或替换升级时,则可以按照Kubernetes原有的滚动升级方式或替换升级的方式来对工作负载进行升级,即可以按照Kubernetes中原有的无状态工作负载(Deployment)及有状态工作负载(StatefulSet)中的滚动升级方式或替换升级方式进行升级,具体地,当创建信息中包含的升级策略为滚动升级时,则采用滚动升级的方式来升级工作负载,当创建信息中包含的升级策略为替换升级时,则采用替换升级的方式来升级工作负载。
本申请实施例提供的一种Kubernetes工作负载升级方法,根据工作负载中的pod信息创建pod,可以包括:
根据pod信息通过创建事件创建pod。
在创建pod时,具体可以根据工作负载中的pod信息通过创建事件来进行pod的创建。其中,创建事件具体可以通过InspurDeployment、InspurStatefulSet CRD来进行创建。
本申请实施例提供的一种Kubernetes工作负载升级方法,从选定容器中获取容器信息,可以包括:
通过升级事件从选定容器中获取容器信息。
在从选定容器中获取容器信息时,可以通过升级事件来从选定容器中获取容器信息,也即可以通过升级事件来对容器进行升级。其中,升级事件具体可以通过InspurDeployment、InspurStatefulSet CRD来进行创建。
具体可以参见图2,其示出了本申请实施例提供的另一种Kubernetes工作负载升级方法的流程图,其中,流程图的上半部分内容对应工作负载的创建,流程图的下半部分内容对应工作负载的滚动升级/替换升级、原地升级流程,相关部分的说明可以参见上述对应部分的详细说明,在此不再赘述。
本申请实施例还提供了一种Kubernetes工作负载升级装置,参见图3,其示出了本申请实施例提供的一种Kubernetes工作负载升级装置的结构示意图,可以包括:
第一接收模块31,用于接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载;
创建模块32,用于根据工作负载中的pod信息创建pod,并利用pod创建容器;
第二接收模块33,用于接收升级信息,当通过升级信息确定是对选定容器进行的升级,通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行;
第一升级模块34,用于根据升级信息及容器信息创建新容器且启动新容器,以利用新容器实现对选定容器的升级。
本申请实施例提供的一种Kubernetes工作负载升级装置,第二接收模块33可以包括:
判断单元,用于判断升级信息中是否包含选定容器的修改后镜像和/或修改后注解,若是,则确定是对选定容器进行的升级。
本申请实施例提供的一种Kubernetes工作负载升级装置,第二接收模块33还可以包括:
提示单元,用于当升级信息中不包含选定容器的修改后镜像和修改后注解时,则确定不是对选定容器进行的升级,并发出不对选定容器进行原地升级的提示。
本申请实施例提供的一种Kubernetes工作负载升级装置,还包括:
第二升级模块,用于当通过创建信息确定为滚动升级或替换升级时,则采用滚动升级或替换升级的方式进行升级。
本申请实施例提供的一种Kubernetes工作负载升级装置,创建模块32可以包括:
创建单元,用于根据pod信息通过创建事件创建pod。
本申请实施例提供的一种Kubernetes工作负载升级装置,第二接收模块33可以包括:
确定单元,用于通过升级事件从选定容器中获取容器信息。
本申请实施例还提供了一种Kubernetes工作负载升级设备,参见图4,其示出了本申请实施例提供的一种Kubernetes工作负载升级设备的结构示意图,可以包括:
存储器41,用于存储计算机程序;
处理器42,用于执行存储器41存储的计算机程序时可实现如下步骤:
接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载;根据工作负载中的pod信息创建pod,并利用pod创建容器;接收升级信息,当通过升级信息确定是对选定容器进行的升级,且通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行;根据升级信息及容器信息创建新容器且启动新容器,以利用新容器实现对选定容器的升级。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收创建信息及设定的工作负载类型,根据创建信息创建与工作负载类型对应的工作负载;根据工作负载中的pod信息创建pod,并利用pod创建容器;接收升级信息,当通过升级信息确定是对选定容器进行的升级,且通过创建信息确定为原地升级时,从选定容器中获取容器信息,并控制选定容器停止运行;根据升级信息及容器信息创建新容器且启动新容器,以利用新容器实现对选定容器的升级。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种Kubernetes工作负载升级装置、设备及计算机可读存储介质中相关部分的说明可以参见本申请实施例提供的Kubernetes工作负载升级方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种Kubernetes工作负载升级方法,其特征在于,包括:
接收创建信息及设定的工作负载类型,根据所述创建信息创建与所述工作负载类型对应的工作负载;
根据所述工作负载中的pod信息创建pod,并利用所述pod创建容器;
接收升级信息,当通过所述升级信息确定是对选定容器进行的升级,且通过所述创建信息确定为原地升级时,从所述选定容器中获取容器信息,并控制所述选定容器停止运行;
根据所述升级信息及所述容器信息创建新容器且启动所述新容器,以利用所述新容器实现对所述选定容器的升级。
2.根据权利要求1所述的Kubernetes工作负载升级方法,其特征在于,通过所述升级信息确定是对选定容器的升级,包括:
判断所述升级信息中是否包含所述选定容器的修改后镜像和/或修改后注解,若是,则确定是对所述选定容器进行的升级。
3.根据权利要求2所述的Kubernetes工作负载升级方法,其特征在于,当所述升级信息中不包含所述选定容器的修改后镜像和修改后注解时,则还包括:
确定不是对所述选定容器进行的升级,并发出不对所述选定容器进行原地升级的提示。
4.根据权利要求1所述的Kubernetes工作负载升级方法,其特征在于,当通过所述创建信息确定为滚动升级或替换升级时,则还包括:
采用所述滚动升级或所述替换升级的方式进行升级。
5.根据权利要求1所述的Kubernetes工作负载升级方法,其特征在于,根据所述工作负载中的pod信息创建pod,包括:
根据所述pod信息通过创建事件创建所述pod。
6.根据权利要求1所述的Kubernetes工作负载升级方法,其特征在于,从所述选定容器中获取容器信息,包括:
通过升级事件从所述选定容器中获取容器信息。
7.一种Kubernetes工作负载升级装置,其特征在于,包括:
第一接收模块,用于接收创建信息及设定的工作负载类型,根据所述创建信息创建与所述工作负载类型对应的工作负载;
创建模块,用于根据所述工作负载中的pod信息创建pod,并利用所述pod创建容器;
第二接收模块,用于接收升级信息,当通过所述升级信息确定是对选定容器进行的升级,且通过所述创建信息确定为原地升级时,从所述选定容器中获取容器信息,并控制所述选定容器停止运行;
第一升级模块,用于根据所述升级信息及所述容器信息创建新容器且启动所述新容器,以利用所述新容器实现对所述选定容器的升级。
8.根据权利要求7所述的Kubernetes工作负载升级装置,其特征在于,所述第二接收模块包括:
判断单元,用于判断所述升级信息中是否包含所述选定容器的修改后镜像和/或修改后注解,若是,则确定是对所述选定容器进行的升级。
9.一种Kubernetes工作负载升级设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的Kubernetes工作负载升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的Kubernetes工作负载升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725615.6A CN111880816A (zh) | 2020-07-24 | 2020-07-24 | Kubernetes工作负载升级方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725615.6A CN111880816A (zh) | 2020-07-24 | 2020-07-24 | Kubernetes工作负载升级方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111880816A true CN111880816A (zh) | 2020-11-03 |
Family
ID=73202078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010725615.6A Pending CN111880816A (zh) | 2020-07-24 | 2020-07-24 | Kubernetes工作负载升级方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880816A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596762A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 一种滚动升级方法及装置 |
CN113590146A (zh) * | 2021-06-04 | 2021-11-02 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN114756261A (zh) * | 2022-03-23 | 2022-07-15 | 广域铭岛数字科技有限公司 | 一种容器集群的升级方法、系统、电子设备及介质 |
CN116893834A (zh) * | 2023-09-11 | 2023-10-17 | 中移(苏州)软件技术有限公司 | 负载更新方法、装置、系统、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN109491859A (zh) * | 2018-10-16 | 2019-03-19 | 华南理工大学 | 针对Kubernetes集群中容器日志的收集方法 |
CN111258609A (zh) * | 2020-01-19 | 2020-06-09 | 北京百度网讯科技有限公司 | Kubernetes集群的升级方法、装置、电子设备和介质 |
CN111324361A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团北京有限公司 | 一种应用升级方法及设备 |
-
2020
- 2020-07-24 CN CN202010725615.6A patent/CN111880816A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN109491859A (zh) * | 2018-10-16 | 2019-03-19 | 华南理工大学 | 针对Kubernetes集群中容器日志的收集方法 |
CN111324361A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团北京有限公司 | 一种应用升级方法及设备 |
CN111258609A (zh) * | 2020-01-19 | 2020-06-09 | 北京百度网讯科技有限公司 | Kubernetes集群的升级方法、装置、电子设备和介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596762A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 一种滚动升级方法及装置 |
CN113590146A (zh) * | 2021-06-04 | 2021-11-02 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN113590146B (zh) * | 2021-06-04 | 2023-10-27 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN114756261A (zh) * | 2022-03-23 | 2022-07-15 | 广域铭岛数字科技有限公司 | 一种容器集群的升级方法、系统、电子设备及介质 |
CN114756261B (zh) * | 2022-03-23 | 2023-04-18 | 广域铭岛数字科技有限公司 | 一种容器集群的升级方法、系统、电子设备及介质 |
CN116893834A (zh) * | 2023-09-11 | 2023-10-17 | 中移(苏州)软件技术有限公司 | 负载更新方法、装置、系统、电子设备及可读存储介质 |
CN116893834B (zh) * | 2023-09-11 | 2023-12-12 | 中移(苏州)软件技术有限公司 | 负载更新方法、装置、系统、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880816A (zh) | Kubernetes工作负载升级方法、装置及设备 | |
CN110768833B (zh) | 基于kubernetes的应用编排部署方法及装置 | |
US9703542B2 (en) | Preinstalled application management method for mobile terminal and mobile terminal | |
US20170085419A1 (en) | System and method for deploying an application | |
US8863137B2 (en) | Systems and methods for automated provisioning of managed computing resources | |
CN105681060B (zh) | 一种虚拟化网络功能管理升级方法、装置及服务器 | |
TWI438684B (zh) | 在分散式系統中漸進地實施宣告模型之方法及電腦程式儲存產品 | |
US8316224B2 (en) | Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system | |
KR20110030447A (ko) | 가상 머신 및 애플리케이션 수명들의 동기화 | |
US20140181816A1 (en) | Methods and apparatus to manage virtual machines | |
US20120042308A1 (en) | Method, system, terminal and device management server for installing software components | |
JP2009230398A (ja) | ソフトウェア更新支援装置およびソフトウェア更新支援プログラム | |
US11755301B2 (en) | Deployment of cloud infrastructures using a cloud management platform | |
US11431563B1 (en) | Intelligent management of cloud infrastructures using a cloud management platform | |
CN111427595B (zh) | 一种客户端升级方法、装置及系统 | |
JP2005242691A (ja) | プログラムダウンロード及び切替え方法及びその装置 | |
JP2001356912A (ja) | ソフトウェアのインストール/アップデート/アンインストールシステム | |
CN109144523A (zh) | 软件部署管理方法及服务器、管理客户端、普通客户端 | |
CN112035123A (zh) | 一种基于kubernetes平台实现无服务器的方法 | |
CN113741923A (zh) | 一种应用更新方法、装置、设备及介质 | |
CN114675902B (zh) | 基于嵌入式设备的软件版本的管理方法与管理装置 | |
US9348543B2 (en) | Network system, distribution system, control method, and storage medium for managing firmware | |
CN113448609B (zh) | 一种容器的升级方法、装置、设备和存储介质 | |
CN100484038C (zh) | 网元版本切换方法及装置 | |
CN111858234A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201103 |