翻譯 | Kubernetes Operator 對數(shù)據(jù)庫的重要性

作者:Stephen Thorn

翻譯:劉玲玲

原文:https://www.percona.com/blog/2020/10/08/the-criticality-of-a-kubernetes-operator-for-databases/

一些剛接觸 Kubernetes 的公司嘗試使用傳統(tǒng)環(huán)境中運行數(shù)據(jù)庫的方法在 Kubernetes 中運行數(shù)據(jù)庫寡具。但是妙啃,不建議這樣做。因為這可能會導致數(shù)據(jù)丟失疯淫,并且也不建議這樣管理生產(chǎn)工作負載。為什么這樣做很危險旁瘫?又如何解決這個問題氢妈?

適合 Kubernetes 的工作負載

在考慮將數(shù)據(jù)庫遷移到 Kubernetes 之前,請確保應用程序的其余部分是云原生的拂玻,并可以使用 Kubernetes。如果您已經(jīng)開始對數(shù)據(jù)庫進行垂直彈性伸縮和水平彈性伸縮宰译,并需要編排數(shù)據(jù)庫來控制成本檐蚜,將其遷移至 Kubernetes 上就是個不錯的選擇。

將數(shù)據(jù)庫工作負載轉(zhuǎn)移到 Kubernetes 上有兩個理想的使用場景:微服務(wù)和統(tǒng)一抽象層沿侈。

龐大的單一數(shù)據(jù)集可能會阻礙發(fā)揮 Kubernetes 的一些優(yōu)點:自修復和高可用性熬甚。這可能是一個問題,因為在加入數(shù)據(jù)庫集群時肋坚,需要耗費時間將數(shù)據(jù)物理傳輸?shù)叫?Pod 實例上乡括。如果數(shù)據(jù)集太大,由于物理限制智厌,這個過程會很慢诲泌,并影響性能和數(shù)據(jù)庫的可用性。而微服務(wù)就非常合適铣鹏,因為它的數(shù)據(jù)集相對較小敷扫,使得 Kubernetes 能很好地進行自動化處理。

希望充分利用云原生應用程序和數(shù)據(jù)庫的公司也非常適合 Kubernetes诚卸。如果想利用統(tǒng)一抽象層在任何地方部署和運行數(shù)據(jù)庫葵第,Kubernetes 是一個很好的選擇『夏纾可以將數(shù)據(jù)庫移動到任何運行著 Kubernetes 的地方卒密。

我們對大型非分片數(shù)據(jù)集以及 Kubernetes 在處理這些數(shù)據(jù)集時的局限性進行了討論,但我們還應該看看什么樣的工作負載更適合傳統(tǒng)平臺棠赛。對吞吐量比較敏感的應用程序在 Kubernetes 上表現(xiàn)可能沒有那么好哮奇,或者不是很劃算。Kubernetes 基本是為容器編排而設(shè)計的睛约,而不是為需要極低延遲的高性能數(shù)據(jù)庫而設(shè)計的鼎俘。也許這能夠?qū)崿F(xiàn),但代價是什么呢辩涝?對于高性能的分布式數(shù)據(jù)庫也同樣如此贸伐。

如何看待 Pod?

Pets 和 Cattle 是 DevOps 中的一對概念怔揩。Pets 表示在出現(xiàn)問題時需要關(guān)注單個服務(wù)器的部署方式捉邢,Cattle 表示在出現(xiàn)問題時用副本替換服務(wù)器的能力脯丝。在 Kubernetes 的運作方式中,當出現(xiàn)應用程序無法控制的因素時歌逢,可以在任何時候銷毀、創(chuàng)建或移動 Pod翘狱。Kubernetes 使用一個調(diào)度程序(scheduler)秘案,它可以銷毀和重建 Pod,以滿足您的 Kubernetes 集群配置需求潦匈。

這對于無狀態(tài)應用程序非常有用阱高,因為應用程序中的任何失敗都將導致包含應用程序的 Pod 被銷毀和重新創(chuàng)建,而不需要人工交互茬缩,并極大地加快了問題的解決赤惊。這對于數(shù)據(jù)庫來說并不理想,因為我們不希望數(shù)據(jù)庫突然停止工作凰锡,并造成數(shù)據(jù)丟失或損壞未舟。Kubernetes 可以使用 StatefulSet 提供持久標識符來幫助解決這個問題。這有利于管理有狀態(tài)工作負載掂为,但是要如何發(fā)揮高可用性和利用 Kubernetes 的自動化優(yōu)勢呢裕膀?

如何看待數(shù)據(jù)庫?

從設(shè)計上講勇哗,數(shù)據(jù)庫需要保持其身份昼扛、信息,最重要的是欲诺,數(shù)據(jù)在任何時候都是安全和可訪問的抄谐。數(shù)據(jù)庫是應用程序的支柱,因為它們是應用程序正常運行所依賴的真實數(shù)據(jù)來源扰法。數(shù)據(jù)庫操作中的任何錯誤都將迅速導致應用程序無法運行蛹含。簡單來說,數(shù)據(jù)庫很重要塞颁。

我們?nèi)绾卧?Kubernetes 中安全地運行數(shù)據(jù)庫挣惰,并確保數(shù)據(jù)庫部署是高可用的?

通過使用 StatefulSet 和持久卷(Persistent Volume)殴边,可以保持數(shù)據(jù)的完整性憎茂,但是我們還需要另外的工具來承擔數(shù)據(jù)庫管理任務(wù),例如確保故障轉(zhuǎn)移锤岸、恢復數(shù)據(jù)庫成員竖幔、重新加入高可用架構(gòu)以及其他特定技術(shù)功能。幸運的是是偷,Kubernetes 是可擴展的拳氢,并且擁有 Operator募逞,用于自動執(zhí)行管理服務(wù)的關(guān)鍵任務(wù)。

自動化馋评,自動化放接,自動化

我們了解了在 Kubernetes 中安全運行數(shù)據(jù)庫的復雜性,以及一些用來幫助彌合自動化和傳統(tǒng)人工在功能之間差距的概念留特。在一些數(shù)據(jù)庫 Operator 的幫助下纠脾,我們可以按照預期的方式安全地運行數(shù)據(jù)庫。這些 Operator 能夠?qū)⒁恍┩ǔS蓴?shù)據(jù)庫管理員完成的任務(wù)自動化執(zhí)行蜕青,例如:

  • 自動部署苟蹈,嚴格的一致性,無單點故障
  • 自動伸縮右核,通過更改 size 參數(shù)添加或刪除集群或 ReplicaSet 成員
  • 自動備份和恢復
  • 自動修復慧脱,從單個集群或 ReplicaSet 成員的故障中自動恢復
  • 自動管理密碼輪換系統(tǒng)用戶
  • 簡化更新

總結(jié)

由于運行數(shù)據(jù)庫環(huán)境的復雜性和對高可用的要求,以及動態(tài) Kubernetes 環(huán)境帶來的風險贺喝,強烈建議在 Kubernetes 中部署數(shù)據(jù)庫時菱鸥,使用 Operator 來實現(xiàn)。

歡迎使用 RadonDB MySQL Kubernetes 一款高可用 MySQL 集群 Operator躏鱼!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末采缚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子挠他,更是在濱河造成了極大的恐慌扳抽,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殖侵,死亡現(xiàn)場離奇詭異贸呢,居然都是意外死亡,警方通過查閱死者的電腦和手機拢军,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門楞陷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茉唉,你說我怎么就攤上這事固蛾。” “怎么了度陆?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵艾凯,是天一觀的道長。 經(jīng)常有香客問我懂傀,道長趾诗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮恃泪,結(jié)果婚禮上郑兴,老公的妹妹穿的比我還像新娘。我一直安慰自己贝乎,他們只是感情好情连,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著览效,像睡著了一般却舀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朽肥,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天禁筏,我揣著相機與錄音持钉,去河邊找鬼衡招。 笑死,一個胖子當著我的面吹牛每强,可吹牛的內(nèi)容都是我干的始腾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼空执,長吁一口氣:“原來是場噩夢啊……” “哼浪箭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辨绊,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤奶栖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后门坷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宣鄙,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年默蚌,在試婚紗的時候發(fā)現(xiàn)自己被綠了冻晤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡绸吸,死狀恐怖鼻弧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锦茁,我是刑警寧澤攘轩,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站码俩,受9級特大地震影響撑刺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜握玛,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一够傍、第九天 我趴在偏房一處隱蔽的房頂上張望甫菠。 院中可真熱鬧,春花似錦冕屯、人聲如沸寂诱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痰洒。三九已至,卻和暖如春浴韭,著一層夾襖步出監(jiān)牢的瞬間丘喻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工念颈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泉粉,地道東北人。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓榴芳,卻偏偏與公主長得像嗡靡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子窟感,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容