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

Pod热迁移方法、装置、电子设备及存储介质与流程

2022-10-22 02:14:58 来源:中国专利 TAG:

pod热迁移方法、装置、电子设备及存储介质
技术领域
1.本技术属于云计算和容器技术领域,具体而言,涉及一种pod热迁移方法、装置、电子设备及存储介质。


背景技术:

2.容器技术使得云原生成为一种应用云化开发,部署和运行的业务的主流方式,kubernetes(用于管理云平台中多个主机上的容器化的应用,简称k8s)作为一种容器编排与调度的分布式架构领先方案逐渐成为使用容器技术的主流方案;而云上虚机的迁移可以保证电信业务部署灵活、业务高可用,由此,对于kubernetes上的热迁移pod(pod是kubernetes中最小的资源管理组件以及最小化运行容器化应用的资源对象)容器的需求就油然而生了。
3.现有的kubernetes系统在迁移pod时人工介入程度很高,首先需要驱逐旧pod,然后确定新建pod的具体规格(如容器网络,副本数量等),之后在新的节点上创建新的pod,最后还需要尽量将新pod恢复至旧pod迁移前的运行状态。显然,这种迁移方式是生硬的,不能保存旧pod中容器运行的状态和已经处理的数据,迁移后的pod实际上是一个新pod;且该迁移过程手动化程度比较高,需要操作人员对k8s有一定的理解和操作能力,人工成本高。


技术实现要素:

4.为解决上述技术问题,本技术的实施例提供了一种pod热迁移方法及装置、电子设备、计算机可读存储介质。
5.根据本技术实施例的一个方面,提供了一种pod热迁移方法,包括将待迁移pod的模板文件和所述待迁移pod内的容器在预设时刻的初始信息发送至目标节点;其中,所述初始信息包括初始内存信息、初始磁盘信息以及容器镜像信息;在将所述初始信息和所述模板文件发送至目标节点的过程中,提取所述待迁移pod内的容器的内存变化信息以及磁盘变化信息;根据所述内存变化信息和所述磁盘变化信息对应对所述初始内存信息和初始磁盘信息进行更新处理;基于所述模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在所述目标节点运行所述容器镜像信息,以使所述待迁移pod内的容器迁移至所述目标节点。
6.在一实施例中,在所述将待迁移pod的模板文件和所述待迁移pod内的容器在预设时刻的初始信息发送至目标节点之前,所述方法还包括:
7.基于预设的迁移任务确定所述待迁移pod和所述目标节点;
8.向所述待迁移pod所在的kubernetes发送检测指令,以使所述kubernetes基于所述检测指令检测所述目标节点是否能执行所述待迁移pod的迁移;
9.若所述目标节点能执行所述待迁移pod的迁移,则执行所述将待迁移pod的模板文件和所述待迁移pod内的容器在预设时刻的初始信息发送至目标节点的步骤。
10.在一实施例中,所述根据所述内存变化信息和所述磁盘变化信息对应对所述初始
内存信息和初始磁盘信息进行更新处理,包括:
11.基于所述磁盘变化信息,替换所述初始磁盘信息中对应变换的信息;
12.将所述内存变化信息存储于所述目标节点预设的变化内存分区;
13.基于所述内存变化信息存储于所述变化内存分区的地址更新所述初始内存信息。
14.在一实施例中,所述初始内存信息通过符号表保存所述内存信息的内存地址以及内存地址对应的值;所述基于所述内存变化信息存储于所述变化内存分区的地址更新所述初始内存信息,包括:
15.分别将所述变化内存分区的地址和所述内存变化信息作为所述符号表中的内存地址和内存地址对应的值,以所述变化内存分区的地址和所述内存变化信息更新所述符号表。
16.在一实施例中,所述待迁移pod中的容器数量为多个;所述将待迁移pod的模板文件和所述待迁移pod内的容器在预设时刻的初始信息发送至目标节点,包括:
17.将在所述预设时刻获取的所述待迁移pod内多个容器的初始信息同时发送至目标节点;或,
18.基于预设的容器迁移顺序,将所述待迁移pod内各容器的初始信息分别发送至目标节点;其中,不同容器获取初始信息的预设时刻不同。
19.在一实施例中,所述基于所述模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在所述目标节点运行所述容器镜像信息,以使所述待迁移pod内的容器迁移至所述目标节点,包括:
20.挂起待迁移pod内的容器;
21.将所述磁盘变化信息挂载于所述容器镜像信息中;
22.在所述目的节点根据所述模板文件运行进行挂载处理的容器镜像信息,以使所述待迁移pod内的容器迁移至所述目标节点。
23.在一实施例中,所述待迁移pod中的容器数量为多个;所述挂起待迁移pod内的容器,包括:
24.当所述待迁移pod内的各容器对应的初始信息均发送至目标节点后,挂起所述待迁移pod内的容器。
25.根据本技术实施例的一个方面,提供了一种pod热迁移装置,包括:信息发送模块,配置为将待迁移pod的模板文件和所述待迁移pod内的容器在预设时刻的初始信息发送至目标节点;其中,所述初始信息包括初始内存信息、初始磁盘信息以及容器镜像信息;变化信息提取模块,配置为在将所述初始信息和所述模板文件发送至目标节点的过程中,提取所述待迁移pod内的容器的内存变化信息以及磁盘变化信息;信息更新模块,配置为根据所述内存变化信息和所述磁盘变化信息对应对所述初始内存信息和初始磁盘信息进行更新处理;pod迁移模块,配置为基于所述模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在所述目标节点运行所述容器镜像信息,以使所述待迁移pod内的容器迁移至所述目标节点。
26.根据本技术实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的pod热迁移方法。
27.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的pod热迁移方法。
28.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的pod热迁移方法。
29.在本技术的实施例所提供的技术方案中,通过镜像信息以及初始信息保存待迁移pod在某一时刻的运行状态,同时将容器挂起之前新增的变化信息也发送至目标节点,以此使得待迁移pod内旧容器与迁移至目的节点的新容器之间的平滑过渡,实现待迁移pod的热迁移。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
31.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
32.图1是本技术涉及的一种实施环境的示意图;
33.图2是本技术的一示例性实施例示出的pod热迁移方法的流程图;
34.图3是本技术的一示例性实施例示出的迁移任务结构图;
35.图4是本技术的一示例性实施例示出的模板文件和初始信息发送至目标节点的流程图;
36.图5是本技术的另一示例性实施例示出的pod热迁移方法的流程图;
37.图6是图2所示实施例中的步骤s250在另一示例性实施例中的流程图;
38.图7是图2所示实施例中的步骤s270在一示例性实施例中的流程图;
39.图8是本技术的一示例性实施例示出的pod热迁移装置的结构示意图;
40.图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
41.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
42.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
43.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也
不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
44.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
45.以下将对本技术实施例提出的pod热迁移方法及装置、电子设备、存储介质进行详细说明。
46.首先请参阅图1,图1是本技术涉及的一种实施环境的示意图。该实施环境包括控制器100和服务器端200,控制器100和服务器端200之间通过有线或者无线网络进行通信。
47.当然,图1中的服务器端200的数量仅是示例性的,在其他实施例中还可以是其他数量的服务器端200,本实施例中,服务器端200构成kubernetes集群,kubernetes集群上有多个节点,各节点可存在pod,每个pod存在至少一个容器。
48.控制器100用于进行pod热迁移控制,可将一个节点的pod迁移到另一个节点。
49.示例性的,控制器100在收到需将待迁移节点的待迁移pod传输到目标节点的指令后,控制器100将待迁移pod的模板文件和待迁移pod内的容器在预设时刻的初始信息发送至目标节点;其中,初始信息包括初始内存信息、初始磁盘信息以及容器镜像信息;然后,控制器100会在将初始信息和模板文件发送至目标节点的过程中,提取待迁移pod内的容器的内存变化信息以及磁盘变化信息;并根据内存变化信息和磁盘变化信息对应对初始内存信息和初始磁盘信息进行更新处理;基于模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在目标节点运行容器镜像信息,以使待迁移pod内的容器迁移至目标节点。
50.其中,控制器100可以是智能手机、平板、笔记本电脑、计算机等任意能够实现控制功能的电子设备,本处不进行限制。服务器端200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,其中多个服务器可组成一区块链,而服务器为区块链上的节点,服务器端200还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。
51.图2是根据一示例性实施例示出一种pod热迁移方法的流程图。该pod热迁移方法可应用于图1所示的实施环境,并由该实施环境中的控制器具体执行,应该理解的是,该方法也可以是用于其他的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
52.如图2所示,在一示例性实施例中,该方法可以包括步骤s210至步骤s270,详细介绍如下:
53.步骤s210:将待迁移pod的模板文件和待迁移pod内的容器在预设时刻的初始信息发送至目标节点。
54.本实施例中,需要将待迁移节点上pod迁移到目标节点,可现在控制器上申明一个迁移任务,参考图3,该迁移任务的包括该迁移任务的名称(pmtask),如图3中的task1,待迁移节点上的待迁移节点(pmpod),如图3中的pod1,目标节点的地址(pmnode),如图3中的192.xxx.xx.x,通过该迁移任务即可知需将pod1迁移到192.xxx.xx.x对应的目标节点上。
55.当声明迁移任务后,控制器会促使k8s检查待迁移pod和目标节点是否能够执行迁移任务,如检查目的节点上是否有足够的磁盘和内存空间、是否符合可执行标准等;若检测通过,则可执行待迁移pod的迁移过程。
56.具体地,控制器会提取待迁移pod的模板文件以及在某时刻的初始信息,如通过内存锁保存待迁移pod上容器的初始信息,模板文件为该待迁移pod的yaml模板文件(yaml模板文件:配置对应pod的文件),该初始信息为控制器在预设时刻提取得到的,初始信息包括初始内存信息、初始磁盘信息以及容器镜像信息,该预设时刻可以为k8s检查目标节点通过后的某一时刻,内存信息为预设时刻之前,待迁移pod内各容器的运行数据,容器镜像信息为对该待迁移pod内所有容器在预设时刻所拍摄的快照,不同容器对应不同容器镜像信息,该容器镜像信息可视为预设时刻“冻结”的容器运行信息。
57.本实施例中,初始内存信息以key(键)和value(值)的形式保存内存地址和值,可根据符号表查找内存地址和值,在提取到模板文件以及初始信息后,可将该并模板文件以及初始信息与各迁移任务关联。
58.参考图4,为一实施例示出的模板文件和初始信息发送至目标节点的流程图,控制器在提取到待迁移pod的模板文件和初始信息后,释放内存锁,控制将模板文件和初始信息发送至目标节点,其中,初始信息内的初始内存信息以及模板信息可通过网络直接传输,而容器镜像信息需通过容器仓库发送至目标节点。
59.图4中,namespace为pod的命名空间,kubelet是k8s的一个组件,可监控pod里面的参数变化以及分配资源,pod2为目标节点内的一个pod。
60.当然,待迁移pod内可能存在多个容器,各容器的对应模板文件和初始信息可在不同预设时刻获取,可以在同一预设时刻获取,若在不同预设时刻获取,可预设容器迁移顺序,对应容器迁移顺序,各容器存在对应的容器初始信息预设时刻,不同容器获取初始信息的预设时刻不同,当然也可能存在某几个容器的预设时刻相同的情况,在根据各容器获取初始信息的预设时刻之后,分别向目标节点发送不同容器的模板文件和初始信息;若在同一预设时刻获取,同样在该预设时刻后,向目标节点发送不同容器的模板文件和初始信息。
61.步骤s230:在将初始信息和模板文件发送至目标节点的过程中,提取待迁移pod内的容器的内存变化信息以及磁盘变化信息。
62.本实施例中,初始信息和模板文件发送至目标节点的过程需要时间,在此过程中,待迁移pod内的容器仍然在运行,运行过程中会产生新的内存信息和磁盘信息,即该容器的内存变化信息以及磁盘变化信息。
63.为保证待迁移pod实现热迁移,即实现待迁移pod在新旧节点中的平滑过度,减少容器的中断时间,还在将初始信息和模板文件发送至目标节点的过程中,提取待迁移pod内的容器的内存变化信息以及磁盘变化信息,并将内存变化信息以及磁盘变化信息发送至目标节点。
64.具体地,对待迁移pod内的某一容器a来说,该容器a的模板文件以及初始信息发送至目标节点过程中,容器a继续运行,此时,在目标节点开启一个新的内存分区为容器a在目标节点提供服务,该内存分区仅保存容器a的内存变化信息。
65.当然,对于不同的容器可在目标节点内开设不同的内存分区,也可多个容器共用一个内存分区,此处不进行具体限制。
66.本实施例中,当待迁移pod内各容器的内存信息以及磁盘信息发生了变化,则可实时将变化的内存变化信息以及磁盘变化信息发送至目标节点,保证待迁移节点内容器与目的节点内容器变更内存的差异在一个极小的时钟周期之内,直至该容器的初始信息和模板文件发送至目标节点。
67.步骤s250:根据内存变化信息和磁盘变化信息对应对初始内存信息和初始磁盘信息进行更新处理。
68.本实施例中,目标节点在收到容器的内存变化信息和磁盘变化信息后,则将对应容器的抽出式内存信息和初始磁盘信息进行变更。
69.具体地,磁盘变化信息的变化可将初始磁盘信息中相关发生改变的位置以该磁盘变化信息进行替换,而内存变化信息为容器运行过程中产生的信息,发送至目标节点后,内存地址发生改变,此时不能直接替换,即可根据该内存变化信息在内存分区中的内存地址,将符号表中记录的内存地址改为新内存分区中的地址。
70.以此,通过上述方式,基于收到的内存变化信息和磁盘变化信息更新对应容器的初始内存信息和初始磁盘信息,当然,对于同一容器,可能会多次收到内存变化信息和磁盘变化信息,在后续每次收到内存变化信息和磁盘变化信息后,均基于新收到的内存变化信息和磁盘变化信息更新对应容器的上一次经更新处理后的初始内存信息和初始磁盘信息。
71.步骤s270:基于模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在目标节点运行容器镜像信息,以使待迁移pod内的容器迁移至目标节点。
72.本实施例中,对于容器a而言,在容器a的模板文件以及初始信息均已发送至目标节点,且在此过程中产生的内存变化信息和磁盘变化信息也已发送至目标节点,且在目标节点内进行了更新处理,则可在待迁移pod内挂起容器a,直到容器a最后产生的内存变化信息和磁盘变化信息发送至目标节点,此时,将容器a的所有磁盘变化信息以挂载的方式更新在容器a的容器镜像信息中,并在目标节点根据容器a的模板文件运行容器镜像信息,即实现容器a的热迁移,目标节点内的容器a基于存储在目标节点内对应的更新过的初始内存信息和更新过的初始磁盘信息进行运行的状态与容器a在待迁移节点挂起前一时刻的运行状态相同。
73.以此,重复图2中的步骤,可将待迁移pod内所有容器迁移至目标节点,完成待迁移pod的热迁移。
74.当然,该待迁移pod的模板文件唯一的,由此,在各容器的初始信息按顺序发送时,可仅在一个容器发送初始信息时发送模板文件;当然,在待迁移pod内各容器的初始信息同时发送时,模板文件随之一同发送,也可在控制器检测完目的节点后,容器还未获取初始信息前,预先发送模板文件,后续在发送容器的初始信息时,即可不发送模板文件。
75.在一实施例中,由于pod中运行的容器之间存在关联,在关闭一个容器后,可能会影响到其他容器,此时,则需要控制待迁移pod内容器在同一时刻挂起,则,步骤s230中获取各容器的内存变化信息以及磁盘变化信息,不仅仅包括对应容器的初始信息和模板文件发送至目标节点的过程中产生的变化信息,应为该容器获取初始信息开始,直至该容器挂起时,容器继续运行产生的内存变化信息以及磁盘变化信息,如此,保证待迁移pod内容器在同一时刻挂起时所产生的信息变化信息均发送至目标节点。
76.本实施例中,通过镜像信息以及初始信息保存待迁移pod在某一时刻的运行状态,
同时将容器从该时刻至挂起之前新增的变化信息也发送至目标节点,以该时刻的运行状态以及变化信息保证目标节点新产生的容器运行状态与待迁移pod内容器的运行状态相同,使得新旧容器平滑过渡,保证容器内应用中断时间短,支撑了电信网元的热迁移、高可靠性需求。
77.图5是根据另一示例性实施例示出一种pod热迁移方法的流程图。该方法应用于图2中的步骤s210之前,如图5所示,在一示例性实施例中,该方法可以包括步骤s510至步骤s550,详细介绍如下:
78.步骤s510:基于预设的迁移任务确定待迁移pod和目标节点。
79.本实施例中,若需要实现某一pod从一个节点内迁移到另一节点,则可在控制器上预设如图3所示的迁移任务,控制器可从迁移任务中确定待迁移pod和目标节点,由此,控制器进行待迁移pod迁移至目标节点的控制。
80.步骤s530:向待迁移pod所在的kubernetes发送检测指令,以使kubernetes基于检测指令检测目标节点是否能执行待迁移pod的迁移。
81.本实施例中,控制器需要检测迁移任务对应的待迁移pod和目标节点是否能够执行迁移任务,由此,可向kubernetes发送检测指令以此目标节点,检查目的节点上是否有足够的磁盘和内存空间能满足待迁移pod以及待迁移pod内运行数据的迁移、是否符合可执行标准等。
82.步骤s550:若目标节点能执行待迁移pod的迁移,则执行步骤s210。
83.若检测通过,则证明目标节点能执行待迁移pod的迁移,即可通过图2中所示的方式将待迁移pod迁移至目标节点。
84.本实施例中,通过在进行待迁移pod迁移前对目标节点进行检测,保证待pod的迁移环境符合标准,提高待迁移pod的迁移成功率。
85.图6是图2所示实施例中步骤s250在一示例性实施例中的流程图。如图6所示,在一示例性实施例中,该根据内存变化信息和磁盘变化信息对应对初始内存信息和初始磁盘信息进行更新处理的过程可以包括步骤s610至步骤s650,详细介绍如下:
86.步骤s610:基于磁盘变化信息,替换初始磁盘信息中对应变换的信息。
87.本实施例中,磁盘信息的变化可直接将原磁盘信息替换为产生变化的信息,因此,可将初始磁盘信息中对应磁盘变化信息的原磁盘信息替换为磁盘变化信息,即将磁盘变化信息直接写入初始磁盘信息中对应位置。
88.步骤s630:将内存变化信息存储于目标节点预设的变化内存分区。
89.对于初始内存信息而言,初始内存信息通过符号表保存内存信息的内存地址以及内存地址对应的值,因此,内存变化信息不能简单替换初始内存信息中的数据。
90.本实施例中,在目标节点内开设内存分区,同样地,可针对待迁移pod内的容器为各容器开设对应内存分区,也可为多个容器开设同一内存分区,然后将容器的内存变化信息存储与内存分区里面。
91.步骤s650:基于内存变化信息存储于变化内存分区的地址更新初始内存信息。
92.本实施例中,以内存变化信息所在内存分区中的地址作为符号表中的内存地址,将内存变化信息作为对应内存地址对应的值,以此更新符号表,使得待迁移pod的容器后续在目标节点运行时,可基于符号表查找内存地址与值将。
93.本实施例中,提出基于内存变化信息和磁盘变化信息对应对初始内存信息和初始磁盘信息进行更新处理,以此保证目标节点内容器的磁盘信息和内存信息与待迁移pod内容器在挂起前的数据一致,从而保证目标节点内容器的运行状态与待迁移pod内容器的运行状态相同,实现待迁移pod的热迁移。
94.图7是图2所示实施例中步骤s270在一示例性实施例中的流程图。如图7所示,在一示例性实施例中,该基于模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在目标节点运行容器镜像信息,以使待迁移pod内的容器迁移至目标节点的过程可以包括步骤s710至步骤s750,详细介绍如下:
95.步骤s710:挂起待迁移pod内的容器。
96.本实施例中,当某容器的初始信息发送至目标节点后,则可在待迁移pod内挂起该容器。
97.当然,为了保证待迁移pod内容器的正常运行,在待迁移pod内所有容器的初始信息发送至目标节点后,则同时挂起待迁移pod内所有容器。
98.步骤s730:将磁盘变化信息挂载于容器镜像信息中。
99.同时在目的节点将磁盘变化信息以挂载的方式更新在容器镜像信息中。
100.步骤s750:在目的节点根据模板文件运行进行挂载处理的容器镜像信息,以使待迁移pod内的容器迁移至目标节点。
101.本实施例中,在磁盘变化信息进行挂载处理处理后,运行进行挂载处理的容器镜像信息,即可完成该容器的热迁移,使得容器在待迁移pod中挂起前一时刻运行状态与容器在目标节点中初始时刻运行状态相同。
102.图8是根据一示例性实施例示出的一种pod热迁移装置的结构示意图。如图8所示,在一示例性实施例中,该装置包括:
103.信息发送模块810,配置为将待迁移pod的模板文件和待迁移pod内的容器在预设时刻的初始信息发送至目标节点;其中,初始信息包括初始内存信息、初始磁盘信息以及容器镜像信息;
104.变化信息提取模块830,配置为在将初始信息和模板文件发送至目标节点的过程中,提取待迁移pod内的容器的内存变化信息以及磁盘变化信息;
105.信息更新模块850,配置为根据内存变化信息和磁盘变化信息对应对初始内存信息和初始磁盘信息进行更新处理;
106.pod迁移模块970,配置为基于模板文件信息、进行更新处理后的初始内存信息和初始磁盘信息在目标节点运行容器镜像信息,以使待迁移pod内的容器迁移至目标节点。
107.本实施例所提出的pod热迁移装置可完成待迁移pod的热迁移。
108.在一实施例中,该pod热迁移装置还包括:
109.迁移任务分析模块,配置为基于预设的迁移任务确定待迁移pod和目标节点;
110.检测模块,配置为向待迁移pod所在的kubernetes发送检测指令,以使kubernetes基于检测指令检测目标节点是否能执行待迁移pod的迁移;
111.执行模块,配置为若目标节点能执行待迁移pod的迁移,则执行将待迁移pod的模板文件和待迁移pod内的容器在预设时刻的初始信息发送至目标节点的步骤。
112.在一实施例中,信息更新模块包括:
113.磁盘信息更新单元,配置为基于磁盘变化信息,替换初始磁盘信息中对应变换的信息;
114.存储单元,配置为将内存变化信息存储于目标节点预设的变化内存分区;
115.内存信息更新单元,配置为基于内存变化信息存储于变化内存分区的地址更新初始内存信息。
116.在一实施例中,初始内存信息通过符号表保存内存信息的内存地址以及内存地址对应的值;内存信息更新单元包括:
117.内存信息更新板块,配置为分别将变化内存分区的地址和内存变化信息作为符号表中的内存地址和内存地址对应的值,以变化内存分区的地址和内存变化信息更新符号表。
118.在一实施例中,待迁移pod中的容器数量为多个;信息发送模块包括:
119.第一信息发送单元,配置为将在预设时刻获取的待迁移pod内多个容器的初始信息同时发送至目标节点;或,
120.第二信息发送单元,配置为基于预设的容器迁移顺序,将待迁移pod内各容器的初始信息分别发送至目标节点;其中,不同容器获取初始信息的预设时刻不同。
121.在一实施例中,pod迁移模块包括:
122.容器挂起单元,配置为挂起待迁移pod内的容器;
123.挂载单元,配置为将磁盘变化信息挂载于容器镜像信息中;
124.容器迁移单元,配置为在目的节点根据模板文件运行进行挂载处理的容器镜像信息,以使待迁移pod内的容器迁移至目标节点。
125.在一实施例中,容器挂起单元包括:
126.容器挂起板块,配置为当待迁移pod内的各容器对应的初始信息均发送至目标节点后,挂起待迁移pod内的容器。
127.图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
128.需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
129.如图9所示,计算机系统900包括中央处理单元(central processing unit,cpu)901,其可以根据存储在只读存储器(read-only memory,rom)902中的程序或者从储存部分908加载到随机访问存储器(random access memory,ram)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram 903中,还存储有系统操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(input/output,i/o)接口905也连接至总线904。
130.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
131.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
132.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
133.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
134.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
135.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的pod热迁移方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
136.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该
计算机设备执行上述各个实施例中提供的pod热迁移方法。
137.上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献