一种基于Kubernetes的数据同步环境部署方法和装置制造方法及图纸

技术编号:26342141 阅读:29 留言:0更新日期:2020-11-13 20:30
本发明专利技术涉及数据同步和容器技术领域,具体涉及一种基于Kubernetes的数据同步环境部署方法和装置,其中方法包括:根据达梦数据实时同步软件的特点,通过编写Dockerfile制作达梦数据实时同步软件Docker镜像;基于Docker镜像开发Chart仓库,制作各节点的Kubernetes资源yml模板,并定义服务配置模板和字典参数模板;基于Chart仓库模板文件,在Kubernetes环境上使用Helm指令自动化部署达梦数据实时同步环境。本发明专利技术实现了数据同步环境的自动化部署,省去人工部署的麻烦,更能避免人为失误;而且将达梦数据实时同步软件应用到容器中,解决了容器间数据库数据的在线迁移问题。

A data synchronization environment deployment method and device based on kubernetes

【技术实现步骤摘要】
一种基于Kubernetes的数据同步环境部署方法和装置
本专利技术涉及数据同步和容器
,具体涉及一种基于Kubernetes的数据同步环境部署方法和装置。
技术介绍
达梦数据实时同步软件(DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制,具有很大的应用价值。在使用DMHS这样的数据同步软件时,如何快速准确地实现数据同步环境部署至关重要。数据同步软件的传统部署方式是通过插件或脚本来安装数据同步服务,一条完整的数据同步链路至少包含源和目的两个数据同步服务,另外还需要对源端和目的端数据同步服务进行配置;这样做不仅数据同步服务的运行、配置、管理以及所有生命周期将与当前操作系统绑定,而且一套完整的数据同步环境还要依赖数据库环境,需配置源库和目的库连接信息,这样增加了运维难度,不利于数据同步软件的升级更新/回滚等操作;当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。需要说明的是,使用以上所述的传统方式搭建一套同步环境,通常需要运维人员的人为干预,比如配置源端和目的端同步服务、装载数据字典等工作,人工部署存在很多麻烦,准确率和效率都比较低,难以快速准确地实现数据同步环境的自动化部署。另一方面,对于容器中的数据库,虽然是以计算和存储分离的方式进行部署的,但是容器难免会遇到故障重启导致数据库服务中断,使得应用业务也中断了;而由于容器间的数据无法进行实时同步,存在严重的容器间数据在线迁移问题,影响了数据的正常使用。鉴于此,克服上述现有技术所存在的缺陷是本
亟待解决的问题。
技术实现思路
本专利技术需要解决的技术问题是:传统的数据同步环境部署通常需要运维人员的人为干预,比如配置源端和目的端同步服务,人工部署存在很多麻烦,难以快速准确地实现数据同步环境的自动化部署;另一方面,容器间的数据无法进行实时同步,存在严重的容器间数据在线迁移问题,影响数据的正常使用。本专利技术通过如下技术方案达到上述目的:第一方面,本专利技术提供了一种基于Kubernetes的数据同步环境部署方法,包括:根据达梦数据实时同步软件的特点,通过编写Dockerfile制作达梦数据实时同步软件Docker镜像;其中,所述Docker镜像支持源端节点和目的端节点的自动化部署安装配置;基于所述Docker镜像开发达梦数据实时同步软件Chart仓库,制作数据同步环境中源端节点和目的端节点的Kubernetes资源yml模板,并定义服务配置模板和字典参数模板;基于所述Chart仓库中的模板文件,在Kubernetes环境上使用Helm指令自动化部署达梦数据实时同步环境。优选的,所述Dockerfile的编写过程具体包括:确定基础镜像,并建立达梦数据实时同步软件镜像的制作者信息;准备达梦数据实时同步环境所需的安装包、配置模板文件和相关脚本文件;其中,所述相关脚本文件中包括主脚本startup.sh;定义容器中要使用的环境变量,并将所述配置模板文件和所述相关脚本文件中需要修改的一个或多个配置项变量化;暴露数据同步环境需要给外部使用的端口,并根据需要开放容器中的对应端口;初始化容器后,运行主脚本程序,以便实现数据同步环境中源端节点和目的端节点的安装自动化部署工作;使用Docker命令构建达梦数据实时同步软件镜像,并将构建的镜像打标签后上传到Docker私服。优选的,所述配置模板文件包括源端配置模板和目的端配置模板;所述相关脚本文件中还包括字典装载模板脚本、源端上判断目的端同步服务EXEC模块运行情况的exp脚本、达梦数据实时同步服务日志跨月切换shell脚本、容器时区控制脚本、达梦数据实时同步环境安装部署之前预处理脚本中的一项或多项。优选的,所述主脚本程序的运行过程具体为:在完成达梦数据实时同步软件部署安装之前的准备工作后,根据环境变量里传过来的信息判断节点角色,继而进入对应角色的安装部署流程,以实现同步环境各节点的并行部署;其中,所述节点角色包括源端和目的端;当源端运行CPT模块开启同步、目的端运行EXEC模块开启同步之后,整个数据同步环境部署完毕。优选的,所述源端的安装部署流程具体包括:准备源端数据库环境后,配置源端同步服务,根据容器中传过来的环境变量替换配置模板中对应的配置项,并拷贝到bin运行环境目录;运行源端MGR同步服务,当MGR服务和目的端EXEC模块正常运行后,根据所述字典参数模板装载字典;字典装载完毕之后,运行CPT模块开启同步。优选的,所述目的端的安装部署流程具体包括:准备目的端数据库环境后,配置目的端同步服务,根据容器中传过来的环境变量替换配置模板中对应的配置项,并拷贝到bin运行环境目录;运行目的端MGR同步服务,当MGR服务正常运行后,运行EXEC模块开启同步。优选的,在数据同步环境部署完毕之后,所述方法还包括:在源端数据库执行DDL和DML操作,并到目的端数据库验证对应的DDL和DML操作是否执行,以便验证源端和目的端之间的数据同步是否有效。优选的,在数据同步环境部署过程中,所述方法还包括:各容器将数据同步环境各节点的同步服务日志推送到系统输出流,并根据达梦数据实时同步软件日志的特点,采用软链接和cron定时任务实现达梦数据实时同步服务日志跨月监控。优选的,所述Chart仓库中的模板文件目录包括数据同步环境各节点的deployment资源yml模板文件、service资源yml模板文件,以及各yml模板文件要使用的变量定义函数模板_helpers.tpl;所述deployment资源yml模板文件中定义容器基本信息、容器使用的Docker镜像、容器CPU内存资源、数据持久化卷、容器内部端口及网络协议、容器环境变量以及容器内部探针中的一项或多项信息;所述service资源yml模板文件用于将同步环境中各节点容器以Service方式提供服务,容器间以NodePort方式进行访问;所述变量定义函数模板_helpers.tpl文件用于将数据同步环境自动化部署中使用的一个或多个变量定义成函数,以便deployment资源yml模板文件和service资源yml模板文件调用。第二方面,本专利技术提供了一种基于Kubernetes的数据同步环境部署装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成第一方面所述的基于Kubernetes的数据同步环境部署方法。与现有技术相比,本专利技术的有益效果是:本专利技术提供了一种容器间数据实时同步环境的部署方案,根据达本文档来自技高网
...

【技术保护点】
1.一种基于Kubernetes的数据同步环境部署方法,其特征在于,包括:/n根据达梦数据实时同步软件的特点,通过编写Dockerfile制作达梦数据实时同步软件Docker镜像;其中,所述Docker镜像支持源端节点和目的端节点的自动化部署安装配置;/n基于所述Docker镜像开发达梦数据实时同步软件Chart仓库,制作数据同步环境中源端节点和目的端节点的Kubernetes资源yml模板,并定义服务配置模板和字典参数模板;/n基于所述Chart仓库中的模板文件,在Kubernetes环境上使用Helm指令自动化部署达梦数据实时同步环境。/n

【技术特征摘要】
1.一种基于Kubernetes的数据同步环境部署方法,其特征在于,包括:
根据达梦数据实时同步软件的特点,通过编写Dockerfile制作达梦数据实时同步软件Docker镜像;其中,所述Docker镜像支持源端节点和目的端节点的自动化部署安装配置;
基于所述Docker镜像开发达梦数据实时同步软件Chart仓库,制作数据同步环境中源端节点和目的端节点的Kubernetes资源yml模板,并定义服务配置模板和字典参数模板;
基于所述Chart仓库中的模板文件,在Kubernetes环境上使用Helm指令自动化部署达梦数据实时同步环境。


2.根据权利要求1所述的基于Kubernetes的数据同步环境部署方法,其特征在于,所述Dockerfile的编写过程具体包括:
确定基础镜像,并建立达梦数据实时同步软件镜像的制作者信息;
准备达梦数据实时同步环境所需的安装包、配置模板文件和相关脚本文件;其中,所述相关脚本文件中包括主脚本;
定义容器中要使用的环境变量,并将所述配置模板文件和所述相关脚本文件中需要修改的一个或多个配置项变量化;
暴露数据同步环境需要给外部使用的端口,并根据需要开放容器中的对应端口;
初始化容器后,运行主脚本程序,以便实现数据同步环境中源端节点和目的端节点的安装自动化部署工作;
使用Docker命令构建达梦数据实时同步软件镜像,并将构建的镜像打标签后上传到Docker私服。


3.根据权利要求2所述的基于Kubernetes的数据同步环境部署方法,其特征在于,所述配置模板文件包括源端配置模板和目的端配置模板;
所述相关脚本文件中还包括字典装载模板脚本、源端上判断目的端同步服务EXEC模块运行情况的脚本、达梦数据实时同步服务日志跨月切换脚本、容器时区控制脚本、达梦数据实时同步环境安装部署之前预处理脚本中的一项或多项。


4.根据权利要求2所述的基于Kubernetes的数据同步环境部署方法,其特征在于,所述主脚本程序的运行过程具体为:
在完成达梦数据实时同步软件部署安装之前的准备工作后,根据环境变量里传过来的信息判断节点角色,继而进入对应角色的安装部署流程,以实现同步环境各节点的并行部署;
其中,所述节点角色包括源端和目的端;当源端运行CPT模块开启同步、目的端运行EXEC模块开启同步之后,整个数据同步环境部署完毕。


5.根据权利要求4所述的基于Kubernetes的数据同步环境部署方法,其特征在于,所述源端的安装部署流程具体包括:
准备源端数据库环境后,配置源端同步服务,根据容器中传过来的环境变量替换配...

【专利技术属性】
技术研发人员:付铨陈琦王斌余院兰孙峰
申请(专利权)人:武汉达梦数据库有限公司
类型:发明
国别省市:湖北;42

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

1