bitpoke/mysql-operator框架介绍

简介

这里主要涉及对于mysql-operator浅层的理解,之后补充对mysql-operator的源码理解。

  1. 源码:

bitpoke/mysql-operator

  1. 官方博客

bitpoke blog

  1. 优势
  • 通过helm自动化搭建mysql集群

  • 支持多种组件,包括监控、扩展、备份和恢复

  • 支持xtrabackup进行数据备份和恢复操作

  • 支持orchestrator进行数据库实例仲裁

  • 当前支持mysql5.7、mysql5.8和MariaDB

主要架构

bitpoke/mysql-operator代码架构是基于kubebuilder,核心组件主要包括Manager, Client, Cache, Controller和Reconciler等。Manager的组件驱动的,Manager中包含了多个组件,其中Cache中保存了gvk和informer的映射关系,用于通过informer的方式缓存kubernetes 的对象。Controller使用workqueue的方式缓存informer传递过来的对象,后续提取workqueue中的对象,传递给Reconciler进行处理。

kubebuilder相关架构图:

kubebuilder架构图

mysql-operator组件图:
mysql-operator组件图

controller组件

在bitpoke/mysql-operator主要7个controller中,主要包括:

  • mysqlcluster-controller
    主要负责CRD资源实例mysqlcluster的管理,主要功能为mysql实例的管理

  • mysqldatabase-controller
    主要负责CRD资源实例mysqldatabase管理,主要功能为mysql的database的创建

  • mysqluser-controller
    主要负责CRD资源实例mysqluser管理,主要功能为mysql的user的创建

  • mysqlbackup-controller
    主要负责CRD资源mysqlbackup管理,主要功能通过xtrabackup工具对mysql进行备份操作

  • mysqlbackupcron-controller
    主要负责为mysql集群提供定时备份的功能,其内部通过定时拉起mysqlbackup的任务

  • node-controller
    主要负责对mysql实例进行管理,针对replica角色进行预处理

  • orchestrator-controller
    主要通过orchestrator组件,对mysql实例进行角色仲裁

CRD资源

  • mysqlcluster

  • mysqldatabase

  • mysqluser

  • mysqlbackup

参考资料

mysql-operator容器化部署mysql8

kubebuilder operator的运行逻辑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值