KubeBlocks v0.8.0 釋出!Component API 讓資料庫引擎組裝更簡單!
KubeBlocks v0.8.0 版本釋出了!
KubeBlocks v0.8.0 推出了 Component API,讓資料庫引擎的組裝變得更加簡單。舉個例子,我們可以將 etcd 和 zookeeper 這兩種資料庫做成了標準元件,開發者在定義 Kafka 或者 Pulsar 等複雜引擎時可以直接引用;再舉個例子,我們還可以將 Proxy 做成了標準元件,開發者在定義各種發行版的 MySQL 或 PostgreSQL 引擎讀寫分離拓撲時無需重複勞動(heavy lifting)。Addon 機制也有了重大改進,資料庫引擎的 helm chart 從 KubeBlocks repo 中拆分出去,從此資料庫引擎或者版本的變動已與 KubeBlocks 發版解綁。
Highlights
-
獨立的 Component API
在整合新資料庫引擎的過程中,我們發現了 KubeBlocks 抽象設計上的不足。v0.8.0 將 Component 從 Cluster 定義中拆分出來,更好地支援含有多個元件的資料庫型別。支援了 Component 之間的變數引用,包括 ConfigMap, Secret, Service, ServiceReference 等幾種變數引用型別,可以更好的串聯元件間的關係,為構建不同拓撲形態的叢集奠定基礎。 -
Addon helm chart 移出 KubeBlocks repo
在 v0.8.0 之前,資料庫引擎的 Helm Chart 都是放在 deploy 目錄下,與 KubeBlocks Operator 耦合在一起。這樣存在兩個問題,一是 KubeBlocks 升級時會同步升級資料庫引擎,二是資料庫引擎升級時會覆蓋已有的 CD/CV,導致 Cluster 全部重啟。為瞭解決這兩個問題,在 0.8 中我們將資料庫引擎拆分到了 kubeblocks-addon 這個獨立的程式碼倉庫下,同時資料庫引擎和所有資源均加上了版本號,安裝時不會覆蓋原有資源導致 Cluster 重啟。 配套提供了 kbcli addon 相關命令,使用者可以進行下載、安裝、使用、解除安裝對應版本的 addon,非常方便。 -
支援多版本的資料庫引擎定義
在 v0.8.0 之前,KubeBlocks 升級可能會觸發資料庫叢集的重啟。在 v0.8.0 上,結合新的 Component API 和 Addon helm chart 儲存機制,這個問題得到了一定程度的解決。後面我們還會繼續最佳化多版本的設計,最終實現毫無負擔地升級。
What's Changed
新功能
Pika
-
支援分片叢集,允許使用者透過調整元件的方式,增加存量叢集的分片
Clickhouse
-
整合監控、scale out、高可用
Oceanbase
-
新增主備叢集模式,支援完整生命週期,並整合了備份恢復、監控和切換
MySQL
-
社群版 MySQL 5.7 和 8.0 支援了完整的生命週期,並整合了備份恢復、監控和 HA
-
ApeCloud MySQL 新增日誌審計功能
PostgreSQL
-
Postgresql 支援 wal-g 全量備份和按時間點恢復
支援NodePort
-
Redis 支援 nodePort 訪問方式
OpsRequest
-
支援自定義 OpsRequest,可用於建立和刪除 Kafka Topic
備份恢復
-
新增 FTP 和 NFS 作為備份儲存
易用性
-
允許使用者一次性提交多個 opsRequest,並做了一定程度的併發控制
-
安裝 KubeBlocks 時支援指定映象倉庫地址,加快映象拉取速度
可觀測性
-
統一日誌和 mertrics 採集的配置管理 Kubeblocks monitor specification
API
-
新增 ComponentDefinition 介面定義
-
新增 OpsDefinition API
-
ActionSet 新增 PreDelete Action,可以在刪除備份之前執行此動作
kbcli
-
增強 addon 子命令,支援從 addon 索引倉庫檢索和安裝 addon
不相容的改動
-
在 KubeBlocks v0.8 我們對 Oceanbase 做了非常多的改進(支援建立主備叢集, 支援主機網路和動態埠, 支援備份/恢復, 監控, 日誌等能力),0.7 版本建立的叢集和 0.8 版本建立的叢集不相容,如果您正在使用 0.7 版本的 Oceanbase,建議您升級到 0.8 的 KubeBlocks 之後,升級 Oceanbase Addon,再將 0.7 版本的 Oceanbase cluster 遷移至 0.8 版本的 Oceanbase cluster 使用,以體驗更豐富的功能. 推薦使用 OceanBase 官方資料匯入匯出工具(OBLOADER 和 OBDUMPER)來遷移資料.
-
KubeBlocks v0.8.0 精簡了部署 KubeBlocks 時預設安裝的資料引擎,刪除 greptime,influxdb,neon,oracle-mysql,orioledb,tdengine,mariadb,nebula,risingwave,starrocks,tidb,zookeeper。使用者可以透過 kbcli addon 子命令或者 kubectl apply 命令從 addon 索引倉庫中按需安裝;如果使用者從低版本升級至該版本,請按照升級手冊操作,避免正在使用的 addon 被刪除從而影響正在執行的叢集。
-
KubeBlocks 0.8 的 Helm Chart 中不再包含依賴的 CRD,在使用 helm 命令安裝或升級 KubeBlocks 時需要先安裝對應的 CRD,然後再安裝或升級 KubeBlocks,請參照升級手冊進行操作。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70035809/viewspace-3003929/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flyway讓資料庫版本管理更簡單資料庫
- ODC 3.4.0 現已上線,讓資料庫開發更簡單資料庫
- 免費API介面:讓開發更簡單更快API
- ShadowNode v0.8.0 釋出
- 雲容器引擎:讓企業IT創新更簡單更可靠
- 一個通過rms寫成的小型資料庫引擎,簡單的資料庫引擎資料庫
- Goravel V1 正式版釋出,讓 Go 開發更簡單、高效!Go
- 資料庫表連線的簡單解釋資料庫
- DataGrip 2023:讓資料庫開發變得更簡單、更高效 mac/win啟用版資料庫Mac
- Minitab 2021:讓資料分析變得更簡單,更直觀 win版
- Kraken v0.8.0 釋出 — 支援 Flutter 2.0Flutter
- 嘗試讓查詢更簡單
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- 分享一個讓 Ping 的輸出更簡單易讀方法
- 當 dbt 遇見 TiDB丨高效的資料轉換工具讓資料分析更簡單TiDB
- 讓 API 測試變的簡單API
- 讓資料視覺化變得簡單 – JavaScript 圖形庫視覺化JavaScript
- Fetch API 簡單封裝API封裝
- EasyRelation釋出,簡單強大的資料關聯框架框架
- 讓 json 解析更簡單高效的 GJSONJSON
- go-mongox:簡單高效,讓文件操作和 bson 資料構造更流暢Go
- 更簡單易用的資料倉儲,阿里雲重磅推出分析型資料庫3.0版阿里資料庫
- 使用原生 cookieStore 方法,讓 Cookie 操作更簡單Cookie
- Flutter EasyLoading - 讓全域性Toast/Loading更簡單FlutterAST
- CSS 文件流技巧,讓佈局更簡單CSS
- Serverless + AI 讓應用開發更簡單ServerAI
- OpenShift 與 OpenStack:讓雲變得更簡單
- 讓服務呼叫更簡單 - Caller.HttpClientHTTPclient
- 智簡魔方DCIM系統如何讓資料中心管理變得更簡單
- 觀遠資料智慧分析2.0平臺釋出,讓零售決策更智慧
- KubeVela 1.4:讓應用交付更安全、上手更簡單、過程更透明
- KubeBlocks v0.7.0 釋出!支援引用外部元件,解耦備份 API,還支援了 Pika!BloC元件解耦API
- 2021 OceanBase 年度報告 | 用技術讓海量資料的管理和使用更簡單!
- 2022 OceanBase 年度報告|用技術讓海量資料的管理和使用更簡單!
- 2021 OceanBase 年度報告 | 用技術讓海量資料的管理和使用更簡單
- Oracle - 資料庫的組成簡介Oracle資料庫
- 讓資料更智慧的驅動業務——優炫自治資料庫資料庫
- 換種思路寫Mock,讓單元測試更簡單Mock