使用 KubeBlocks 為 K8s 提供穩(wěn)如老狗的數(shù)據(jù)庫(kù)服務(wù)

原文鏈接:https://forum.laf.run/d/994

大家好!今天這篇文章主要向大家介紹 Sealos 的數(shù)據(jù)庫(kù)服務(wù)。在 Sealos 上數(shù)據(jù)庫(kù)后端服務(wù)由 KubeBlocks 提供,為用戶(hù)的數(shù)據(jù)庫(kù)應(yīng)用保駕護(hù)航。無(wú)論你是在公有云還是本地環(huán)境中使用,Sealos 都能為你管理關(guān)系數(shù)據(jù)庫(kù)、NoSQL、向量數(shù)據(jù)庫(kù)和流數(shù)據(jù)庫(kù)等各種類(lèi)型的數(shù)據(jù)庫(kù)。它專(zhuān)為生產(chǎn)環(huán)境而設(shè)計(jì),提供可靠、高性能、可觀(guān)測(cè)且經(jīng)濟(jì)高效的數(shù)據(jù)基礎(chǔ)設(shè)施。

讓我們來(lái)看看數(shù)據(jù)庫(kù)應(yīng)用的魅力吧:

功能介紹

創(chuàng)建數(shù)據(jù)庫(kù)

Sealos 提供了一個(gè)簡(jiǎn)單易用的數(shù)據(jù)庫(kù)前端應(yīng)用,屏蔽了繁瑣的命令行操作。你只需通過(guò) Database 應(yīng)用就能輕松創(chuàng)建各種數(shù)據(jù)庫(kù),包括 Mysql、PostgreSQL、MongoDB、Redis 等多種類(lèi)型的數(shù)據(jù)庫(kù)。

連接使用

進(jìn)入詳情頁(yè)面,你可以查看數(shù)據(jù)庫(kù)的詳細(xì)信息,并通過(guò)一鍵連接功能與數(shù)據(jù)庫(kù)進(jìn)行交互。這讓操作變得更加便捷,讓你與數(shù)據(jù)庫(kù)之間的互動(dòng)更加高效。

高可用測(cè)試

Sealos 在提供高可用服務(wù)方面表現(xiàn)出色,確保在關(guān)鍵時(shí)刻數(shù)據(jù)庫(kù)能夠正常工作,不會(huì)出現(xiàn)故障。這為你的數(shù)據(jù)提供了額外的保障,讓你放心使用。我們將通過(guò)一個(gè)小小的測(cè)試來(lái)驗(yàn)證數(shù)據(jù)庫(kù)的高可用。

首先創(chuàng)建一個(gè)實(shí)例數(shù)大于 1 的數(shù)據(jù)庫(kù)應(yīng)用,這里我們創(chuàng)建一個(gè) 3 實(shí)例的 PostGreSQL:

創(chuàng)建完成后便可通過(guò)一鍵連接功能進(jìn)入到數(shù)據(jù)庫(kù)命令終端:

我們點(diǎn)擊 Add a Terminal 按鈕創(chuàng)建第二個(gè)終端應(yīng)用。

同時(shí)我們查看一下當(dāng)前的主節(jié)點(diǎn)是哪個(gè),發(fā)現(xiàn)是 test-postgresql-1

現(xiàn)在我們要?jiǎng)h除這個(gè)主節(jié)點(diǎn),通過(guò) kubectl delete pod test-postgresql-1 命令即可進(jìn)行刪除操作:

備份恢復(fù)功能

我們的數(shù)據(jù)庫(kù)還提供了強(qiáng)大的備份恢復(fù)功能,這意味著即使出現(xiàn)數(shù)據(jù)丟失或損壞的情況,你也能輕松恢復(fù)到備份時(shí)的狀態(tài)。無(wú)論是數(shù)據(jù)誤刪,還是面臨災(zāi)難情況,備份都能幫助你快速恢復(fù)數(shù)據(jù)庫(kù),減少業(yè)務(wù)中斷的時(shí)間。

下面也通過(guò)實(shí)例具體測(cè)試一下,我提前準(zhǔn)備了一些數(shù)據(jù)用來(lái)測(cè)試:

進(jìn)入到備份列表點(diǎn)擊「?jìng)浞荨拱粹o進(jìn)行備份操作:

這里我們演示一下手動(dòng)備份的功能,備份名和備注都可以進(jìn)行修改,我們直接點(diǎn)擊「開(kāi)始備份」按鈕進(jìn)行備份:

備份完成后通過(guò)狀態(tài)可以查看備份的結(jié)果:

我們可以點(diǎn)擊 「恢復(fù)」的圖標(biāo)進(jìn)行恢復(fù)功能,并且等待恢復(fù)的數(shù)據(jù)庫(kù)成功啟動(dòng):


進(jìn)入到恢復(fù)的數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)查看,可以發(fā)現(xiàn)數(shù)據(jù)成功的恢復(fù)出來(lái):

監(jiān)控功能

在 Sealos 中,你不僅能輕松管理數(shù)據(jù)庫(kù),還能享受到用戶(hù)友好的監(jiān)控功能。你可以隨時(shí)查看數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài),并通過(guò)圖表和指標(biāo)監(jiān)控?cái)?shù)據(jù)庫(kù)的性能表現(xiàn)。

實(shí)現(xiàn)原理

看到這里你可能會(huì)好奇 KubeBlocks 為何能在 Sealos 上提供穩(wěn)定、高效的數(shù)據(jù)庫(kù)服務(wù)。讓我們一起深入了解它的實(shí)現(xiàn)原理并了解一下它的高可用架構(gòu)以及備份恢復(fù)策略吧!

有狀態(tài)服務(wù)設(shè)計(jì)

KubeBlocks 以一種靈活的方式進(jìn)行數(shù)據(jù)庫(kù)拓?fù)湓O(shè)計(jì)。它通過(guò)使用復(fù)制關(guān)系的 Replicated State Machine(RSM)作為核心組件,將復(fù)雜的分布式數(shù)據(jù)庫(kù)拆分成無(wú)縫連接的基礎(chǔ)組件(block)。無(wú)論是 Stateless、StatefulSet 還是 RSM,都可以輕松應(yīng)用于 KubeBlocks 中。這意味著,你可以將任何數(shù)據(jù)庫(kù)引擎與 KubeBlocks 結(jié)合使用,構(gòu)建出更加靈活的系統(tǒng)架構(gòu)。

高可用架構(gòu)設(shè)計(jì)

KubeBlocks 實(shí)現(xiàn)了兩種高可用算法:quorum-based 和經(jīng)典主備。對(duì)于 quorum-based 類(lèi)的數(shù)據(jù)庫(kù),KubeBlocks 提供了角色探測(cè)、角色校正和重建等功能,而數(shù)據(jù)庫(kù)本身則負(fù)責(zé)更完整的探測(cè)、決策和切換等主體功能。對(duì)于經(jīng)典主備場(chǎng)景,如 MySQL 和 PostgreSQL 主備,KubeBlocks 負(fù)責(zé)執(zhí)行完整的探測(cè)、決策、切換、重建和角色校正等任務(wù)。此外,KubeBlocks 還采用通用的高可用架構(gòu),支持各種數(shù)據(jù)庫(kù)類(lèi)型,例如復(fù)制集群和分片集群,通過(guò)增加副本數(shù)量來(lái)提高可靠性和可用性,降低數(shù)據(jù)丟失的概率。

備份恢復(fù)設(shè)計(jì)

為了進(jìn)一步保護(hù)數(shù)據(jù)并防止丟失或損壞,KubeBlocks 提供了備份恢復(fù)策略。備份可以用于多種情況,例如數(shù)據(jù)丟失、災(zāi)難恢復(fù)和數(shù)據(jù)遷移。在 Sealos 中,我們提供了物理備份功能,這意味著直接復(fù)制數(shù)據(jù)庫(kù)的物理文件(包括數(shù)據(jù)文件和日志文件)到備份介質(zhì)(如磁盤(pán)或磁帶)上。物理備份具有快速恢復(fù)、數(shù)據(jù)一致性和空間效率的特點(diǎn)。它可以更高效地將備份文件還原到原始數(shù)據(jù)庫(kù),保持與數(shù)據(jù)庫(kù)的物理狀態(tài)完全一致,并且占用較少的存儲(chǔ)空間。特別適用于大型數(shù)據(jù)庫(kù)的備份和恢復(fù)需求,進(jìn)一步提升 Sealos 作為生產(chǎn)環(huán)境的能力。

如果你對(duì)數(shù)據(jù)庫(kù)服務(wù)感興趣,我強(qiáng)烈推薦你嘗試 Sealos 上的數(shù)據(jù)庫(kù)服務(wù)。無(wú)論你是開(kāi)發(fā)者、數(shù)據(jù)工程師還是系統(tǒng)管理員,這個(gè)穩(wěn)如老狗的數(shù)據(jù)庫(kù)服務(wù)都能幫助你更高效地管理和運(yùn)維你的數(shù)據(jù)。讓 Sealos 成為你的得力助手,讓你的數(shù)據(jù)庫(kù)運(yùn)行如飛!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容