本发明专利技术公开了一种集群间持久化存储同步方法、装置、设备及存储介质,用于解决现有的集群间持久化存储过程繁琐的技术问题。本发明专利技术包括:根据预设旧集群的存储资源生成第一crd资源;根据所述第一crd资源生成所述旧集群的第一deployment控制器;根据预设新集群的存储资源生成第二crd资源;根据所述第二crd资源生成所述新集群的第二deployment控制器;通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源。源。源。
【技术实现步骤摘要】
一种集群间持久化存储同步方法、装置、设备及存储介质
[0001]本专利技术涉及存储同步
,尤其涉及一种集群间持久化存储同步方法、装置、设备及存储介质。
技术介绍
[0002]在云原生领域中,pv(persistentVolume,持久化存储),是k8s为云原生应用提供一种拥有独立生命周期的、用户可管理的存储的抽象设计,可对接多种底层存储技术,如:nfs、ceph。各种存储技术通过pv抽象化成为k8s的共享存储。当项目需要做跨集群迁移时,用户需要将底层存储数据同步,这时用户需要解决两个问题:
[0003]1、如何实现底层存储同步;
[0004]2、存储同步后,如何在新集群重建项目与存储的绑定关系。
[0005]以ceph为例,ceph有完整的数据同步方案,但是用户在新集群重建pv时,需要根据底层存储路径手动创建,并不能创建项目后自动生成pv,重新绑定旧数据。nfs同样存在以上弊端。用户其实并不想关注底层存储同步实现,只需实现项目的数据同步,即实现pv数据同步。
[0006]为了解决上述问题,现有技术主要有以下两种方式:
[0007]1、基于rsync项目级别的存储同步方法:在新、旧k8s集群间创建项目,自动创建pv后,将pv对应的存储路径挂载到主机,通过rsync做数据同步。然而,该方式存在以下弊端:
[0008]1)、挂载次数跟项目数量成正比;
[0009]2)存储挂载到主机,同步的进程运行在k8s之外。
[0010]2、基于底层存储,集群间数据同步,搭建新旧存储集群,使用集群级别数据同步方案,目前ceph集群间的同步方案较为成熟,如cephfs、rbd间存储同步。然后,通过集群级别的同步方案,存在以下弊端:每个项目都需要手动创建pv,绑定对应的存储路径。
技术实现思路
[0011]本专利技术提供了一种集群间持久化存储同步方法、装置、设备及存储介质,用于解决现有的集群间持久化存储过程繁琐的技术问题。
[0012]本专利技术提供了一种集群间持久化存储同步方法,包括:
[0013]根据预设旧集群的存储资源生成第一crd资源;
[0014]根据所述第一crd资源生成所述旧集群的第一deployment控制器;
[0015]根据预设新集群的存储资源生成第二crd资源;
[0016]根据所述第二crd资源生成所述新集群的第二deployment控制器;
[0017]通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源。
[0018]可选地,所述根据所述第一crd资源生成所述旧集群的第一deployment控制器的步骤,包括:
[0019]基于所述第一crd资源生成第一service资源;
[0020]基于所述第一crd资源生成第一configmap资源;
[0021]基于所述第一crd资源生成第一persistentVolume资源;
[0022]采用所述第一service资源、所述第一configmap资源和所述第一persistentVolume资源生成所述旧集群的第一deployment控制器。
[0023]可选地,所述基于所述第一crd资源生成第一service资源的步骤,包括:
[0024]从所述第一crd资源中获取服务端口port和宿主机端口nodeport;
[0025]采用所述port和nodeport生成所述旧集群的第一service资源。
[0026]可选地,所述基于所述第一crd资源生成第一configmap资源的步骤,包括:
[0027]从所述第一crd中提取所述新集群的ip地址和端口信息;
[0028]采用所述新集群的ip地址和端口信息生成第一configmap资源。
[0029]可选地,所述基于所述第一crd资源生成第一persistentVolume资源的步骤,包括:
[0030]从所述第一crd资源中获取pv存储信息;
[0031]在预设default命名空间中创建所述pv存储信息对应的第一persistentVolume资源。
[0032]可选地,所述通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源的步骤,包括:
[0033]获取所述第一deployment控制器的第一备份服务;
[0034]获取所述第二deployment控制器的第二备份服务;
[0035]采用所述第一备份服务和所述第二备份服务同步同步所述旧集群和所述新集群的存储资源。
[0036]本专利技术还提供了一种集群间持久化存储同步装置,包括:
[0037]第一crd资源生成模块,用于根据预设旧集群的存储资源生成第一crd资源;
[0038]第一deployment控制器生成模块,用于根据所述第一crd资源生成所述旧集群的第一deployment控制器;
[0039]第二crd资源生成模块,用于根据预设新集群的存储资源生成第二crd资源;
[0040]第二deployment控制器生成模块,用于根据所述第二crd资源生成所述新集群的第二deployment控制器;
[0041]同步模块,用于通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源。
[0042]可选地,所述第一deployment控制器生成模块,包括:
[0043]第一service资源生成子模块,用于基于所述第一crd资源生成第一service资源;
[0044]第一configmap资源生成子模块,用于基于所述第一crd资源生成第一configmap资源;
[0045]第一persistentVolume资源生成子模块,用于基于所述第一crd资源生成第一persistentVolume资源;
[0046]第一deployment控制器生成子模块,用于采用所述第一service资源、所述第一configmap资源和所述第一persistentVolume资源生成所述旧集群的第一deployment控制
器。
[0047]本专利技术还提供了一种电子设备,所述设备包括处理器以及存储器:
[0048]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0049]所述处理器用于根据所述程序代码中的指令执行如上任一项所述的集群间持久化存储同步方法。
[0050]本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的集群间持久化存储同步方法。
[0051]从以上技术方案可以看出,本专利技术具有以下优点:本专利技术公开了一种集群间持久化存储同步方法,包括:根据预设旧集群的存储资源生成第一本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种集群间持久化存储同步方法,其特征在于,包括:根据预设旧集群的存储资源生成第一crd资源;根据所述第一crd资源生成所述旧集群的第一deployment控制器;根据预设新集群的存储资源生成第二crd资源;根据所述第二crd资源生成所述新集群的第二deployment控制器;通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一crd资源生成所述旧集群的第一deployment控制器的步骤,包括:基于所述第一crd资源生成第一service资源;基于所述第一crd资源生成第一configmap资源;基于所述第一crd资源生成第一persistentVolume资源;采用所述第一service资源、所述第一configmap资源和所述第一persistentVolume资源生成所述旧集群的第一deployment控制器。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一crd资源生成第一service资源的步骤,包括:从所述第一crd资源中获取服务端口port和宿主机端口nodeport;采用所述port和nodeport生成所述旧集群的第一service资源。4.根据权利要求2所述的方法,其特征在于,所述基于所述第一crd资源生成第一configmap资源的步骤,包括:从所述第一crd中提取所述新集群的ip地址和端口信息;采用所述新集群的ip地址和端口信息生成第一configmap资源。5.根据权利要求2所述的方法,其特征在于,所述基于所述第一crd资源生成第一persistentVolume资源的步骤,包括:从所述第一crd资源中获取pv存储信息;在预设default命名空间中创建所述pv存储信息对应的第一persistentVolume资源。6.根据权利要求1所述的方法,其特征在于,所述通过所述第一deployment控制器和所述第二deployment控制器同步所述旧集群和所述新集群的存储资源的步骤,包括:获取所述第一...
【专利技术属性】
技术研发人员:黄于权,
申请(专利权)人:天翼数字生活科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。