CN117950690A - 容器组升级方法、装置、设备、存储介质和程序产品 - Google Patents
容器组升级方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN117950690A CN117950690A CN202311764399.6A CN202311764399A CN117950690A CN 117950690 A CN117950690 A CN 117950690A CN 202311764399 A CN202311764399 A CN 202311764399A CN 117950690 A CN117950690 A CN 117950690A
- Authority
- CN
- China
- Prior art keywords
- container group
- old
- new
- service
- data traffic
- 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 54
- 238000004064 recycling Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 34
- 241001522296 Erithacus rubecula Species 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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
技术领域
本申请涉及云计算技术领域,特别是涉及一种容器组升级方法、装置、设备、存储介质和程序产品。
背景技术
随着云计算的飞速发展,产生了容器技术,容器技术能够将应用运行其中并与外界隔离,而k8s(Kubernetes,容器编排系统)可以实现容器的部署,成为了容器编排、容器管理的主要框架。
但是,k8s并不直接运行容器,而是将一个或多个容器封装在一个容器组中,当k8s运行容器组执行某一任务时,通过service服务中指向该容器组的端点,所将任务的相应数据流量转发至容器组中执行。容器组是k8s中的最小调度单元,在运行一段时间后可以进行升级,传统的容器组升级方法,通常是先创建针对于旧容器组更新的新容器组,当新容器组准备就绪后,在service服务中创建与新容器组关联的端点,使得数据流量通过service服务中的端点均衡分配至旧容器组和新容器组,同时,删除旧容器组,再删除service服务中的旧端点。
但是,传统的容器组升级方法存在数据传输不可靠的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据传输可靠性的容器组升级方法、装置、设备、存储介质和程序产品。
第一方面,本申请提供了一种容器组升级方法,包括:
在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组;新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
对旧服务和旧容器组进行回收处理。
上述实施例中,通过流量控制层将数据流量全部切换至升级后的新服务,由新服务将数据流量全部转发至升级后的新容器组中,则待升级的旧容器组对应的旧服务不再接收任何数据流量,此时,再对旧容器组与其对应的旧服务进行回收处理,数据流量就不会错误发送至已删除的旧容器组,避免了传统技术中由于先删除旧容器组而未删除旧容器组对应的旧服务,数据流量仍旧会通过旧服务到但无法到达旧容器组的,导致数据流量传输错误的问题,因此,本申请实施例所提供的容器组升级方法、装置、设备、存储介质和程序产品,可以提高数据传输的可靠性。另外,本申请实施例中提供了一种新的架构,即服务与容器组一一对应,新增流量控制层对分配至服务的数据流量进行控制,从而控制发送至容器组的数据流量,而基于该架构对容器组升级时,仅需运行与容器组相关的流量控制层,即可通过流量控制层禁止向待升级的旧容器组发送数据流量,无需对服务进行任何修改。
在其中一个实施例中,对旧服务和旧容器组进行回收处理,包括:
检测旧容器组中的任务运行情况;
在旧容器组中的任务全部执行完成后,删除旧服务和旧容器组。
上述实施例中,先检测旧容器组的任务运行情况,在旧容器组任务全部完成的情况下再删除旧服务和旧容器组,避免了旧容器组还未执行完任务就被删除的情况发生,提高了任务执行的可靠性。
在其中一个实施例中,方法还包括:
获取升级指令;升级指令中携带旧容器组的容器组标识以及创建参数;
根据创建参数创建新容器组以及新服务;新服务中包括新端点。
上述实施例中,创建新容器组和新容器组对应的新服务,使得容器组和服务一一对应,基于这样新的逻辑结构在对旧的旧容器进行回收时,由于流量控制层已经禁止向待升级的旧容器组对应的服务发送数据流量,旧容器组对应的旧服务已经不再接收任何数据流量了,此时,无论何时删除旧容器组、旧容器组对应的旧服务以及旧容器组对应的旧端点都不会出现数据传输错误的的问题,提高了数据传输的可靠性。
在其中一个实施例中,方法还包括:
检测新容器组的状态;
在新容器组的状态正常的情况下,通过流量控制层根据流量控制规则将数据流量分配给新服务和/或旧服务。
上述实施例中,先检测新容器组的状态,在新容器组的状态正常的情况下,才会控制流量控制层向新服务分配数据流量,确保了升级后的新容器组为能够正常处理数据流量的容器组,保证了数据处理的可靠性。
在其中一个实施例中,在新容器组的状态正常的情况下,通过流量控制层根据流量控制规则将数据流量分配给新服务和/或旧服务,包括:
在新容器组的状态正常的情况下,将新容器组的容器组标识和新服务的服务标识同步至流量控制层;
通过流量控制层根据新容器组的容器组标识、新服务的服务标识和流量控制规则,将数据流量分配给新服务和/或旧服务。
上述实施例中,通过流量控制规则控制分配给新服务和旧服务的数据流量,从而控制分配至新容器组和旧容器组的数据流量,使得本方案无需修改传统技术在service服务传输数据流量给容器组的方法,便可以对旧容器组进行升级。
在其中一个实施例中,流量控制规则包括,采用轮询的方式将数据流量分配给新服务和旧服务。
上述实施例中,给出了一种流量控制规则的内容。
第二方面,本申请还提供了一种容器组升级装置,包括:
切换模块,用于在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组;新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
回收模块,用于对旧服务和旧容器组进行回收处理。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
上述容器组升级方法、装置、设备、存储介质和程序产品,通过在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组,其中,新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的,然后,对旧服务和旧容器组进行回收处理。这样,通过流量控制层将数据流量全部切换至升级后的新服务,由新服务将数据流量全部转发至升级后的新容器组中,则待升级的旧容器组对应的旧服务不再接收任何数据流量,此时,再对旧容器组与其对应的旧服务进行回收处理,数据流量就不会错误发送至已删除的旧容器组,避免了传统技术中由于先删除旧容器组而未删除旧容器组对应的旧服务,数据流量仍旧会通过旧服务但无法到达旧容器组,导致数据流量传输错误的问题。因此,本申请实施例所提供的容器组升级方法、装置、设备、存储介质和程序产品,可以提高数据传输的可靠性。另外,本申请实施例中提供了一种新的架构,即服务与容器组一一对应,新增流量控制层对分配至服务的数据流量进行控制,从而控制发送至容器组的数据流量,而基于该架构对容器组升级时,仅需运行与容器组相关的流量控制层,即可通过流量控制层禁止向待升级的旧容器组发送数据流量,无需对服务进行任何修改。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统技术中容器组升级方法的流程示意图;
图2为一个实施例中容器组升级方法的应用环境图;
图3为一个实施例中容器组升级方法的流程示意图;
图4为另一个实施例中创建新容器组和新服务的流程示意图;
图5为另一个实施例中关联流量控制层和新服务的流程示意图;
图6为另一个实施例中控制流量曾同时关联新服务和旧服务的结构示意图;
图7为一个实施例中容器组升级装置装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
随着云计算的飞速发展,产生了容器技术,容器技术能够将应用运行其中并与外界隔离,而k8s(Kubernetes,容器编排系统)可以实现容器的部署,成为了容器编排、容器管理的主要框架。
但是,k8s并不直接运行容器,而是将一个或多个容器封装在一个容器组中,当k8s运行容器组执行某一任务时,通过service服务中指向该容器组的端点,所将任务的相应数据流量转发至容器组中执行。
容器组是k8s中的最小调度单元,在运行一段时间后可以进行升级,传统的容器组升级方法,参见图1,通常是先创建针对于旧容器组更新的新容器组,当新容器组准备就绪后,在旧容器组对应的service服务中创建与新容器组关联的新端点,使得数据流量通过service服务中的端点均衡分配至旧容器组和新容器组,同时,删除旧容器组,再删除service服务中的旧端点,完成对旧容器组的升级。
但是,旧容器组被删除时,service服务中的旧端点不会同时删除,而是存在一定的延迟,而service服务会将数据流量均衡分配至service服务中所存在的端点所对应的容器组,这就会发生旧容器组已删除,但由于旧端点删除延迟,数据流量仍旧会分配至旧端点处却无法到达旧容器组的情况,导致数据传输错误。因此,传统的容器组升级方法存在数据传输不可靠的问题。
鉴于此,本申请实施例提供容器组升级方法、装置、设备、存储介质和程序产品,通过在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组,然后,对旧服务和旧容器组进行回收处理。这样,通过流量控制层将数据流量全部切换至升级后的新服务,由新服务将数据流量全部转发至升级后的新容器组中,则待升级的旧容器组对应的旧服务不再接收任何数据流量,此时,再对旧容器组与其对应的旧服务进行回收处理,数据流量就不会错误发送至已删除的旧容器组,避免了传统技术中由于先删除旧容器组而未删除旧容器组对应的旧服务,数据流量仍旧会通过旧服务但无法到达旧容器组,导致数据流量传输错误的问题。因此,本申请实施例所提供的容器组升级方法、装置、设备、存储介质和程序产品,可以提高数据传输的可靠性。另外,本申请实施例中提供了一种新的架构,即服务与容器组一一对应,新增流量控制层对分配至服务的数据流量进行控制,从而控制发送至容器组的数据流量,而基于该架构对容器组升级时,仅需运行与容器组相关的流量控制层,即可通过流量控制层禁止向待升级的旧容器组发送数据流量,无需对服务进行任何修改。
本申请实施例提供的容器组升级方法,可以应用于如图2所示的应用环境中。其中,数据存储系统可以存储服务器202需要处理的数据。数据存储系统可以集成在服务器202上,也可以放在云上或其他网络服务器上。服务器202可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图3所示,提供了一种容器组升级方法,以该方法应用于图2中的服务器202为例进行说明,该服务器可以是集群中的任一节点,包括以下步骤301和步骤302。其中:
步骤301,在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组。
在本申请本实例中,新容器组可以是预先创建的空容器组,当需要对旧的服务中的容器组进行升级时,可以选择一个空容器组作为上述新容器组;或者,也可以是在旧的容器组需要升级的时候,根据旧的容器组的信息创建一个新的容器组作为上述新容器组。
示例性的,如图4所示,假设存在旧服务,旧服务与旧容器组关联,旧服务包括与旧容器组对应的旧端点,当接收到需要对旧容器组进行升级的升级指令时,响应于该升级指令创建用于对旧容器组进行升级的新容器组,并创建与新容器组关联的新服务,该新服务中可以包括与新容器组对应的新端点,即新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的。
在本申请实施例中,为保证顺利将数据流量分配到新容器组和旧容器组中,可以设置流量控制层,该流量控制层可以为运行在任一节点上的服务。流量控制层与容器组对应的服务关联,能够将接收到的数据流量按照一定的流量控制规则分配至关联的服务,从而将数据流量传输至对应的容器组。
本申请实施例中,在旧的容器组(上述旧容器组)进行升级的过程中,可以同时使用新容器组和旧容器组,当旧的容器组升级完成后,系统可以自动触发升级完成指令,或者,也可以由用户触发升级完成指令,当检测到该升级完成指令时,可以将旧版本的旧容器组进行回收,避免旧版本的旧容器组占用资源。在一种可能的实施方式中,服务器根据升级完成指令,修改流量控制层分配数据流量的流量控制规则,以通过流量控制层将数据流量全部切换至新服务,不再向旧服务传输数据流量,从而避免向旧容器组传输数据流量。
步骤302,对旧服务和旧容器组进行回收处理。
在本申请实施例中,将数据流量全部切换至新服务后,旧服务以及旧容器组不再接收到数据流量,此时,需要将旧服务和旧容器组进行回收,可选地,服务器在通过流量控制层将数据流量全部切换至新服务后,可以直接将旧容器组和旧服务删除,并且旧服务中与旧容器组对应的端点也会被同时删除掉。可选地,为了保证旧容器组中不再有数据流量,也可以是在将数据流量全部切换至新服务后的预设时长到达后,再将旧容器组和旧服务删除,该预设时长可以根据旧容器中的运行的数据量来确定,也可以是根据旧容器的容量来确定,或者,根据旧容器的资源占用比例来确定,等等;可选地,服务器在通过流量控制层将数据流量全部切换至新服务后,还可以先检测旧容器组中的任务运行情况,在旧容器组中的任务全部执行完成后,删除旧服务和旧容器组,从而避免旧容器组还未执行完任务就被删除的情况发生,提高了任务执行的可靠性。
在本申请实施例中,对旧服务和旧容器组进行回收处理时,可以同时删除旧服务和旧容器组,也可以先删除旧容器组,再删除旧服务,或者,也可以先删除旧服务,再删除旧容器组,本申请实施例中不加以限制。
上述容器组升级方法,在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组,对旧服务和旧容器组进行回收处理。这样,通过流量控制层将数据流量全部切换至升级后的新服务,由新服务将数据流量全部转发至升级后的新容器组中,则待升级的旧容器组对应的旧服务不再接收数据流量,此时,再对旧容器组与其对应的旧服务进行回收处理,数据流量就不会错误发送至已删除的旧容器组,避免了传统技术中先删除旧容器组而未删除旧容器组对应的旧服务,数据流量仍旧会通过旧服务但无法到达旧容器组,导致数据流量传输错误的问题,因此,本申请实施例所提供的容器组升级方法可以提高数据传输的可靠性。另外,本申请实施例中提供了一种新的架构,即服务与容器组一一对应,新增流量控制层对分配至服务的数据流量进行控制,从而控制发送至容器组的数据流量,而基于该架构对容器组升级时,仅需运行与容器组相关的流量控制层,即可通过流量控制层禁止向待升级的旧容器组发送数据流量,无需对服务进行任何修改,避免了修改服务造成的成本开销。
在一个实施例中,基于上述图3所示的实施例,参见图4,本实施例涉及的是创建新容器组和新服务的过程。如图4所示,该过程可以包括步骤401和步骤402。
步骤401,获取升级指令。
当旧容器组需要进行升级时,服务器首先会获取到指示升级旧容器组的升级指令,可选地,服务器通过其他设备获取到用户上传的升级指令,可选地,服务器也可以获取到系统中定时生成的升级指令。
可选地,升级指令中携带旧容器组的容器组标识以及创建参数,创建参数可以包括容器类型、容器容量等,服务器可以根据旧组的容器组标识确定待升级的旧容器组,基于创建参数可以创建针对于旧容器组进行升级的新容器组。
步骤402,根据创建参数创建新容器组以及新服务。
当服务器创建用于升级旧容器组的新容器组后,需要创建能够将数据流量传输至新容器组的服务,即新服务,并根据旧容器组的信息在新服务中设置新端点,即,新服务中包括新端点,使得数据流量输入新服务后,能够通过新端点将数据流量传输至新服务中。
传统技术中,一个服务可以同时关联多个容器组,当对旧容器组进行回收时,先将旧容器组删除,再删除旧容器组在服务中对应的旧端点,而在等待删除旧端点时,由于旧容器组已经被删除,服务根据其均衡分配数据流量的特性仍旧会向旧端点分配数据流量,导致数据传输错误,但是,上述实施例中,创建新容器组和新容器组对应的新服务,使得容器组和服务一一对应,基于这样新的逻辑结构在对旧的旧容器进行回收时,由于流量控制层已经禁止向待升级的旧容器组对应的服务发送数据流量,旧容器组对应的旧服务已经不再接收任何数据流量了,此时,无论何时删除旧容器组、旧容器组对应的旧服务以及旧容器组对应的旧端点都不会出现数据传输错误的的问题,提高了数据传输的可靠性。
在一个实施例中,创建新容器组和新服务之后,流量控制层需要获取到新容器组和新服务的信息,以保证后续数据流量的准确传输,因此,可以将流量控制层和新服务进行关联,基于上述图3所示的实施例,参见图5,本实施例涉及的是关联流量控制层和新服务的过程。如图5所示,该过程可以包括步骤501和步骤502。
步骤501,检测新容器组的状态。
在本申请实施例中,为了确保升级后的新容器组能够正常处理接收到的数据流量,在将新容器组的新服务与流量控制层关联之前,需要检测新容器组的状态,如运行状态、数据传输状态等,在一种可能的实施方式中,服务器通过集群中的探针模式对新容器组的状态进行检测。
步骤502,在新容器组的状态正常的情况下,通过流量控制层根据流量控制规则将数据流量分配给新服务和/或旧服务。
在本申请实施例中,在新容器组的状态正常的情况下,服务器将新容器组的容器组标识和新服务的服务标识同步至流量控制层,使得流量控制层同时关联新服务和旧服务,形成如图6所示的结构。
当流量控制层与服务关联后,服务器可以通过流量控制层根据新容器组的容器组标识、新服务的服务标识和流量控制规则,将数据流量分配给新服务和/或旧服务。
关于流量控制规则的内容可以预设,可选地,流量控制规则包括仅向旧服务分配数据流量;可选地,流量控制规则包括仅向新服务分配数据流量;可选地,流量控制规则包括采用轮询的方式将数据流量分配给新服务和旧服务;可选地,流量控制规则可以包括向新服务和旧服务传输数量流量的比例,等等,本申请实施例中不加以限制。
上述实施例中,先检测新容器组的状态,在新容器组的状态正常的情况下,才会控制流量控制层向新服务分配数据流量,确保了升级后的新容器组为能够正常处理数据流量的容器组,保证了数据处理的可靠性。
在一个实施例中,提供了一种示例性的容器组升级方法,该方法可以应用于图2所示实施环境中。
步骤a,获取升级指令。
其中,升级指令中携带旧容器组的容器组标识以及创建参数。
步骤b,根据创建参数创建新容器组以及新服务。
其中,新服务中包括新端点。
步骤c,检测新容器组的状态。
步骤d,在新容器组的状态正常的情况下,将新容器组的容器组标识和新服务的服务标识同步至流量控制层。
步骤e,通过流量控制层根据新容器组的容器组标识、新服务的服务标识和流量控制规则,将数据流量分配给新服务和/或旧服务。
流量控制规则包括,采用轮询的方式将数据流量分配给新服务和旧服务。
步骤f,在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使新服务中对应的新端点将数据流量传输至新容器组。
其中,新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的。
步骤g,检测旧容器组中的任务运行情况。
步骤h,在旧容器组中的任务全部执行完成后,删除旧服务和旧容器组。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的容器组升级方法的容器组升级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个容器组升级装置实施例中的具体限定可以参见上文中对于容器组升级方法的限定,在此不再赘述。
在一个示例性的实施例中,如图7所示,提供了一种容器组升级装置700,包括:切换模块701和回收模块702,其中:
切换模块701,用于在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组;所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
回收模块702,用于对所述旧服务和所述旧容器组进行回收处理。
在一个实施例中,回收模块702包括:
检测单元,用于检测所述旧容器组中的任务运行情况;
删除单元,用于在所述旧容器组中的任务全部执行完成后,删除所述旧服务和所述旧容器组。
在一个实施例中,容器组升级装置700还包括:
指令获取模块,用于获取升级指令,所述升级指令中携带所述旧容器组的容器组标识以及创建参数;
创建模块,用于根据所述创建参数创建所述新容器组以及所述新服务,所述新服务中包括所述新端点。
在一个实施例中,容器组升级装置700还包括:
状态检测模块,用于检测所述新容器组的状态;
关联分配模块,用于在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,关联分配模块,包括:
同步单元,用于在所述新容器组的状态正常的情况下,将所述新容器组的容器组标识和所述新服务的服务标识同步至所述流量控制层;
控制分配单元,用于通过所述流量控制层根据所述新容器组的容器组标识、所述新服务的服务标识和所述流量控制规则,将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,所述流量控制规则包括,采用轮询的方式将所述数据流量分配给所述新服务和所述旧服务。
上述容器组升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储容器组升级数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种容器组升级方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组,所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
对所述旧服务和所述旧容器组进行回收处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测所述旧容器组中的任务运行情况;
在所述旧容器组中的任务全部执行完成后,删除所述旧服务和所述旧容器组。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取升级指令,所述升级指令中携带所述旧容器组的容器组标识以及创建参数;
根据所述创建参数创建所述新容器组以及所述新服务,所述新服务中包括所述新端点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测所述新容器组的状态;
在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述新容器组的状态正常的情况下,将所述新容器组的容器组标识和所述新服务的服务标识同步至所述流量控制层;
通过所述流量控制层根据所述新容器组的容器组标识、所述新服务的服务标识和所述流量控制规则,将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,所述流量控制规则包括,采用轮询的方式将所述数据流量分配给所述新服务和所述旧服务。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组,所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
对所述旧服务和所述旧容器组进行回收处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述旧容器组中的任务运行情况;
在所述旧容器组中的任务全部执行完成后,删除所述旧服务和所述旧容器组。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取升级指令,所述升级指令中携带所述旧容器组的容器组标识以及创建参数;
根据所述创建参数创建所述新容器组以及所述新服务,所述新服务中包括所述新端点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述新容器组的状态;
在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在所述新容器组的状态正常的情况下,将所述新容器组的容器组标识和所述新服务的服务标识同步至所述流量控制层;
通过所述流量控制层根据所述新容器组的容器组标识、所述新服务的服务标识和所述流量控制规则,将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,所述流量控制规则包括,采用轮询的方式将所述数据流量分配给所述新服务和所述旧服务。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组,所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
对所述旧服务和所述旧容器组进行回收处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述旧容器组中的任务运行情况;
在所述旧容器组中的任务全部执行完成后,删除所述旧服务和所述旧容器组。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取升级指令,所述升级指令中携带所述旧容器组的容器组标识以及创建参数;
根据所述创建参数创建所述新容器组以及所述新服务,所述新服务中包括所述新端点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述新容器组的状态;
在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在所述新容器组的状态正常的情况下,将所述新容器组的容器组标识和所述新服务的服务标识同步至所述流量控制层;
通过所述流量控制层根据所述新容器组的容器组标识、所述新服务的服务标识和所述流量控制规则,将数据流量分配给所述新服务和/或旧服务。
在一个实施例中,所述流量控制规则包括,采用轮询的方式将所述数据流量分配给所述新服务和所述旧服务。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种容器组升级方法,其特征在于,所述方法包括:
在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组,所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
对所述旧服务和所述旧容器组进行回收处理。
2.根据权利要求1所述的方法,其特征在于,所述对所述旧服务和所述旧容器组进行回收处理,包括:
检测所述旧容器组中的任务运行情况;
在所述旧容器组中的任务全部执行完成后,删除所述旧服务和所述旧容器组。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取升级指令,所述升级指令中携带所述旧容器组的容器组标识以及创建参数;
根据所述创建参数创建所述新容器组以及所述新服务,所述新服务中包括所述新端点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测所述新容器组的状态;
在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务。
5.根据权利要求4所述的方法,其特征在于,在所述新容器组的状态正常的情况下,通过所述流量控制层根据流量控制规则将数据流量分配给所述新服务和/或旧服务,包括:
在所述新容器组的状态正常的情况下,将所述新容器组的容器组标识和所述新服务的服务标识同步至所述流量控制层;
通过所述流量控制层根据所述新容器组的容器组标识、所述新服务的服务标识和所述流量控制规则,将数据流量分配给所述新服务和/或旧服务。
6.根据权利要求5所述的方法,其特征在于,所述流量控制规则包括,采用轮询的方式将所述数据流量分配给所述新服务和所述旧服务。
7.一种容器组升级装置,其特征在于,所述装置包括:
切换模块,用于在接收到升级完成指令的情况下,通过流量控制层将数据流量全部切换至新服务,以使所述新服务中对应的新端点将所述数据流量传输至新容器组;所述新容器组为对旧服务中的旧端点对应的旧容器组进行升级得到的;
回收模块,用于对所述旧服务和所述旧容器组进行回收处理。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311764399.6A CN117950690A (zh) | 2023-12-20 | 2023-12-20 | 容器组升级方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311764399.6A CN117950690A (zh) | 2023-12-20 | 2023-12-20 | 容器组升级方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950690A true CN117950690A (zh) | 2024-04-30 |
Family
ID=90793563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311764399.6A Pending CN117950690A (zh) | 2023-12-20 | 2023-12-20 | 容器组升级方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950690A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590146A (zh) * | 2021-06-04 | 2021-11-02 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN113626054A (zh) * | 2021-08-16 | 2021-11-09 | 聚好看科技股份有限公司 | 一种业务服务更新方法及装置 |
CN114938375A (zh) * | 2022-05-16 | 2022-08-23 | 聚好看科技股份有限公司 | 一种容器组更新设备及容器组更新方法 |
CN116243946A (zh) * | 2022-12-28 | 2023-06-09 | 杭州铭信信息科技有限公司 | 一种服务升级的处理方法及系统 |
-
2023
- 2023-12-20 CN CN202311764399.6A patent/CN117950690A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590146A (zh) * | 2021-06-04 | 2021-11-02 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN113626054A (zh) * | 2021-08-16 | 2021-11-09 | 聚好看科技股份有限公司 | 一种业务服务更新方法及装置 |
CN114938375A (zh) * | 2022-05-16 | 2022-08-23 | 聚好看科技股份有限公司 | 一种容器组更新设备及容器组更新方法 |
CN116243946A (zh) * | 2022-12-28 | 2023-06-09 | 杭州铭信信息科技有限公司 | 一种服务升级的处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11113158B2 (en) | Rolling back kubernetes applications | |
US10585691B2 (en) | Distribution system, computer, and arrangement method for virtual machine | |
CN108614976A (zh) | 权限配置方法、装置及存储介质 | |
US20210103554A1 (en) | Rolling Back Kubernetes Applications Including Custom Resources | |
CN106326239A (zh) | 分布式文件系统及其文件元信息管理方法 | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN111291062B (zh) | 数据同步写入方法、装置、计算机设备及存储介质 | |
CN110109868A (zh) | 用于索引文件的方法、装置和计算机程序产品 | |
CN113742135A (zh) | 数据备份方法、装置及计算机可读存储介质 | |
CN114594914A (zh) | 用于分布式存储系统的控制方法及系统 | |
CN112262378B (zh) | 脱水文件的层级的水合 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
CN117950690A (zh) | 容器组升级方法、装置、设备、存储介质和程序产品 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN111147226A (zh) | 数据存储方法、装置及存储介质 | |
CN112948065B (zh) | 基于Kubernetes的调度自动化系统管理装置 | |
CN105760431A (zh) | 一种文件块的迁移方法和装置 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN109254870A (zh) | 数据备份的方法和装置 | |
CN113961319B (zh) | 作业热迁移的方法、装置、电子设备及存储介质 | |
CN112949887B (zh) | 派件路径的规划方法、装置、设备及计算机可读存储介质 | |
CN112035174B (zh) | 运行web服务的方法、装置及计算机存储介质 |
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 |