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.
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.yaml3. 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 createdAfter 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 10mDeployment 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.
Qingyun Technology Community
Official account of the Qingyun Technology Community, focusing on tech innovation, supporting developers, and sharing knowledge. Born to Learn and Share!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
