RadonDB MySQL on Kubernetes released a new version 2.1.2 on February 17th. This version has been upgraded comprehensively in node reconstruction, addition and deletion. Thank you:

First of all, thank @andyli029@acekingke@runkecheng@mollieZhang for submitting the modification.

What is RadonDB MySQL?

RadonDB MySQL is an open source, high availability, cloud native cluster solution based on MySQL. Supports a high availability architecture with one master, multiple slave, and a full set of management functions such as security, automatic backup, alarm monitoring, and automatic capacity expansion. At present, it has been used on a large scale in the production environment, including banks, insurance, traditional large enterprises and so on. High availability of services is implemented by Xenon, an open source MySQL cluster high availability component.

With the booming development of cloud native technology at home and abroad, database containerization technology tends to mature, users of various K8s communities are constantly demanding MySQL on K8s high availability. The community decided to fully port RadonDB MySQL to the K8s platform and open source it in 2021. The project aims to provide an enterprise-level MySQL on K8s high availability solution for K8s and MySQL developers.

RadonDB MySQL Kubernetes supports installation, deployment, and management on platforms such as Kubernetes, KubeSphere, and Rancher, and automatically performs tasks related to running RadonDB MySQL cluster.

RoadMap

  1. Supports more methods of database backup and recovery
  2. Support for more granular configuration updates
  3. Supports MySQL 8.0
  4. Abstraction improves the external call API
  5. Further improve service quality and reduce the start-stop time in special scenarios
  6. Improve the periodic job scheduling function to efficiently support repetitive work
  7. StatefulSet improved to Multi StatefulSet
  8. Online migration
  9. Improve the E2E testing framework to cover more scenarios

The project address

  • Github.com/radondb/rad…
  • Github.com/radondb/xen…

Features of the new version

  1. Supports initialization of clone data from existing nodes
  2. Support for rebuilding nodes
  3. Raft status of nodes is displayed
  4. Adding and deleting nodes no longer trigger rolling updates
  5. One-click configuration of mirror address prefixes is supported
  6. Added multi-platform deployment documentation
  7. Supports e2E testing frameworks

Here are the full Release Notes versions 2.1.2 and 2.1.1.

2.1.2 the Release Notes

Features

  • Clone init from follower node. #322
  • Support for manual repair invalid nodes. #331
  • Add E2E framework and simple testcase. #347
  • Support more node role labels. #334
  • Support unified setting images repository address. #378
  • Add tutorials of deploy radondb mysql on rancher. #338
  • Add tutorials of deploy radondb mysql on kubesphere. #152

Improvements

  • Upgrade E2E frame to Ginkgo v2. #360
  • Update the description about access radondb mysql. #340
  • Change the default path of the rbac proxy image. #146
  • Make the versions provided by helm repo and release consistent. #352
  • Add .gitignore about e2e logs and function. #381

Bug fixes

  • Fixed the cluster status cannot be changed after the POD exit abnormally. #366
  • Fixed the container time zone is not consistent with the host time zone . #329

2.1.1 the Release Notes

Features

  • Support clone initial when add new pod. #250#291
  • Update replicas without restart. #282
  • Support display the raft status of the node in nodes.conditions. #284#285
  • charts: Support offline deployment. #300#301
  • workflow: Manage Chart using Helm repo. #290#294
  • workflow: Automatic code check and unit tests. #277
  • Makefile: Synchronize the generated files to Chart while generating CRD. #280

Improvements

  • syncer: Make Nodes.Conditions only show the condition of the presence node. #283#286
  • syncer: Keep PVC when closing the cluster. #304#308
  • syncer: Optimize update POD trigger conditions. #321
  • sidecar: Rewrite restore logic using golang. #292#293
  • container: Optimize the directive of Mysql liveness check. #305#318
  • Dockerfile: Provide backup of district/static:nonroot image. #287#296
  • docs: Update deployment document. #298

Bug fixes

  • Fix the setting method of innodb_buffer_pool_instance. #244#265
  • Fix bug of not effective version of mysql56. #203#217
  • Fix failed to restore from backup after extending pvc. #370#291
  • syncer: Fix bug of parallel updated nodes. #310#314
  • syncer: Fix operator restart when closing cluster. #312#315
  • container: Fix pod exception restart when high pressure. #305#318
  • docs: Fix check CRD about mysqluser. #281

Welcome to download and experience!

Reference and download links:

  1. The Release Notes: github.com/radondb/rad…
  2. The RoadMap: github.com/radondb/rad…