Skip to content

acekingke/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 adopts the architecture of one leader node and multiple replicas, with management capabilities for security, automatic backups, monitoring and alerting, automatic scaling, 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 RadonDB MySQL clusters.

Features

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

✏️ Cluster management

💻 Monitoring and alerting

✍️ S3 backups and NFS backups

🎈 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.

Alt

About

Open Source,High Availability Cluster,based on MySQL

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.9%
  • Makefile 1.2%
  • Other 1.9%