MySQL制造技术

技术编号:39730594 阅读:5 留言:0更新日期:2023-12-17 23:34
本发明专利技术涉及云原生技术领域,提供一种

【技术实现步骤摘要】
MySQL数据库容器化集群管理平台及电子设备


[0001]本专利技术涉及云原生
,尤其涉及一种
MySQL
数据库容器化集群管理平台及电子设备


技术介绍

[0002]MySQL
数据库作为当前最主流的关系型数据库之一,在各业务系统的建设中有着最为广泛的应用

然而在大规模业务场景下,现有基于脚本命令在物理机或虚拟机上部署
MySQL
集群以及通过虚拟
IP
提供对外访问与故障转移的方式,缺乏对
MySQL
数据库的全生命周期自动化管理能力

统一的运维管控能力

健全的故障恢复手段

完善的监控告警系统,使得
MySQL
集群部署运维效率低

故障恢复时间长,无法为快速发展的业务系统提供高可用

高可靠的
MySQL
服务

基于容器的集群部署方式,在便捷部署

弹性伸缩

故障自愈等诸多方面存在突出优势,然而当前容器化方案大部分基于无状态应用实现,而
MySQL
数据库为有状态应用,现有的容器化方式
MySQL
集群的构建及节点迁移

备库重搭等运维过程复杂且易出错,无法有效实现
MySQL
集群的故障自愈和主从切换等关键运维能力


技术实现思路

>[0003]本专利技术提供一种
MySQL
数据库容器化集群管理平台及电子设备,用以解决现有的容器化方式
MySQL
集群的构建及节点迁移

备库重搭等运维过程复杂且易出错,无法有效实现
MySQL
集群的关键运维能力的缺陷

[0004]本专利技术提供一种
MySQL
数据库容器化集群管理平台,包括:
[0005]数据库容器化平台,用于提供
MySQL
数据库的高可用能力;所述高可用能力包括集群创建

状态维护

备份恢复

主从切换和故障自愈;
[0006]容器云平台,用于对所述
MySQL
数据库的待部署集群进行容器化部署,并实现所述数据库容器化平台提供的高可用能力;
[0007]配置管理模块,用于用于记录

查询及配置所述
MySQL
数据库集群不同版本的运行配置参数

[0008]根据本专利技术提供的
MySQL
数据库容器化集群管理平台,所述容器云平台包括自定义控制器
operator、
有状态服务控制器和调度器;所述对所述
MySQL
数据库的待部署集群进行容器化部署时,所述容器云平台具体用于:
[0009]获取所述
MySQL
数据库的待部署集群的元信息;所述元信息包括所述待部署集群的资源类型

节点数量

版本信息

镜像地址

服务端口号和所述待部署集群所在的命名空间;
[0010]根据所述元信息在
Kubernetes
集群中创建自定义资源对象,以及所述自定义资源对象对应的存储持久卷
PV
和挂载配置文件;所述自定义资源对象用于描述待部署集群服务期望的节点数量

拓扑关系和资源用量;
[0011]所述自定义控制器
operator
在检测到所述自定义资源对象的创建时,根据所述元
信息创建所述待部署集群服务的状态集合,以及所述待部署集群服务的数据库服务;
[0012]所述有状态服务控制器用于根据所述状态集合创建所述数据库服务对应的数据库实例
pod

[0013]所述调度器在监听到所述数据库实例
pod
时,通过预设的调度算法将所述数据库实例
pod
与所述
MySQL
数据库的目标节点绑定,以将所述存储持久卷
PV
对应的数据存储目录和所述挂载配置文件挂载到所述目标节点的数据磁盘;
[0014]所述容器云平台还用于启动所述数据库实例
pod
,以启动所述
MySQL
数据库中的目标容器,对所述待部署集群服务进行容器化部署;
[0015]所述自定义控制器
operator
在检测到所述数据库实例
pod
启动完成时,构建所述数据库服务的同步链路,以使所述数据库服务的主从实例进行数据同步;
[0016]所述自定义控制器
operator
还用于将所述数据库实例
pod
的地址信息回写至所述自定义资源对象的状态信息中,以供业务侧访问使用

[0017]根据本专利技术提供的
MySQL
数据库容器化集群管理平台,所述
MySQL
数据库容器化集群管理平台还包括监控平台和日志平台;所述目标容器包括
MySQL
数据库服务容器

代理容器
agent
和监控容器
exporter
,其中:
[0018]所述监控容器
exporter
用于对接所述监控平台,向所述监控平台提供监控数据接口;
[0019]所述代理容器
agent
用于收集与分析所述
MySQL
数据库的慢查询日志并同步至所述日志平台;
[0020]所述
MySQL
数据库服务容器用于提供所述
MySQL
数据库的基本读写服务

[0021]根据本专利技术提供的
MySQL
数据库容器化集群管理平台,所述主从切换包括主动主从切换,所述主动主从切换在所述
MySQL
数据库的集群升级或维修时触发;所述容器云平台在实现所述数据库容器化平台提供的高可用能力时,还用于:
[0022]获取第一主节点数据库实例名称,并将所述数据库实例名称配置为所述自定义资源对象的参数;所述第一主节点是所述
MySQL
数据库进行主动主从切换后的主节点;
[0023]将第二主节点设置为只读模式,并断开第一从节点和所述第二主节点的连接;所述第二主节点是所述
MySQL
数据库进行主动主从切换前的主节点,所述第一从节点是所述
MySQL
数据库进行主动主从切换前的从节点;
[0024]在所述自定义资源对象的状态信息中更新所述第一主节点和第二从节点的主从信息;所述主从信息包括地址信息...

【技术保护点】

【技术特征摘要】
1.
一种
MySQL
数据库容器化集群管理平台,其特征在于,包括:数据库容器化平台,用于提供
MySQL
数据库的高可用能力;所述高可用能力包括集群创建

状态维护

备份恢复

主从切换和故障自愈;容器云平台,用于对所述
MySQL
数据库的待部署集群进行容器化部署,并实现所述数据库容器化平台提供的高可用能力;配置管理模块,用于记录

查询及配置所述
MySQL
数据库集群不同版本的运行配置参数
。2.
根据权利要求1所述的
MySQL
数据库容器化集群管理平台,其特征在于,所述容器云平台包括自定义控制器
operator、
有状态服务控制器和调度器;所述对所述
MySQL
数据库的待部署集群进行容器化部署时,所述容器云平台具体用于:获取所述
MySQL
数据库的待部署集群的元信息;所述元信息包括所述待部署集群的资源类型

节点数量

版本信息

镜像地址

服务端口号和所述待部署集群所在的命名空间;根据所述元信息在
Kubernetes
集群中创建自定义资源对象,以及所述自定义资源对象对应的存储持久卷
PV
和挂载配置文件;所述自定义资源对象用于描述待部署集群服务期望的节点数量

拓扑关系和资源用量;所述自定义控制器
operator
在检测到所述自定义资源对象的创建时,根据所述元信息创建所述待部署集群服务的状态集合,以及所述待部署集群服务的数据库服务;所述有状态服务控制器用于根据所述状态集合创建所述数据库服务对应的数据库实例
pod
;所述调度器在监听到所述数据库实例
pod
时,通过预设的调度算法将所述数据库实例
pod
与所述
MySQL
数据库的目标节点绑定,以将所述存储持久卷
PV
对应的数据存储目录和所述挂载配置文件挂载到所述目标节点的数据磁盘;所述容器云平台还用于启动所述数据库实例
pod
,以启动所述
MySQL
数据库中的目标容器,对所述待部署集群服务进行容器化部署;所述自定义控制器
operator
在检测到所述数据库实例
pod
启动完成时,构建所述数据库服务的同步链路,以使所述数据库服务的主从实例进行数据同步;所述自定义控制器
operator
还用于将所述数据库实例
pod
的地址信息回写至所述自定义资源对象的状态信息中,以供业务侧访问使用
。3.
根据权利要求2所述的
MySQL
数据库容器化集群管理平台,其特征在于,所述
MySQL
数据库容器化集群管理平台还包括监控平台和日志平台;所述目标容器包括
MySQL
数据库服务容器

代理容器
agent
和监控容器
exporter
,其中:所述监控容器
exporter
用于对接所述监控平台,向所述监控平台提供监控数据接口;所述代理容器
agent
用于收集与分析所述
MySQL
数据库的慢查询日志并同步至所述日志平台;所述
MySQL
数据库服务容器用于提供所述
MySQL
数据库的基本读写服务
。4.
根据权利要求2所述的
MySQL
数据库容器化集群管理平台,其特征在于,所述主从切换包括主动主从切换,所述主动主从切换在所述
MySQL
数据库的集群升级或维修时触发;所述容器云平台在实现所述数据库容器化平台提供的高可用能力时,还用于:获取第一主节点数据库实例名称,并将所述数据库实例名称配置为所述自定义资源对
象的参数;所述第一主节点是所述
MySQL
数据库进行主动主从切换后的主节点;将第二主节点设置为只读模式,并断开第一从节点和所述第二主节点的连接;所述第二主节点是所述
MySQL
数据库进行主动主从切换前的主节点,所述第一从节点是所述
MySQL
数据库进行主动主从切换前的从节点;在所述自定义资源对象的状态信息中更新所述第一主节点和第二从节点的主从信息;所述主从信息包括地址信息

实例名称和主从类型标志,所述第二从节点是所述
MySQL
数据库进行主动主从切换后的从节点;基于所述自定...

【专利技术属性】
技术研发人员:樊宇邹金柱宋东昌荆培洋褚二虎廖梦瑶杨振郑鑫刘庆辉
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1