RadonDB MySQL Kubernetes 于 10 月 22 日發布了第四個版本 2.1.0 [1],該版本也是由 Operator 方式實作的第二個版本,

該專案的開源,意在為廣大的 K8s 和 MySQL 開發者們,提供一款企業級的 MySQL on K8s 高可用解決方案,
致謝
首先感謝 @andyli029 @hustjieke @zhyass @runkecheng @acekingke @molliezhang 提交的修改,
| 什么是 RadonDB MySQL?

RadonDB MySQL 是一款基于 MySQL 的開源、高可用、云原生集群解決方案,支持一主多從高可用架構,并具備安全、自動備份、監控告警、自動擴容等全套管理功能,目前已經在生產環境中大規模的使用,用戶包含 銀行、保險、傳統大企業等,服務高可用由已經開源的 MySQL 集群高可用工具 Xenon 來實作,
隨著近幾年國內外云原生技術蓬勃發展,資料庫容器化實作技術也趨于成熟,各大 K8s 社區用戶對 MySQL on K8s 高可用版本的需求呼聲不斷,社區決定將 RadonDB MySQL 完整的移植到 K8s 平臺(RadonDB MySQL Kubernetes),并于今年將其正式開源,
RadonDB MySQL Kubernetes 支持在 Kubernetes 和 KubeSphere 上安裝部署和管理,自動執行與運行 RadonDB MySQL 集群有關的任務,
RadonDB MySQL Kubernetes 從 2.0.0 開始,已經由 Helm 遷移至 Operator 方式實作,并且完全兼容 1.0 版本的所有功能特性,
代碼倉庫地址:
- https://github.com/radondb/radondb-mysql-kubernetes
- https://github.com/radondb/xenon
| 新版本功能一覽
1. 增加 MySQL 集群服務監控
開啟監控功能后,將創建監控服務并自動對接 Prometheus,
2. 基于 S3 的資料庫備份恢復
只要擁有 S3 物件存盤的 bucket 與 API key,直接將 Pod 的資料庫內容備份到 S3 物件存盤中,也可以從 S3 物件存盤中的備份恢復出新的資料庫集群,
3. 完善資料庫賬戶管理
通過 CR 管理 MySQL 用戶,對 CR 的增刪改將自動轉化為對相應用戶的操作,支持針對資料庫,表授權,
4. 支持磁盤動態擴容
可修改 yaml 存盤容量,自動升級擴容存盤,并升級資料庫集群,
5. 優化優雅啟停邏輯
6. 豐富集群狀態粒度
支持集群中間狀態顯示,例如:初始化中,更新中等;新增集群狀態已關閉,
7. 支持外網服務訪問
8. 優化代碼和迭代更新
9. 完善單元測驗
10. 豐富作業流和 Travis CI 支持自動構建鏡像,格式檢查,單元測驗
| RoadMap
后續 RadonDB MySQL Kubernetes 的技術路線:
- 支持更多方式的資料庫備份恢復
- StatefulSet 完善為 Multi StatefulSet
- 支持更細粒度的配置更新
- 支持 MySQL 8.0
- 抽象完善外部呼叫 API
- 進一步提升服務質量,減少特殊場景下啟停時間
- 完善周期調度 job 功能更高效支持重復作業
- 支持在線遷移
期待更多開發者參與到開源專案中來!
以下是 2.1.0 和 2.0.0 版本完整的 Release Notes ,
2.1.0 Release Notes
Features
- Add serviceMonitor for operator #169 #174
- Backup to S3 and restore from S3 #116 #144 #197
- Add ci for images management and greeting. #207
- Support user management through crd. #175 #198 #228
- Support extranet access service. #251 #252
- Make the cluster state cover more scenarios. #253 #264
Improvements
- Change the related name of qingcloud to the name related to radondb. #190
- Format the code with gofumpt #212 #213
- Simplify backup code #226 #227
- Modify the default name and password #191 #233
- Optimize the logic of creating sqlrunner. #229 #230
- Remove the helm version deployment document link and fix operator deployment document. #241
- Add user management tutorial. #245 #260
- Change kind type cluster to mysqlcluster #249 #261
Bug fixes
- Fix the bug for preUpdate #184 #185
- Fix the bug for status reset leader #178 #180
- Fix default mysql version 5.7.33 to 5.7.34 #205
- Fix the bug which historyLimit do not work #222 #223
- Fix the bug for infinite loop #201, #219 #206
- Xenon postStart script loop forever #201
- Fix the bug which historyLimit do not work #222 #223
- Fix make test fail by init sidercar test #256 #259
- Fix typo randondb to radondb #266 #267
- Fix the problem of password conflict between backup and user management of root user. #257 #268
2.0.0 Release Notes
Improvements
- Add post-start and pre-stop script #155
- Add PreStop for xenon container #145
- Move the charts images and change the key word #140 #142
- Support roll update #133 #121
- Unit test for container, cluster #131 #130
- Add the document about the deployment of operator version #132 #127
- Update the path of helm chart #126 #129
- Update mysql version to 5.7.34 #124 #123
- Add status api to support update the cluster status #120 #119
- Add operator sidecar #120 #117
- Update the config files, helm files, the Dockerfile, Makefile #120
- Update kubebuilder from v2 to v3 #114 #113
- Modify the repo #112
- Adjust the dir for operator #111
- Add operator init #123 #109
- Add rolling update feature code annotation #165
- Add ignore dir
vendorandtestbin#153 #154
Bug Fixes
- Fix the auditLog container #181 #179
- Fix the incorrect description about MetricsOpts #177
- Fix the bug about PostStartHookError that command 'sh -c /scripts/post-start.sh' exited with 126 #171
- Fix the path from docker to radondb #167
- Fix the bug about the pods‘s status when the yaml have been changed #166 #164 #161 #158
- Fix the bug that xenoncli cannot create user #163 #162
- Fix the bug about reflect.SliceHeader vet error when go 1.16.6 #141 #139
- Move the init.sql to mysql config dir radondb #128
- Fix the bug that
innodb_buffer_pool_sizecannot be set correctly when its size greater than int32 #125
歡迎大家下載體驗!
參考及下載鏈接
[1]. Release Notes: https://github.com/radondb/radondb-mysql-kubernetes/releases
[2]. RoadMap: https://github.com/radondb/radondb-mysql-kubernetes/readme.md
相關閱讀
- Xenon:后 MHA 時代的選擇
- Xenon 實作 MySQL 高可用架構 部署篇
- Xenon 實作 MySQL 高可用架構 常用操作篇
- 在 Kubernetes 上部署 RadonDB MySQL 集群
- 基于 K8s 的新一代 MySQL 高可用架構實作方案
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/345553.html
標籤:MySQL
上一篇:將SpringBoot依賴項從1.5.3.RELEASE更新到2.2.7.RELEASE會破壞SpringApp
下一篇:Oracle日志 歸檔模式管理
