RadonDB MySQL Kubernetes 集群部署指南(2025最新版)
一、项目简介
RadonDB MySQL Kubernetes 是基于 Kubernetes 的企业级 MySQL 高可用集群解决方案,核心特性包括:
-
Raft协议去中心化选举
通过内置Raft共识算法实现自动领导者选举,当主节点故障时,集群可在秒级内完成故障转移,保障业务连续性。 -
GTID半同步复制
基于GTID(全局事务标识)的半同步复制机制,确保数据强一致性,同时兼顾性能与可靠性。 -
Xenon高可用组件
集成Xenon中间件,实现自动故障检测、脑裂防护及数据同步优化,构建金融级高可用架构。
二、安装前准备
1. Kubernetes集群部署
可以尝试使用fastdp-ops快速部署K8s集群,支持单节点/多节点模式,兼容主流操作系统。
2. 镜像加速配置
国内从 Docker Hub 拉取镜像有时会遇到困难拉取失败。虽然可以配国内镜像源加速拉取镜像,但许多曾经常用的国内镜像站(包括各种云服务商和高校镜像站)已经无法使用。推荐一个实测可用的加速地址https://docker.1ms.run运营方为毫秒镜像(木雷坞)免费、提供在线技术支持、长期维护
国内环境建议配置镜像加速,编辑/etc/docker/daemon.json:
{
"registry-mirrors": [
"https://docker.1ms.run"
]
}
重启服务:
systemctl restart docker
3. cert-manager部署(证书管理)
安装最新版cert-manager(v1.14):
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.16.1/cert-manager.yaml
4.确保有默认的storageclass存储类
查看存储类,如果没有则需要先部署存储类,否则无法动态创建pv给mysql使用
kubectl get sc
三、RadonDB MySQL集群部署
1. 安装Operator
下载最新版(v3.0.1):
wget https://github.com/radondb/radondb-mysql-kubernetes/releases/download/v3.0.1/radondb-mysql-kubernetes-3.0.1.zip
unzip radondb-mysql-kubernetes-3.0.1.zip
cd radondb-mysql-kubernetes-3.0.1/charts/mysql-operator
helm install demo .
2. 创建集群实例
默认MySQL 5.7集群:
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/download/v3.0.0/mysql_v1alpha1_mysqlcluster.yaml
MySQL 8.0集群:
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/download/v3.0.0/mysql_v1alpha1_mysqlcluster_mysql8.yaml
3. 验证集群
- 查看状态:
kubectl get mysqlcluster # 查看主库pod状态 kubectl get pod -l role=LEADER # 查看从库pod状态 kubectl get pod -l role=FOLLOWER - 获取Root密码:
kubectl get secret sample-secret -o jsonpath='{.data.internal-root-password}' | base64 -d - 连接主库:
# 业务服务连接时可以通过sample-leader这个svc连接到主库 mysql -h <sample-leader地址> -uroot -p<密码>
四、高级配置与运维
1. 参数调优
修改mysql_v1alpha1_mysqlcluster_mysql8.yaml自定义配置(如资源限制、备份策略),参考配置文档。
2. 故障转移测试
模拟主库故障:
kubectl delete pod <主库Pod名> -n mysql-operator
观察新主库选举及服务恢复时间(通常<30秒)。
3. 集群扩容
通过修改mysqlclusters.mysql.radondb.com的replicas字段实现水平扩展。
五、常见问题
-
国内拉取GitHub失败:
建议手动下载资源后通过kubectl apply -f <本地文件>部署。 -
镜像拉取超时:
确认镜像加速配置生效,或使用私有镜像仓库(如Harbor)。 -
证书问题:
检查cert-manager状态,确保cert-manager命名空间下Pod运行正常。
六、总结
RadonDB MySQL Kubernetes 通过Raft+Xenon+GTID技术栈,为企业提供了开箱即用的MySQL高可用解决方案。结合Kubernetes的声明式API,实现集群全生命周期管理,适用于金融、电商等对数据库可靠性要求极高的场景。
更多推荐


所有评论(0)