Skip to content

andyli029/radondb-mysql-kubernetes

 
 

Repository files navigation

English | 简体中文

banner

Open-source cloud-native database on Kubernetes

A+


What is RadonDB MySQL

RadonDB MySQL is an open-source, cloud-native, and high-availability cluster solution based on MySQL. It supports the architecture of a primary database and multiple secondary databases, with a full set of management functions for security, automatic backup, monitoring and alarming, and automatic capacity expansion, and so on.

RadonDB MySQL Kubernetes supports installation, deployment and management of RadonDB MySQL clusters on Kubernetes, KubeSphere and Rancher, and automates tasks involved in running a RadonDB MySQL cluster.

Features

🧠 High-availability MySQL: Automatic decentralized leader election, failover within seconds, and strong data consistency in cluster switching

✏️ Cluster management

💻 Monitoring and alerting

✍️ Backup for S3

🎈 Log management

👨 Account management

🎨 Others

Architecture

  1. Automatic decentralized leader election by the Raft protocol

  2. Synchronizing data by Semi-Sync replication based on GTID mode

  3. Supporting high-availability through Xenon

banner

Roadmap

Version Features Mode
3.0 Automatic O&M
Multiple node roles
Disaster recovery
SSL transmission encryption
Operator
2.0 Node management
Cluster upgrade
Backup and recovery
Automatic failover
Automatic node rebuilding
Account management (API)
Operator
1.0 Cluster management
Monitoring and alerting
Log management
Account management
Helm

Quick start

👀 This tutorial demonstrates how to deploy a RadonDB MySQL cluster (Operator) on Kubernetes.

Preparation

📦 Prepare a Kubernetes cluster.

Steps

Step 1: Add a Helm repository

helm repo add radondb https://radondb.github.io/radondb-mysql-kubernetes/

Step 2: Install Operator

Set the release name to demo and create a Deployment named demo-mysql-operator.

helm install demo radondb/mysql-operator

Notice

This step also creates the CRD required by the cluster.

Step 3: Deploy a RadonDB MySQL Cluster

Run the following command to create an instance of the mysqlclusters.mysql.radondb.com CRD and thereby create a RadonDB MySQL cluster by using the default parameters. To customize the cluster parameters, see Configuration Parameters.

kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml

📖 For more information, see the documentation:

Who are using RadonDB MySQL

License

RadonDB MySQL is based on Apache 2.0 protocol. See License.

Welcome to join us ❤️

😊 Website: https://radondb.com/

😁 Forum: Please join the RadonDB section of kubesphere Developer Forum.

🦉 Community WeChat group: Please add the group assistant radondb to invite you into the group.

For any bugs, questions, or suggestions about RadonDB MySQL, please create an issue on GitHub or feedback on the forum.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.1%
  • Shell 2.3%
  • Dockerfile 1.7%
  • Makefile 1.3%
  • Smarty 1.1%
  • Mustache 0.4%
  • Starlark 0.1%