Skip to content

Commit

Permalink
Merge pull request #77 from andyli029/427_readme
Browse files Browse the repository at this point in the history
*: rename xenondb to randondb-mysql #75
  • Loading branch information
andyli029 authored Apr 27, 2021
2 parents 7fd6aed + 41d5f8a commit 3d3e548
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 71 deletions.
33 changes: 19 additions & 14 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@

# XenonDB
![](docs/images/logo_xenondb.png) <br>
# RadonDB MySQL
![](docs/images/logo_radondb-mysql.png) <br>

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
Expand All @@ -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 <br> Non-centralized automatic leader election <br> Second level switch <br> Strongly consistent data <br> Cluster management <br> Monitoring and alerting <br> Logs <br> Account management | Helm |
| 2.0 | Node management <br> Automatic expansion and shrinkage capacity <br> Upgrade <br> Backups and Restorations <br> Automatic failover <br> Automatic rebuild node <br> Automatic restart service(all or signal node)<br> Account management(API)<br> Migrating Data online | Operator |
| 3.0 | Automatic O&M <br> Multiple node roles <br> Disaster Recovery <br> 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.
28 changes: 15 additions & 13 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# XenonDB
![](docs/images/logo_xenondb.png) <br>
# RadonDB MySQL

![](docs/images/logo_radondb-mysql.png) <br>

[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)

## 核心功能

Expand All @@ -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)

## 版本路线

Expand All @@ -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。



54 changes: 27 additions & 27 deletions ...ubeSphere/deploy_xenondb_on_kubesphere.md → ...ere/deploy_radondb-mysql_on_kubesphere.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# **在 Kubesphere 上部署 XenonDB 集群**
# **在 Kubesphere 上部署 RadonDB MySQL 集群**

## **简介**

XenonDB 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,XenonDB 可以快速进行故障转移,且不会丢失任何事务。
RadonDB MySQL 是基于 MySQL 的开源、高可用、云原生集群解决方案。通过使用 Raft 协议,RadonDB MySQL 可以快速进行故障转移,且不会丢失任何事务。

## **部署准备**

Expand Down Expand Up @@ -34,25 +34,25 @@ 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 集群内部运行应用程序、工具或服务所需的所有资源定义。
#### **步骤 2:部署**

1. 通过第三方 SSH 客户端,连接 KubeSphere 客户端节点。
2.xenondb 目录路径下,选择如下方式,部署 release 实例。
2.radondb-mysql-kubernetes 目录路径下,选择如下方式,部署 release 实例。

> release 是运行在 Kubernetes 集群中的 Chart 的实例。通过命令方式部署,需指定 release 名称。
Expand Down Expand Up @@ -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
```

Expand All @@ -126,7 +126,7 @@ helm package charts

(2)选择 **平台管理 > 访问控制** ,进入平台级的访问控制页面。

(3)选择**企业空间**,并点击已创建的 `xenondb-workspace` 企业空间名称,进入企业空间管理页面。
(3)选择**企业空间**,并点击已创建的 `radondb-mysql-workspace` 企业空间名称,进入企业空间管理页面。

![企业空间](png/企业空间.png)

Expand All @@ -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)

Expand All @@ -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
<pod-name>.my-release-xenondb
<pod-name>.my-release-radondb-mysql
```

## **连接数据库**

### **步骤 1:创建 Client**

创建一个用于连接 XenonDB 集群的客户端主机。
创建一个用于连接 RadonDB MySQL 集群的客户端主机。

```bash
kubectl run ubuntu -n <namespace> --image=ubuntu:focal -it --rm --restart='Never' -- bash -il
Expand All @@ -201,30 +201,30 @@ apt-get update && apt-get install mysql-client -y
一般默认用户名为 `qingcloud`,默认密码为 `Qing@123`

```bash
kubectl get secret -n <namespace> my-release-xenondb -o jsonpath="{.data.mysql-password}" | base64 --decode; echo
kubectl get secret -n <namespace> my-release-radondb-mysql -o jsonpath="{.data.mysql-password}" | base64 --decode; echo
```

### **步骤 4:连接主节点**

使用默认用户名连接主节点。

```bash
mysql -h my-release-xenondb-leader -u <用户名> -p
mysql -h my-release-radondb-mysql-leader -u <用户名> -p
```

### **步骤 5:连接从节点**

使用默认用户名,密码连接从节点。

```bash
mysql -h my-release-xenondb-follower -u <用户名> -p<密码>
mysql -h my-release-radondb-mysql-follower -u <用户名> -p<密码>
```

>说明:从节点为只读节点。
## **配置**

下表列出了 XenonDB Chart 的配置参数及对应的默认值。
下表列出了 RadonDB MySQL Chart 的配置参数及对应的默认值。

| 参数 | 描述 | 默认值 |
| -------------------------------------------- | -------------------------------------------------------- | -------------------------------------- |
Expand Down
Loading

0 comments on commit 3d3e548

Please sign in to comment.