Kubernetes存儲

Docker的設計實現(xiàn)中徽缚,容器中的數(shù)據(jù)是臨時性的,當容器銷毀或重新啟動時存儲在容器內(nèi)部的數(shù)據(jù)將會全部丟失不从,但實際上很多容器化應用是需要持久化保存的數(shù)據(jù),這就需要使用Docker數(shù)據(jù)卷掛載宿主機上的文件或者目錄到容器中以保證數(shù)據(jù)的持久化存儲把曼。在Kubernetes中Pod重建如同Docker銷毀一樣,數(shù)據(jù)就會丟失漓穿,Kubernetes也通過掛載數(shù)據(jù)卷方式為Pod數(shù)據(jù)提供持久化能力嗤军,這些數(shù)據(jù)卷以Pod為最小單位進行存儲,通過共享存儲或分布式存儲在各個Pod之間實現(xiàn)共享晃危。

存儲使用場景

Kubernetes是由Master節(jié)點及Node節(jié)點組成的叙赚,在Master節(jié)點中通過etcd存儲了Kubernetes集群的節(jié)點信息、Pod信息山害、容器信息纠俭、配置信息。Node節(jié)點主要對外提供容器服務浪慌,著重描述Node節(jié)點與存儲相關(guān)的內(nèi)容。

Kubernetes以Pod為單位對外提供容器服務朴则,真正的服務是通過Service進行訪問的权纤。Kubernetes中的服務按類型分成三種:無狀態(tài)服務(stateless)钓简、普通有狀態(tài)服務、有狀態(tài)集群服務汹想。

無狀態(tài)服務:不需要持久化存儲的外邓,即使Pod重建也不會受影響,只要確保服務的可靠性便可古掏,Kubernetes通過ReplicationSet來保證某個服務的實例數(shù)量损话。

普通有狀態(tài)服務:這類服務需要保留服務的狀態(tài),通常通過Kubernetes提供的Volume及Persistent Volume槽唾、Persistent Volume Claim來保存狀態(tài)丧枪。

有狀態(tài)的集群服務:這類服務除了保存服務狀態(tài)的同時還需要提供集群管理的功能,集群管理過程中也涉及臨時數(shù)據(jù)的保存庞萍、集群內(nèi)數(shù)據(jù)共享等拧烦。

Kubernetes中涉及存儲的主要使用場景

1) 容器集群相關(guān)配置信息及運行時信息保存,這類信息存儲在etcd中钝计。

2) 服務的基本配置文件及證書文件恋博。

3) 服務的狀態(tài)存儲、數(shù)據(jù)存儲信息私恬。

4) 集群內(nèi)不同服務交換共享的數(shù)據(jù)信息债沮。

文件存儲的幾種形式

1) 臨時文件形式:同一個Pod內(nèi)不同容器間通過共享內(nèi)存方式訪問,會創(chuàng)建一個空目錄本鸣,交換完信息后會刪除這個空目錄秦士。

2) HostPath方式:同一個Node內(nèi)不同的Pod間進行信息共享使用HostPath方式(比如時區(qū)timezone)。如果Pod配置了EmptyDir數(shù)據(jù)卷永高,則它在Pod的生命周期內(nèi)都會存在隧土。當Pod被分配到Node上的時候,會在Node上創(chuàng)建EmptyDir數(shù)據(jù)卷命爬,并掛載到Pod的容器中曹傀。

3) PV及PVC:Kubernetes的持久化存儲機制的核心是PV(Persistent Volume)、PVC (Persistent Volume Claim)饲宛。PV是Volume插件皆愉,關(guān)聯(lián)到真正的后端存儲系統(tǒng),PVC是從PV中申請資源艇抠,而不需要關(guān)心存儲的提供方幕庐。PVC和PV的關(guān)系就如同Pod和Node一樣,Pod是消費Node提供的資源家淤,PVC是消費PV提供的存儲資源异剥。PVC和PV通過匹配完成綁定關(guān)系,PVC可以被Pod里的容器掛載絮重。

4) 網(wǎng)絡方式:不同Node節(jié)點之間的數(shù)據(jù)共享通過網(wǎng)絡方式使用冤寿,通常采用分布式存儲方式歹苦。開源的分布式文件系統(tǒng)比較流行的選擇有GlusterFS和Ceph,還有一些其他的分布式文件系統(tǒng)(NFS)選擇督怜。

5) 自定義插件方式:Kubernetes提供了豐富的Volume的插件來進行存儲管理殴瘦。如果存儲管理接口不夠用,用戶可以通過CSI或Flex Volume進行擴展号杠。

存儲組件實現(xiàn)原理

存儲管理組件(存儲組件)主要是接收北向API收到的Rest請求蚪腋,維護持久卷的生命周期管理。如創(chuàng)建姨蟋、刪除卷屉凯,存儲組件負責與后端存儲軟件交互完成實際的創(chuàng)建、刪除卷等操作芬探;并負責調(diào)用Kubernetes原生接口創(chuàng)建對應的PVC和PV神得。

存儲后端系統(tǒng)提供數(shù)據(jù)文件的實際持久化能力,不僅需要實現(xiàn)數(shù)據(jù)文件的讀寫偷仿、副本復制等存儲操作哩簿,通常還需具備多節(jié)點高可用的能力。

當需要為自己的微服務應用掛載持久卷時酝静,只需要通過存儲組件創(chuàng)建持久卷节榜,存儲組件會在Kubernetes業(yè)務集群創(chuàng)建PVC/PV,并到后端存儲系統(tǒng)(如GlusterFS)上創(chuàng)建真正的物理Volume别智,同時維護好PVC/PV/Volume之間的一一映射對應關(guān)系宗苍。這樣,用戶部署容器時就可以選擇掛載相應的持久卷薄榛,部署后相應的卷就可以掛載到對應的容器讳窟。應用掛載持久卷后,進行讀寫時就類似于本地目錄的讀寫操作敞恋。

在Pod進行重建或者遷移到其他節(jié)點時丽啡,Pod可以自動掛回原來對應的持久卷,繼續(xù)使用原先的數(shù)據(jù)硬猫。多個Pod可以共享一個持久卷补箍,從而達到容器間文件共享的目的。


摘抄自陸平的《基于Kubernetes的容器云平臺實戰(zhàn)》一書的第11章Kubernetes存儲

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末啸蜜,一起剝皮案震驚了整個濱河市坑雅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌衬横,老刑警劉巖裹粤,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冕香,居然都是意外死亡蛹尝,警方通過查閱死者的電腦和手機后豫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門悉尾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來突那,“玉大人,你說我怎么就攤上這事构眯°的眩” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵惫霸,是天一觀的道長猫缭。 經(jīng)常有香客問我,道長壹店,這世上最難降的妖魔是什么猜丹? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮硅卢,結(jié)果婚禮上射窒,老公的妹妹穿的比我還像新娘。我一直安慰自己将塑,他們只是感情好脉顿,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著点寥,像睡著了一般艾疟。 火紅的嫁衣襯著肌膚如雪收擦。 梳的紋絲不亂的頭發(fā)上圈纺,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音泳猬,去河邊找鬼戚长。 笑死盗冷,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的历葛。 我是一名探鬼主播正塌,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼恤溶!你這毒婦竟也來了乓诽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咒程,失蹤者是張志新(化名)和其女友劉穎鸠天,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帐姻,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡稠集,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年奶段,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剥纷。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡痹籍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晦鞋,到底是詐尸還是另有隱情蹲缠,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布悠垛,位于F島的核電站线定,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏确买。R本人自食惡果不足惜斤讥,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望湾趾。 院中可真熱鬧芭商,春花似錦、人聲如沸撑帖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胡嘿。三九已至蛉艾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衷敌,已是汗流浹背勿侯。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缴罗,地道東北人助琐。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像面氓,于是被迫代替她去往敵國和親兵钮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354