diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 9ee5adef..73edd24d --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ -# XenonDB - ![](docs/images/logo_xenondb.png)
+# RadonDB MySQL + ![](docs/images/logo_radondb-mysql.png)
English | [中文](README_zh.md) -## What is XenonDB? +## What is RadonDB MySQL -[XenonDB](https://github.com/radondb/xenondb) is a open-source, cloud-native, highly available cluster solutions that is based on [MySQL](https://MySQL.org) database. With the Raft protocol,XenonDB provide the faster failover performance without losing any transactions. +[RadonDB MySQL](https://github.com/radondb/radondb-mysql-kubernetes) is a open-source, cloud-native, highly available cluster solutions that is based on [MySQL](https://MySQL.org) database. With the Raft protocol,RadonDB MySQL provide the faster failover performance without losing any transactions. -At present, XenonDB has supported the deployment of MySQL high availability clusters on kubernetes and kubesphere platforms. +At present, RadonDB MySQL has supported the deployment of MySQL high availability clusters on kubernetes and kubesphere platforms. ## Architecture - Achieving decentralized selection through the Raft protocol. - Synchronize data based on GTID mode through Semi-Sync. -![](docs/images/XenonDB_Architecture_1.png) +![](docs/images/radondb-mysql_Architecture_1.png) + ## Features + - High availability MySQL database - Non-centralized automatic leader selection - Second level switch leader to follower @@ -27,30 +29,33 @@ At present, XenonDB has supported the deployment of MySQL high availability clus - Account management ## Installation -There are support that depoy XneonDB on the Kubernetes or Kubesphere platforms. -- [Deploy xenonDB on Kubernetes](docs/Kubernetes/deploy_xenondb_on_kubernetes.md) -- [Deploy xenonDB on the appstore of KubeSphere](docs/KubeSphere/deploy_xenondb_on_kubesphere.md) +- [Deploy RadonDB MySQL on Kubernetes](docs/Kubernetes/deploy_radondb-mysql_on_kubernetes.md) +- [Deploy RadonDB MySQL on the appstore of KubeSphere](docs/KubeSphere/deploy_radondb-mysql_on_kubesphere.md) ## Release + | Release | Features | Mode | |------|--------|--------| | 1.0 | High availability
Non-centralized automatic leader election
Second level switch
Strongly consistent data
Cluster management
Monitoring and alerting
Logs
Account management | Helm | | 2.0 | Node management
Automatic expansion and shrinkage capacity
Upgrade
Backups and Restorations
Automatic failover
Automatic rebuild node
Automatic restart service(all or signal node)
Account management(API)
Migrating Data online | Operator | | 3.0 | Automatic O&M
Multiple node roles
Disaster Recovery
SSL transmission encryption | Operator | -## Who are using XenonDB? + +## Who are using RadonDB MySQL ![](docs/images/users.png) + ## License -XenonDB is released under the Apache 2.0, see [LICENSE](./LICENSE). +RadonDB MySQL is released under the Apache 2.0, see [LICENSE](./LICENSE). ## Discussion and Community + - Forum -The XenonDB topic in [Kubesphere Community](https://kubesphere.com.cn/forum/t/XenonDB). + The RadonDB MySQL topic in [Kubesphere Community](https://kubesphere.com.cn/forum/t/radondb-mysql). - WeChat group -![](docs/images/wechat_group.png) + ![](docs/images/wechat_group.png) -Please submit any XenonDB bugs, issues, and feature requests to XenonDB GitHub Issue. +Please submit any RadonDB MySQL bugs, issues, and feature requests to RadonDB MySQL GitHub Issue. diff --git a/README_zh.md b/README_zh.md index e4dee7ea..7eade1e3 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1,19 +1,21 @@ -# XenonDB - ![](docs/images/logo_xenondb.png)
+# RadonDB MySQL + + ![](docs/images/logo_radondb-mysql.png)
[English](README.md) | 中文 -## 什么是 XenonDB -XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。支持一主多从高可用架构,并具备安全、自动备份、监控告警、自动扩容等全套管理功能。 +## 什么是 RadonDB MySQL + +[RadonDB MySQL](https://github.com/radondb/radondb-mysql-kubernetes) 是基于 MySQL 的开源、高可用、云原生集群解决方案。支持一主多从高可用架构,并具备安全、自动备份、监控告警、自动扩容等全套管理功能。 -目前 XenonDB 已支持 Kubernetes 和 KubeSphere 平台部署 MySQL 高可用集群。 +目前 RadonDB MySQL 已支持 Kubernetes 和 KubeSphere 平台部署 MySQL 高可用集群。 ## 架构图 - 通过 Raft 协议实现无中心化选主 - 通过 Semi-Sync 基于 GTID 模式同步数据 -![](docs/images/XenonDB_Architecture_1.png) +![](docs/images/radondb-mysql_Architecture_1.png) ## 核心功能 @@ -27,10 +29,9 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 - 账户管理 ## 快速部署 -目前已支持在 Kubernetes 和 KubeSphere 平台的部署。 -- [ 在 Kubernetes 上部署 XenonDB 集群](docs/Kubernetes/deploy_xenondb_on_kubernetes.md) -- [ 在 Kubesphere 上部署 XenonDB 集群 ](docs/KubeSphere/deploy_xenondb_on_kubesphere.md) +- [ 在 Kubernetes 上部署 RadonDB MySQL 集群](docs/Kubernetes/deploy_radondb-mysql_on_kubernetes.md) +- [ 在 Kubesphere 上部署 RadonDB MySQL 集群 ](docs/KubeSphere/deploy_radondb-mysql_on_kubesphere.md) ## 版本路线 @@ -43,21 +44,22 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 ## 用户案例 ![](docs/images/users.png) + ## 协议 -XenonDB 基于 Apache 2.0 协议,详见 [LICENSE](./LICENSE)。 +RadonDB MySQL 基于 Apache 2.0 协议,详见 [LICENSE](./LICENSE)。 ## 欢迎加入社区话题互动 - 论坛 -请加入[Kubesphere 开发者社区](https://kubesphere.com.cn/forum/t/XenonDB) XenonDB 话题专区。 + 请加入[Kubesphere 开发者社区](https://kubesphere.com.cn/forum/t/radondb-mysql) RadonDB MySQL 话题专区。 - 微信群 -![](docs/images/wechat_group.png) + ![](docs/images/wechat_group.png) -有任何 XenonDB 错误、问题和功能,请您提交在 XenonDB GitHub 提交 Issue。 +有任何 RadonDB MySQL 错误、问题和功能,请您提交在 RadonDB MySQL GitHub 提交 Issue。 \ No newline at end of file diff --git a/docs/KubeSphere/deploy_xenondb_on_kubesphere.md b/docs/KubeSphere/deploy_radondb-mysql_on_kubesphere.md old mode 100644 new mode 100755 similarity index 90% rename from docs/KubeSphere/deploy_xenondb_on_kubesphere.md rename to docs/KubeSphere/deploy_radondb-mysql_on_kubesphere.md index 6264a434..03532acb --- a/docs/KubeSphere/deploy_xenondb_on_kubesphere.md +++ b/docs/KubeSphere/deploy_radondb-mysql_on_kubesphere.md @@ -1,8 +1,8 @@ -# **在 Kubesphere 上部署 XenonDB 集群** +# **在 Kubesphere 上部署 RadonDB MySQL 集群** ## **简介** -XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,XenonDB 可以快速进行故障转移,且不会丢失任何事务。 +RadonDB MySQL 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,RadonDB MySQL 可以快速进行故障转移,且不会丢失任何事务。 ## **部署准备** @@ -34,17 +34,17 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 ## **部署步骤** -可选择 [命令行](#通过命令行部署-XenonDB-集群) 或 [控制台](#通过控制台部署-XenonDB-集群) 两种方式部署 XenonDB 集群。 +可选择 [命令行](#通过命令行部署-RadonDB-MySQL-集群) 或 [控制台](#通过控制台部署-RadonDB-MySQL-集群) 两种方式部署 RadonDB MySQL 集群。 -### **通过命令行部署 XenonDB 集群** +### **通过命令行部署 RadonDB MySQL 集群** -#### **步骤 1:克隆 XenonDB Chart** +#### **步骤 1:克隆 RadonDB MySQL Chart** 1. 通过第三方 SSH 客户端,连接 KubeSphere 客户端节点。 -2. 执行如下命令,将 XenonDB Chart 克隆到 KubeSphere 客户端节点中。 +2. 执行如下命令,将 RadonDB MySQL Chart 克隆到 KubeSphere 客户端节点中。 ```bash - git clone https://github.com/radondb/xenondb.git + git clone https://github.com/radondb/radondb-mysql-kubernetes.git ``` > Chart 代表 [Helm](https://helm.sh/zh/docs/intro/using_helm/) 包,包含在 Kubernetes 集群内部运行应用程序、工具或服务所需的所有资源定义。 @@ -52,7 +52,7 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 #### **步骤 2:部署** 1. 通过第三方 SSH 客户端,连接 KubeSphere 客户端节点。 -2. 在 xenondb 目录路径下,选择如下方式,部署 release 实例。 +2. 在 radondb-mysql-kubernetes 目录路径下,选择如下方式,部署 release 实例。 > release 是运行在 Kubernetes 集群中的 Chart 的实例。通过命令方式部署,需指定 release 名称。 @@ -97,24 +97,24 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 执行完成后,回显如下提示信息,则部署指令执行成功。 ![部署成功](png/部署成功.png) -- 登录 KubeSphere 管理工作台,在**工作负载**中选择**有状态副本集**页签,可查看到目标副本集,则 XenonDB 集群部署成功。 +- 登录 KubeSphere 管理工作台,在**工作负载**中选择**有状态副本集**页签,可查看到目标副本集,则 RadonDB MySQL 集群部署成功。 ![控制台部署成功](png/控制台部署成功.png) -### **通过控制台部署 XenonDB 集群** +### **通过控制台部署 RadonDB MySQL 集群** -#### **步骤 1:创建 XenonDB Chart 压缩包** +#### **步骤 1:创建 RadonDB MySQL Chart 压缩包** -拉取 XenonDB Chart。 +拉取 RadonDB MySQL Chart。 ```bash -git clone https://github.com/radondb/xenondb.git +git clone https://github.com/radondb/radondb-mysql-kubernetes.git ``` 打包生成 tgz 或 tar.gz 文件。 ```bash -cd xenondb +cd radondb-mysql-kubernetes helm package charts ``` @@ -126,7 +126,7 @@ helm package charts (2)选择 **平台管理 > 访问控制** ,进入平台级的访问控制页面。 -(3)选择**企业空间**,并点击已创建的 `xenondb-workspace` 企业空间名称,进入企业空间管理页面。 +(3)选择**企业空间**,并点击已创建的 `radondb-mysql-workspace` 企业空间名称,进入企业空间管理页面。 ![企业空间](png/企业空间.png) @@ -136,19 +136,19 @@ helm package charts ![应用管理](png/应用管理.png) - 点击 **创建** ,在弹窗中上传步骤一创建的 XenonDB Chart 压缩包。 + 点击 **创建** ,在弹窗中上传步骤一创建的 RadonDB MySQL Chart 压缩包。 ![上传](png/上传.png) (5)部署新应用。 - 点击 **项目管理**,进入已创建的 `xenondb-deploy` 项目管理中心。 + 点击 **项目管理**,进入已创建的 `radondb-mysql-deploy` 项目管理中心。 选择 **应用负载 > 应用**,进入项目应用管理页面。 ![应用负载](png/应用负载.png) - 点击 **部署新应用**,在 **来自应用模板**窗口中选择 `xenondb`。 + 点击 **部署新应用**,在 **来自应用模板**窗口中选择 `radondb-mysql`。 ![部署新应用](png/部署新应用.png) @@ -164,23 +164,23 @@ helm package charts #### **步骤 3:部署校验** -在**项目管理**管理中心,选择 **应用负载 > 工作负载**,并选择**有状态副本集**页签,可查看到release 名为 `my-release` 的副本集,则 XenonDB 集群已成功部署。 +在**项目管理**管理中心,选择 **应用负载 > 工作负载**,并选择**有状态副本集**页签,可查看到release 名为 `my-release` 的副本集,则 radondb-mysql 集群已成功部署。 ![控制台部署成功](png/控制台部署成功.png) -## **访问 XenonDB 节点** +## **访问 RadonDB MySQL 节点** -XenonDB 由一个主节点和两个从节点组成,可通过如下命令访问每个 XenonDB 节点: +RadonDB MySQL 由一个主节点和两个从节点组成,可通过如下命令访问每个 RadonDB MySQL 节点: ```txt -.my-release-xenondb +.my-release-radondb-mysql ``` ## **连接数据库** ### **步骤 1:创建 Client** -创建一个用于连接 XenonDB 集群的客户端主机。 +创建一个用于连接 RadonDB MySQL 集群的客户端主机。 ```bash kubectl run ubuntu -n --image=ubuntu:focal -it --rm --restart='Never' -- bash -il @@ -201,7 +201,7 @@ apt-get update && apt-get install mysql-client -y 一般默认用户名为 `qingcloud`,默认密码为 `Qing@123`。 ```bash -kubectl get secret -n my-release-xenondb -o jsonpath="{.data.mysql-password}" | base64 --decode; echo +kubectl get secret -n my-release-radondb-mysql -o jsonpath="{.data.mysql-password}" | base64 --decode; echo ``` ### **步骤 4:连接主节点** @@ -209,7 +209,7 @@ kubectl get secret -n my-release-xenondb -o jsonpath="{.data.mysql-p 使用默认用户名连接主节点。 ```bash -mysql -h my-release-xenondb-leader -u <用户名> -p +mysql -h my-release-radondb-mysql-leader -u <用户名> -p ``` ### **步骤 5:连接从节点** @@ -217,14 +217,14 @@ mysql -h my-release-xenondb-leader -u <用户名> -p 使用默认用户名,密码连接从节点。 ```bash -mysql -h my-release-xenondb-follower -u <用户名> -p<密码> +mysql -h my-release-radondb-mysql-follower -u <用户名> -p<密码> ``` >说明:从节点为只读节点。 ## **配置** -下表列出了 XenonDB Chart 的配置参数及对应的默认值。 +下表列出了 RadonDB MySQL Chart 的配置参数及对应的默认值。 | 参数 | 描述 | 默认值 | | -------------------------------------------- | -------------------------------------------------------- | -------------------------------------- | diff --git a/docs/Kubernetes/deploy_xenondb_on_kubernetes.md b/docs/Kubernetes/deploy_radondb-mysql_on_kubernetes.md old mode 100644 new mode 100755 similarity index 92% rename from docs/Kubernetes/deploy_xenondb_on_kubernetes.md rename to docs/Kubernetes/deploy_radondb-mysql_on_kubernetes.md index 276f0245..d0b31728 --- a/docs/Kubernetes/deploy_xenondb_on_kubernetes.md +++ b/docs/Kubernetes/deploy_radondb-mysql_on_kubernetes.md @@ -1,10 +1,10 @@ -# **在 Kubernetes 上部署 XenonDB 集群** +# **在 Kubernetes 上部署 RadonDB MySQL 集群** ## **简介** -XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,XenonDB 可以快速进行故障转移,且不会丢失任何事务。 +RadonDB MySQL 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,RadonDB MySQL 可以快速进行故障转移,且不会丢失任何事务。 -本教程演示如何使用命令行在 Kubernetes 上部署 XenonDB。 +本教程演示如何使用命令行在 Kubernetes 上部署 RadonDB MySQL。 ## **部署准备** @@ -12,19 +12,19 @@ XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。 ## **部署步骤** -### **步骤 1:克隆 XenonDB Chart** +### **步骤 1:克隆 RadonDB MySQL Chart** -执行如下命令,将 XenonDB Chart 克隆到 Kubernetes 中。 +执行如下命令,将 RadonDB MySQL Chart 克隆到 Kubernetes 中。 ```bash -git clone https://github.com/radondb/xenondb.git +git clone https://github.com/radondb/radondb-mysql-kubernetes.git ``` > Chart 代表 [Helm](https://helm.sh/zh/docs/intro/using_helm/) 包,包含在 Kubernetes 集群内部运行应用程序、工具或服务所需的所有资源定义。 ### **步骤 2:部署** -在 xenondb 目录路径下,选择如下方式,部署 release 实例。 +在 radondb-mysql-kubernetes 目录路径下,选择如下方式,部署 release 实例。 > release 是运行在 Kubernetes 集群中的 Chart 的实例。通过命令方式部署,需指定 release 名称。 @@ -65,33 +65,33 @@ git clone https://github.com/radondb/xenondb.git ### **步骤 3:部署校验** -部署指令执行完成后,查看 XenonDB 有状态副本集,pod 状态及服务。可查看到相关信息,则 XenonDB 部署成功。 +部署指令执行完成后,查看 RadonDB MySQL 有状态副本集,pod 状态及服务。可查看到相关信息,则 RadonDB MySQL 部署成功。 ```bash kubectl get statefulset,pod,svc ``` -## **连接 XenonDB** +## **连接 RadonDB MySQL** -您需要准备一个用于连接 XenonDB 的客户端。 +您需要准备一个用于连接 RadonDB MySQL 的客户端。 -### **客户端和 XenonDB 在同一项目中** +### **客户端和 RadonDB MySQL 在同一项目中** -当客户端和 XenonDB 集群在同一个项目中时,可使用 leader/follower 代替具体的 ip 和端口。 +当客户端和 RadonDB MySQL 集群在同一个项目中时,可使用 leader/follower 代替具体的 ip 和端口。 - 连接主节点。 ```bash - mysql -h -xenondb-leader -u <用户名> -p + mysql -h -radondb-mysql-leader -u <用户名> -p ``` - 连接从节点。 ```bash - mysql -h -xenondb-follower -u <用户名> -p + mysql -h -radondb-mysql-follower -u <用户名> -p ``` -### **客户端和 XenonDB 不在同一项目中** +### **客户端和 RadonDB MySQL 不在同一项目中** -当客户端和 XenonDB 集群不在同一个项目中时,需先分别获取连接所需的节点地址、节点端口、服务名称。 +当客户端和 RadonDB MySQL 集群不在同一个项目中时,需先分别获取连接所需的节点地址、节点端口、服务名称。 1. 查询 pod 列表和服务列表,分别获取 pod 名称和服务名称。 @@ -121,7 +121,7 @@ kubectl get statefulset,pod,svc ## **配置** -下表列出了 XenonDB Chart 的配置参数及对应的默认值。 +下表列出了 RadonDB MySQL Chart 的配置参数及对应的默认值。 | 参数 | 描述 | 默认值 | | -------------------------------------------- | -------------------------------------------------------- | -------------------------------------- | diff --git a/docs/images/logo_radondb-mysql.png b/docs/images/logo_radondb-mysql.png new file mode 100644 index 00000000..1408fee7 Binary files /dev/null and b/docs/images/logo_radondb-mysql.png differ diff --git a/docs/images/XenonDB_Architecture_1.png b/docs/images/radondb-mysql_Architecture_1.png similarity index 100% rename from docs/images/XenonDB_Architecture_1.png rename to docs/images/radondb-mysql_Architecture_1.png