RadonDB MySQL on Kubernetes 於 2 月 17 日釋出了新版本 2.1.2 。該版本在節點的重建、增刪等方面進行了全面升級。
致謝:
首先感謝 @andyli029 @acekingke @runkecheng @molliezhang 提交的修改。
什麼是 RadonDB MySQL?
RadonDB MySQL 是一款基於 MySQL 的開源、高可用、雲原生叢集解決方案。支援一主多從高可用架構,並具備安全、自動備份、監控告警、自動擴容等全套管理功能。目前已經在生產環境中大規模的使用,使用者包含 銀行、保險、傳統大企業等。服務高可用由已經開源的 MySQL 叢集高可用組建 Xenon 來實現。
隨著國內外雲原生技術蓬勃發展,資料庫容器化實現技術趨於成熟,各大 K8s 社群使用者對 MySQL on K8s 高可用的需求呼聲不斷。社群決定將 RadonDB MySQL 完整的移植到 K8s 平臺,並於 2021 年將其正式開源。專案意在為廣大的 K8s 和 MySQL 開發者們,提供一款企業級的 MySQL on K8s 高可用方案。
RadonDB MySQL Kubernetes 支援在 Kubernetes、KubeSphere、Rancher 等平臺安裝部署和管理,自動執行與執行 RadonDB MySQL 叢集有關的任務。
RoadMap
- 支援更多方式的資料庫備份恢復
- 支援更細粒度的配置更新
- 支援 MySQL 8.0
- 抽象完善外部呼叫 API
- 進一步提升服務質量,減少特殊場景下啟停時間
- 完善週期排程 job 功能更高效支援重複工作
- StatefulSet 完善為 Multi StatefulSet
- 支援線上遷移
- 完善 e2e 測試框架,覆蓋更多場景
專案地址
新版本功能一覽
- 支援從已有節點克隆資料初始化
- 支援重建節點
- 支援顯示節點 Raft 狀態
- 增刪節點不再觸發滾動更新
- 支援一鍵配置映象地址字首
- 增加多平臺部署文件
- 支援 e2e 測試框架
以下是完整 2.1.2 和 2.1.1 版本的 Release Notes。
2.1.2 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 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
歡迎大家下載體驗!