Databases 8 min read

How to Deploy a High‑Availability RadonDB MySQL Cluster on KubeSphere

This guide walks you through preparing the environment, adding the RadonDB MySQL operator repository, deploying the operator, installing a MySQL cluster, and verifying the deployment on KubeSphere, providing all necessary commands and screenshots for a successful high‑availability setup.

Qingyun Technology Community
Qingyun Technology Community
Qingyun Technology Community
How to Deploy a High‑Availability RadonDB MySQL Cluster on KubeSphere

Deployment Preparation

Ensure OpenPitrix is enabled.

Create a workspace, a project, and a user for the operation.

Make sure the project gateway allows external access.

Hands‑On Experiment

1. Add Application Repository

Log in to the KubeSphere web console.

In the demo workspace, go to Application Management → Application Repository, click Add, and open the repository configuration dialog.

Enter repository name radondb-mysql-operator and URL https://radondb.github.io/radondb-mysql-kubernetes/, then verify and confirm.

After import, the RadonDB MySQL repository appears in the list.

2. Deploy RadonDB MySQL Operator

In the demo-project project, go to Application Workloads → Applications and click Deploy New Application.

Select the application template and choose the radondb-mysql-operator repository.

Click the mysql-operator icon to view and configure the application.

In the Configuration tab, edit values.yaml as needed; select the desired version.

Click Deploy, confirm the application name, version, and deployment location.

Proceed through the next steps, reviewing the values.yaml configuration.

Click Deploy; when the status changes to Running, the operator is successfully deployed.

Update Operator

If a previous version of the operator exists, delete it from KubeSphere, then reinstall the latest version. Apply the new CRD with:

kubectl apply -f https://raw.githubusercontent.com/radondb/radondb-mysql-kubernetes/v2.1.2/charts/mysql-operator/crds/mysql.radondb.com_mysqlclusters.yaml

3. Deploy RadonDB MySQL Cluster

Choose a sample configuration or customize your own. Using the mysql_v1alpha1_mysqlcluster.yaml template, run:

kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=<project_name>

Note: Without specifying a project, the cluster installs in the kubesphere-controls-system project. Add --namespace=<project_name> to target a specific project.

Expected output:

$ kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=demo-project
mysqlcluster.mysql.radondb.com/sample created

After creation, verify the cluster services: kubectl get statefulset,svc Expected output:

$ kubectl get statefulset,svc
NAME                            READY   AGE
statefulset.apps/sample-mysql   3/3     10m

NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/default-http-backend   ClusterIP   10.96.69.202    <none>        80/TCP     3h2m
service/sample-follower        ClusterIP   10.96.9.162     <none>        3306/TCP   10m
service/sample-leader          ClusterIP   10.96.255.188   <none>        3306/TCP   10m
service/sample-mysql           ClusterIP   None            <none>        3306/TCP   10m

Deployment Verification

In the demo-project project, view the cluster status:

Go to Application Workloads → Services to see service details.

Navigate to Application Workloads → Workloads, open a StatefulSet, and view monitoring metrics.

Check Application Workloads → Pods for pod status.

Inspect Application Workloads → Persistent Volumes to see storage usage.

After completing these steps, the RadonDB MySQL cluster is successfully deployed and operational on KubeSphere.

databaseKubernetesOperatorMySQLKubeSphereRadonDB
Qingyun Technology Community
Written by

Qingyun Technology Community

Official account of the Qingyun Technology Community, focusing on tech innovation, supporting developers, and sharing knowledge. Born to Learn and Share!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.