一种kubernets容器迁移的方法、系统、设备和存储介质技术方案

技术编号:36355638 阅读:45 留言:0更新日期:2023-01-14 18:11
本发明专利技术提供一种kubernets容器迁移的方法、系统、设备和存储介质,方法包括:对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;对Pod的内存数据进行迁移;恢复Pod的标识,根据命名空间、Pod名称以及Pod的IP地址设置键值对,并根据所述键值对生成虚拟IP表;以及基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod。本发明专利技术以命名空间+Pod名称为Key值,Pod的IP地址为Value值,维护一张虚拟IP表,解决了Kubernetes中容器迁移出现的重名问题。现的重名问题。现的重名问题。

【技术实现步骤摘要】
一种kubernets容器迁移的方法、系统、设备和存储介质


[0001]本专利技术涉及集群管理领域,更具体地,特别是指一种kubernets容器迁移的方法、系统、设备和存储介质。

技术介绍

[0002]Kubernetes作为目前使用最广泛的集群管理工具,对于在Kubernetes环境下实现对Pod在线迁移需求也越来越强烈。在Kubernetes中,最小的管理元素不是容器,而是Pod,容器以Pod的方式被Kubernetes组织管理。因此在Kubernetes下实现对容器的在线迁移,实际上是实现Pod的在线迁移。Pod的在线迁移与单纯容器迁移有所不同,容器迁移一次性只需要迁移一个容器,但是在Kubernetes中,一个Pod内可能运行中多个容器,所以迁移Pod时会需要同时迁移多个容器;除此之外,Kubernetes中每一个Pod都有自己独一无二的标识,而在迁移过程中迁移后的Pod与源Pod应当是完全相同的,因此Pod的唯一性与迁移之间存在矛盾,如何解决这些矛盾是在Kubernetes中实现容器迁移所必须要解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术实施例的目的在于提出一种kubernets容器迁移的方法、系统、计算机设备及计算机可读存储介质,本专利技术以命名空间和Pod名称为Key值,Pod的IP地址为Value值,维护一张虚拟IP表,在迁移的服务恢复阶段,利用虚拟IP表实现对Pod请求的切流,解决Kubernetes与迁移之间的矛盾以及对源端Pod的清理工作。
[0004]基于上述目的,本专利技术实施例的一方面提供了一种kubernets容器迁移的方法,包括如下步骤:对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;对Pod的内存数据进行迁移;恢复Pod的标识,根据命名空间、Pod名称以及Pod的IP地址设置键值对,并根据所述键值对生成虚拟IP表;以及基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod。
[0005]在一些实施方式中,所述根据命名空间、Pod名称以及Pod的IP地址设置键值对包括:将目标节点的Pod的命名空间和Pod名称作为key值,将目标节点的Pod的IP地址作为vaule值,并根据所述key值和vaule值形成键值对。
[0006]在一些实施方式中,所述恢复Pod的标识包括:从OSS端下载最后的备份文件,同步Pod中容器的内存状态,并根据容器的内存镜像文件恢复Pod内对应容器的内存状态,同步容器读写层的文件内容。
[0007]在一些实施方式中,所述基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod包括:根据Pod的名称和所在的命名空间找到所有存放在Etcd中的对应Pod的实体,并依次检查IP地址是否一致;响应于IP地址一致,删除对应Pod的实体并清理虚拟IP表;响应于删除对应Pod的实体,源端Kubelet同步时将源端Pod删除。
[0008]本专利技术实施例的另一方面,提供了一种kubernets容器迁移的系统,包括:创建模
块,配置用于对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;迁移模块,配置用于对Pod的内存数据进行迁移;标识模块,配置用于恢复Pod的标识,根据命名空间、Pod名称以及Pod的IP地址设置键值对,并根据所述键值对生成虚拟IP表;以及恢复模块,配置用于基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod。
[0009]在一些实施方式中,所述标识模块配置用于:将目标节点的Pod的命名空间和Pod名称作为key值,将目标节点的Pod的IP地址作为vaule值,并根据所述key值和vaule值形成键值对。
[0010]在一些实施方式中,所述标识模块配置用于:从OSS端下载最后的备份文件,同步Pod中容器的内存状态,并根据容器的内存镜像文件恢复Pod内对应容器的内存状态,同步容器读写层的文件内容。
[0011]在一些实施方式中,所述恢复模块配置用于:根据Pod的名称和所在的命名空间找到所有存放在Etcd中的对应Pod的实体,并依次检查IP地址是否一致;响应于IP地址一致,删除对应Pod的实体并清理虚拟IP表;响应于删除对应Pod的实体,源端Kubelet同步时将源端Pod删除。
[0012]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0013]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0014]本专利技术具有以下有益技术效果:以命名空间和Pod名称为Key值,Pod的IP地址为Value值,维护一张虚拟IP表,在迁移的服务恢复阶段,利用虚拟IP表实现对Pod请求的切流,解决Kubernetes与迁移之间的矛盾以及对源端Pod的清理工作。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0016]图1为本专利技术提供的kubernets容器迁移的方法的实施例的示意图;
[0017]图2为本专利技术提供的虚拟IP表解决冲突的示意图;
[0018]图3为本专利技术提供的kubernets容器迁移的系统的实施例的示意图;
[0019]图4为本专利技术提供的kubernets容器迁移的计算机设备的实施例的硬件结构示意图;
[0020]图5为本专利技术提供的kubernets容器迁移的计算机存储介质的实施例的示意图。
具体实施方式
[0021]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0022]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0023]本专利技术实施例的第一个方面,提出了一种kubernets容器迁移的方法的实施例。图1示出的是本专利技术提供的kubernets容器迁移的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:
[0024]S1、对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;
[0025]S2、对Pod的内存数据进行迁移;
[0026]S3、恢复Pod的标识,根据命名空间、Pod名称以及Po本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种kubernets容器迁移的方法,其特征在于,包括如下步骤:对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;对Pod的内存数据进行迁移;恢复Pod的标识,根据命名空间、Pod名称以及Pod的IP地址设置键值对,并根据所述键值对生成虚拟IP表;以及基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod。2.根据权利要求1所述的方法,其特征在于,所述根据命名空间、Pod名称以及Pod的IP地址设置键值对包括:将目标节点的Pod的命名空间和Pod名称作为key值,将目标节点的Pod的IP地址作为vaule值,并根据所述key值和vaule值形成键值对。3.根据权利要求1所述的方法,其特征在于,所述恢复Pod的标识包括:从OSS端下载最后的备份文件,同步Pod中容器的内存状态,并根据容器的内存镜像文件恢复Pod内对应容器的内存状态,同步容器读写层的文件内容。4.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟IP表根据Pod的名称和所在的命名空间确定目标Pod,并根据所述目标Pod清除源端Pod包括:根据Pod的名称和所在的命名空间找到所有存放在Etcd中的对应Pod的实体,并依次检查IP地址是否一致;响应于IP地址一致,删除对应Pod的实体并清理虚拟IP表;响应于删除对应Pod的实体,源端Kubelet同步时将源端Pod删除。5.一种kubernets容器迁移的系统,其特征在于,包括:创建模块,配置用于对容器镜像和文件系统进行迁移,并在目标节点上申请系统资源以完成Pod的创建;迁移模块,配置用于对...

【专利技术属性】
技术研发人员:曹玲玲
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1