在Kubernetes环境下使用本地存储的容器的迁移方法技术

技术编号:39058690 阅读:11 留言:0更新日期:2023-10-12 19:51
本申请实施例公开一种在Kubernetes环境下使用本地存储的容器的迁移方法、装置、设备及存储介质。方法包括:获取Kubernetes集群中所有节点的状态;若存在异常节点,则重建Pod并将重建的Pod调度至可用节点;删除原PVC并创建新PVC,生成LV请求以使可用节点基于LV请求动态创建PV;将PV挂载至重建的Pod上。本申请无需人为干预处理节点异常情况,在用户无感知的情况下实现容器自动迁移到新的可用节点,提高了用户体验。用户体验。用户体验。

【技术实现步骤摘要】
在Kubernetes环境下使用本地存储的容器的迁移方法


[0001]本专利技术属于Kubernetes存储
,尤其涉及一种在Kubernetes环境下使用本地存储的容器的迁移方法、装置、设备及存储介质。

技术介绍

[0002]Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,可以快速有效地响应用户需求。在Kubernetes环境下,当节点失效时,kubelet机制会主动删除失效节点上的容器,经过调度器重新选择新的节点恢复重建,但是由于Pod绑定了PV,因此重新调度后还是调度到了故障节点上,从使用者角度看体验十分不友好。

技术实现思路

[0003]为了解决现有技术的问题,本专利技术提出一种在Kubernetes环境下使用本地存储的容器的迁移方法、装置、设备及存储介质。该方法不需要人为干预处理节点异常情况,在用户无感知的情况下实现容器自动迁移到新的可用节点。
[0004]本专利技术实施例提供的具体技术方案如下:
[0005]第一方面,提供一种在Kubernetes环境下使用本地存储的容器的迁移方法,所述方法包括:
[0006]获取Kubernetes集群中所有节点的状态;
[0007]若存在异常节点,则重建Pod并将所述重建的Pod调度至可用节点;
[0008]删除原PVC并创建新PVC,生成LV请求以使所述可用节点基于所述LV请求动态创建PV;
[0009]将PV挂载至所述重建的Pod上。
[0010]在一些实施例中,所述生成LV请求具体包括:
[0011]确定所述可用节点的存储设备的类型;
[0012]获取所述存储设备的容量信息;
[0013]筛选得到满足预设容量条件的存储设备,创建LV。
[0014]在一些实施例中,所述可用节点基于所述LV请求动态创建PV具体包括:
[0015]基于所述LV请求在存储设备上创建存储卷;
[0016]对所述存储卷进行格式化,将Volume挂载到格式化后的存储卷上;
[0017]当检测到LV的挂载目录时,创建PV。
[0018]在一些实施例中,所述基于所述LV请求在存储设备上创建存储卷具体包括:
[0019]对所述LV请求进行解析,获取用于生成存储卷的存储设备、容量大小和文件系统类型信息;
[0020]判断所述可用节点的存储设备的剩余容量是否满足容量条件;
[0021]当满足时,在存储设备上创建存储卷;
[0022]相应的,所述对所述存储卷进行格式化具体包括:
[0023]基于所述文件类型信息对所述存储卷进行格式化。
[0024]在一些实施例中,所述存储设备包括磁盘、VG中的任意一种。
[0025]在一些实施例中,所述可用节点的确定过程具体包括:
[0026]获取所有备用节点的存储信息;
[0027]对所有备用节点进行筛选,过滤不满足存储要求的备用节点;
[0028]对筛选后得到的所有备用节点进行评分,确定得到可用节点。
[0029]在一些实施例中,所述方法还包括:在生成LV请求之前,确定所述新PVC与csi

driver相一致。
[0030]第二方面,提供一种在Kubernetes环境下使用本地存储的容器的迁移装置,所述装置包括:
[0031]控制模块,用于获取Kubernetes集群中所有节点的状态;若存在异常节点,则重建Pod;
[0032]调度模块,用于将所述重建的Pod调度至可用节点;
[0033]所述控制模块还用于删除原PVC并创建新PVC,生成LV请求;
[0034]节点管理模块,用于为所述可用节点基于所述LV请求动态创建PV;
[0035]节点服务模块,用于PV挂载至所述重建的Pod上。
[0036]第三方面,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
[0037]第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
[0038]本专利技术实施例具有如下有益效果:
[0039]本专利技术在出现异常节点时,删除原Pod,解绑原PVC与PV,重建Pod、重建PVC并动态绑定可用PV,无需人为干预处理节点异常情况,在用户无感知的情况下实现容器自动迁移到新的可用节点,提高了用户体验。
附图说明
[0040]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1是根据本公开实施例的在Kubernetes环境下使用本地存储的容器的迁移方法的示例性流程图;
[0042]图2是根据本公开实施例的在Kubernetes环境下使用本地存储的容器的迁移装置的结构示意图;
[0043]图3是根据本公开实施例的计算机设备的结构示意图。
具体实施方式
[0044]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附
图,对本专利技术实施例中的技术方案行进清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0045]如
技术介绍
所述,目前,在Kubernetes环境下,当节点失效时,kubelet机制会主动删除失效节点上的容器,经过调度器重新选择新的节点恢复重建,但是由于Pod绑定了PV,因此重新调度后还是调度到了故障节点上,从使用者角度看体验十分不友好。
[0046]为了解决上述容器调度至故障节点的问题,本申请申请人创造性想到重建Pod并调度至可用节点,通过重建PVC并动态绑定PV,使得在Pod中可以使用PV这一技术方案。
[0047]图1示出了根据本公开实施例的在Kubernetes环境下使用本地存储的容器的迁移方法的示例性流程图,该在Kubernetes环境下使用本地存储的容器的迁移方法的详述如下:
[0048]步骤101、获取Kubernetes集群中所有节点的状态。
[0049]具体的,在Kubernetes集群中部署完本方案后,可以按照实际需求实时监听Kubernetes集群环境下所有节点的状态,或者也可以是指定节点的状态,本实施例对此不做限定。
[0050]步骤102、若存在异常节点,则重建Pod并将重建的Pod调度至可用节点。
[0051]其中,Pod是Kubernetes管理的最小单元,多个容器组合本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在Kubernetes环境下使用本地存储的容器的迁移方法,其特征在于,所述方法包括:获取Kubernetes集群中所有节点的状态;若存在异常节点,则重建Pod并将所述重建的Pod调度至可用节点;删除原PVC并创建新PVC,生成LV请求以使所述可用节点基于所述LV请求动态创建PV;将PV挂载至所述重建的Pod上。2.根据权利要求1所述的方法,其特征在于,所述生成LV请求具体包括:确定所述可用节点的存储设备的类型;获取所述存储设备的容量信息;筛选得到满足预设容量条件的存储设备,创建LV。3.根据权利要求2所述的方法,其特征在于,所述可用节点基于所述LV请求动态创建PV具体包括:基于所述LV请求在存储设备上创建存储卷;对所述存储卷进行格式化,将Volume挂载到格式化后的存储卷上;当检测到LV的挂载目录时,创建PV。4.根据权利要求3所述的方法,其特征在于,所述基于所述LV请求在存储设备上创建存储卷具体包括:对所述LV请求进行解析,获取用于生成存储卷的存储设备、容量大小和文件系统类型信息;判断所述可用节点的存储设备的剩余容量是否满足容量条件;当满足时,在存储设备上创建存储卷;相应的,所述对所述存储卷进行格式化具体包括:基于所述文件类型信息对所述存储卷进行格式化。5.根据权利要求2~4任意一项所述的方法,其特征在于,所述存储设备包括磁盘、VG...

【专利技术属性】
技术研发人员:花磊张凯崔骥付少松赵安全王亮张振华
申请(专利权)人:江苏博云科技股份有限公司
类型:发明
国别省市:

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

1