From 96403c59bba6fc68a4d203dc854ffdc83d2ea418 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 27 Apr 2021 19:59:53 +0800 Subject: [PATCH] *: rename xenondb to randondb-mysql #75 applied by molliezhang --- README.md | 33 ++++++----- README_zh.md | 28 ++++----- ... => deploy_radondb-mysql_on_kubesphere.md} | 54 +++++++++--------- ... => deploy_radondb-mysql_on_kubernetes.md} | 34 +++++------ docs/images/logo_radondb-mysql.png | Bin 0 -> 13182 bytes ...1.png => radondb-mysql_Architecture_1.png} | Bin 6 files changed, 78 insertions(+), 71 deletions(-) mode change 100644 => 100755 README.md rename docs/KubeSphere/{deploy_xenondb_on_kubesphere.md => deploy_radondb-mysql_on_kubesphere.md} (90%) mode change 100644 => 100755 rename docs/Kubernetes/{deploy_xenondb_on_kubernetes.md => deploy_radondb-mysql_on_kubernetes.md} (92%) mode change 100644 => 100755 create mode 100644 docs/images/logo_radondb-mysql.png rename docs/images/{XenonDB_Architecture_1.png => radondb-mysql_Architecture_1.png} (100%) 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 0000000000000000000000000000000000000000..1408fee740ca4590794c0fd6e87a46dd38f8542d GIT binary patch literal 13182 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 L{rBf%Bu)J<1lW=% literal 0 HcmV?d00001 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