一种资源迁移的方法、装置及电子设备制造方法及图纸

技术编号:36214246 阅读:47 留言:0更新日期:2023-01-04 12:11
本申请涉及云原生领域,具体涉及一种资源迁移的方法、装置及电子设备,用以适用于容器编排系统,并实现对容器应用的自动化迁移控制。该方法包括,源节点获取迁移资源对象的迁移信息,该迁移信息至少包括:待迁移Pod、容器内存迁移类型、源节点以及目的节点,然后在获取迁移信息后,收集待迁移Pod中的容器镜像信息,并将容器镜像信息发送给目的节点,再响应于目的节点接收容器镜像信息并创建目的Pod,确定容器内存迁移类型对应的迁移规则为在线迁移规则,采用在线迁移规则,将待迁移Pod中的容器内存信息迁移至目的Pod中。基于上述方法可以实现集群中多个主机上的容器化应用的自动化迁移控制。动化迁移控制。动化迁移控制。

【技术实现步骤摘要】
一种资源迁移的方法、装置及电子设备


[0001]本申请涉及云原生
,尤其涉及一种资源迁移的方法、装置及电子设备。

技术介绍

[0002]容器热迁移(Live Migration),是保证容器应用在不被用户察觉的基础上,将容器应用从一个物理节点迁移到另一个物理节点,并保证迁移后的容器应用恢复到迁移前的状态。
[0003]针对容器编排系统,如K8s(Kubernetes,即用于管理云平台中多个主机上的容器应用),目前并未向使用对象提供容器热迁移的功能/服务,因此目前针对容器热迁移需要依赖传统的人工迁移方式。
[0004]鉴于此,当前尚且缺少一种适用于容器编排系统的、能够自动化实现对容器应用的迁移控制方法。

技术实现思路

[0005]本申请提供一种资源迁移的方法、装置及电子设备,用以实现集群中多个主机上的容器化应用的自动化迁移控制。
[0006]第一方面,本申请提供了一种资源迁移的方法,所述方法包括:
[0007]源节点获取迁移资源对象的迁移信息;其中,所述迁移信息至少包括:待迁移Pod、容器内存迁移类型、所述源节点以及目的节点;
[0008]在获取所述迁移信息后,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点;
[0009]响应于所述目的节点接收所述容器镜像信息并创建目的Pod,确定所述容器内存迁移类型对应的迁移规则为在线迁移规则;
[0010]采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中。
[0011]在一种可能的设计中,所述迁移信息还包括:所述迁移资源对象的当前状态、以及所述待迁移Pod中各个容器的容器信息,所述容器信息至少包括容器属性以及当前状态,则:
[0012]所述在获取所述迁移信息后,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点,包括:
[0013]在获取所述迁移信息后,响应于所述迁移资源对象的当前状态为准备状态,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点;
[0014]若将所述容器镜像信息发送给所述目的节点,则将所述迁移资源对象的当前状态修改为开始状态,以使所述目的节点创建目的Pod、并在所述目的Pod上部署所述容器镜像信息。
[0015]在一种可能的设计中,所述迁移信息还包括:所述迁移资源对象的当前状态、以及
所述待迁移Pod中各个容器的容器信息,所述容器信息至少包括容器属性以及当前状态,则:
[0016]所述采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中,包括:
[0017]响应于所述迁移资源对象的当前状态为迁移状态,采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中;
[0018]若确定所述待迁移Pod中所有的容器内存信息都迁移至所述目的Pod中,则将所述迁移资源对象的当前状态修改为迁移完成状态。
[0019]在一种可能的设计中,所述采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中,包括:
[0020]将所述待迁移Pod中的所有内存页,压缩传输至所述目的Pod;
[0021]在压缩传输所述所有内存页后,对传输过程中产生的脏页进行多轮迭代传输;其中,在第M+1轮迭代传输过程中,执行以下操作:
[0022]基于前M轮迭代传输各自对应的预测脏页率与实际脏页率,计算所述第M+1轮迭代传输对应的预测脏页率,并将所述预测脏页率与所述第M轮迭代传输所花费的传输时间之间的乘积,作为所述第M+1轮迭代传输对应的预测脏页量;
[0023]若所述第M+1轮迭代传输对应的预测脏页量大于所述第M轮迭代传输所产生的脏页量,或前M+1轮迭代传输的总时长大于预设阈值,则将所述待迁移Pod在所述第M+1轮迭代传输产生的脏页,拷贝至所述目的Pod中。
[0024]在一种可能的设计中,所述在压缩传输所述所有内存页后,对传输过程中产生的脏页进行多轮迭代传输,包括:
[0025]在压缩传输所述所有内存页后,针对传输过程汇总产生的脏页进行N轮传输;其中,N为大于0的整数;
[0026]判断所述N轮传输对应的实际脏页量是否小于预设脏页量;
[0027]若是,则将所述待迁移Pod在所述第N轮迭代传输产生的脏页,拷贝至所述目的Pod中;
[0028]若否,则确定对传输过程中产生的脏页再次进行多轮迭代传输。
[0029]在一种可能的设计中,所述基于前M轮迭代传输各自对应的预测脏页率与实际脏页率,计算所述第M+1轮迭代传输对应的预测脏页率,包括:
[0030]针对前M轮迭代传输,计算每轮迭代传输对应的预测脏页率与实际脏页率之间的误差值,得到所述前M轮迭代传输对应的M个误差值;
[0031]计算所述M个误差值的加权平均值,并将所述加权平均值作为所述第M+1轮迭代传输对应的目标修正值;
[0032]确定所述第M+1轮迭代传输预测的初始脏页率,并采用所述目标修正值对所述初始脏页率修正,得到所述第M+1轮迭代传输对应的预测脏页率。
[0033]在一种可能的设计中,在所述将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中之后,还包括:
[0034]响应于所述目的Pod的服务恢复成功,删除所述待迁移Pod;
[0035]响应于所述目的Pod的服务恢复失败,恢复所述待迁移Pod的服务。
[0036]在一种可能的设计中,所述迁移信息还包括:所述迁移资源对象的当前状态、以及所述待迁移Pod中各个容器的容器信息,所述容器信息至少包括容器属性以及当前状态,则:
[0037]在所述响应于所述目的Pod的服务恢复成功,删除所述待迁移Pod之后,还包括:
[0038]将所述迁移资源对象的当前状态修改为迁移成功状态;
[0039]在所述响应于所述目的Pod的服务恢复失败,恢复所述待迁移Pod的服务之后,还包括:
[0040]将所述迁移资源对象的当前状态修改为迁移失败状态。
[0041]综上所述,本申请提供一种资源迁移的方法,该方法用以实现对于节点资源的自动化迁移控制,基于本申请设计的迁移资源的定义,结合容器编排系统统一的异步消息处理机制(List

Watch),实现容器编排系统中各模块及组件对于迁移资源的同步,从而实现对于迁移流程的自动化控制。
[0042]第二方面,本申请提供了一种资源迁移的装置,所述装置包括:
[0043]获取模块,源节点获取迁移资源对象的迁移信息;其中,所述迁移信息至少包括:待迁移Pod、容器内存迁移类型、所述源节点以及目的节点;
[0044]发送模块,在获取所述迁移信息后,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点;
[0045]确定模块,响应于所述目的节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源迁移的方法,其特征在于,所述方法包括:源节点获取迁移资源对象的迁移信息;其中,所述迁移信息至少包括:待迁移Pod、容器内存迁移类型、所述源节点以及目的节点;在获取所述迁移信息后,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点;响应于所述目的节点接收所述容器镜像信息并创建目的Pod,确定所述容器内存迁移类型对应的迁移规则为在线迁移规则;采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中。2.如权利要求1所述的方法,其特征在于,所述迁移信息还包括:所述迁移资源对象的当前状态、以及所述待迁移Pod中各个容器的容器信息,所述容器信息至少包括容器属性以及当前状态,则:所述在获取所述迁移信息后,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点,包括:在获取所述迁移信息后,响应于所述迁移资源对象的当前状态为准备状态,收集所述待迁移Pod中的容器镜像信息,并将所述容器镜像信息发送给所述目的节点;若将所述容器镜像信息发送给所述目的节点,则将所述迁移资源对象的当前状态修改为开始状态,以使所述目的节点创建目的Pod、并在所述目的Pod上部署所述容器镜像信息。3.如权利要求1所述的方法,其特征在于,所述迁移信息还包括:所述迁移资源对象的当前状态、以及所述待迁移Pod中各个容器的容器信息,所述容器信息至少包括容器属性以及当前状态,则:所述采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中,包括:响应于所述迁移资源对象的当前状态为迁移状态,采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中;若确定所述待迁移Pod中所有的容器内存信息都迁移至所述目的Pod中,则将所述迁移资源对象的当前状态修改为迁移完成状态。4.如权利要求1所述的方法,其特征在于,所述采用所述在线迁移规则,将所述待迁移Pod中的容器内存信息迁移至所述目的Pod中,包括:将所述待迁移Pod中的所有内存页,压缩传输至所述目的Pod;在压缩传输所述所有内存页后,对传输过程中产生的脏页进行多轮迭代传输;其中,在第M+1轮迭代传输过程中,执行以下操作:基于前M轮迭代传输各自对应的预测脏页率与实际脏页率,计算所述第M+1轮迭代传输对应的预测脏页率,并将所述预测脏页率与所述第M轮迭代传输所花费的传输时间之间的乘积,作为所述第M+1轮迭代传输对应的预测脏页量;若所述第M+1轮迭代传输对应的预测脏页量大于所述第M轮迭代传输所产生的脏页量,或前M+1轮迭代传输的总时长大于预设阈值,则将所述待迁移Pod在所述第M+1轮迭代传输产生的脏页,拷贝至所述目的Pod中。5.如权利要求4所述的方法,其特征在于,所述在压缩传输所述所有内存页后,对传输过程中产生的脏页进行多轮迭代传...

【专利技术属性】
技术研发人员:高云登房立坤井小飞郭朝辉何帅
申请(专利权)人:北京神州绿盟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1