Kubernetes的采用正在呈現(xiàn)爆炸式增長(zhǎng),撇開(kāi)炒作的話題,Kubernetes仍然處于非常的發(fā)展階段,而且還有很長(zhǎng)的路要走,它極有可能成為大多數(shù)IT基礎(chǔ)架構(gòu)的組成部分。
與此同時(shí),即使不是大多數(shù)企業(yè)和IT商店,當(dāng)他們進(jìn)入Kubernetes領(lǐng)域時(shí),也只是想要探索Kubernrtes這個(gè)神奇的新領(lǐng)域。在開(kāi)發(fā)人員開(kāi)始在平臺(tái)上開(kāi)展工作之前, 管理員、運(yùn)營(yíng)團(tuán)隊(duì)或DevOps必須奠定基礎(chǔ),將傳統(tǒng)而重要的數(shù)據(jù)管理組件添加到混合組件中:持久性存儲(chǔ)是Kubernetes部署中必要組件的一個(gè)很好的示例,但它并不容易實(shí)現(xiàn)。
將持久添加到無(wú)狀態(tài)
企業(yè)應(yīng)該具備的關(guān)鍵需求是開(kāi)發(fā)人員能夠?qū)?shù)據(jù)存儲(chǔ)在Kubernetes集群中,而無(wú)需擔(dān)心持久存儲(chǔ)在底層如何工作。
“應(yīng)用程序開(kāi)發(fā)人員和DevOps團(tuán)隊(duì)不是數(shù)據(jù)管理人員。就像我不希望我的DBA去玩應(yīng)用程序開(kāi)發(fā)人員一樣,我真的不希望我的應(yīng)用程序開(kāi)發(fā)人員在玩DBA。”企業(yè)管理協(xié)會(huì)(EMA)的分析師John L. Myers說(shuō)。 “我想給應(yīng)用程序開(kāi)發(fā)人員提供通過(guò)API訪問(wèn)持久數(shù)據(jù)管理層的機(jī)會(huì),或者每次部署集裝箱化應(yīng)用程序時(shí)都不必從頭創(chuàng)建一個(gè)。”
但是,Kubernetes的結(jié)構(gòu)使其不適合部署在有狀態(tài)的卷上。
Constellation Research分析師Holger Mueller表示:“容器從來(lái)沒(méi)有被設(shè)計(jì)成持久的,但企業(yè)需要持久的改變負(fù)載,保持狀態(tài),為不同的負(fù)載使用更多的硬件等。這是企業(yè)界容器設(shè)計(jì)的缺陷,因?yàn)閷?duì)企業(yè)來(lái)說(shuō),所有重要的一切都需要持久。”
不過(guò),Kubernetes提供了多種選項(xiàng)來(lái)設(shè)置持久性存儲(chǔ)。例如,Kubernetes提供了一種方法,可以在安裝到容器編排平臺(tái)的卷上靜態(tài)和動(dòng)態(tài)地提供數(shù)據(jù),MapR產(chǎn)品管理總監(jiān)Suzy Visvanathan說(shuō):“這為用戶在需要時(shí)消費(fèi)存儲(chǔ)提供了靈活性。”
然而,Kubernetes提供的靈活卷插件使得外部供應(yīng)商可以與Kubernetes集成,但也有它的問(wèn)題。 Visvanathan說(shuō),在引入容器存儲(chǔ)接口(CSI)模型之前,問(wèn)題就是插件依賴性。使用Apache Mesos,Red Hat,OpenShift,Docker和云解決方案(例如Kubernetes的Amazon Elastic Container Service(EKS)和Google Kubernetes Engine(GKE)),業(yè)務(wù)流程層顯在的與Kubernetes內(nèi)部集成。
Visvanathan說(shuō):“CSI模式在使外部存儲(chǔ)解決方案與Kubernetes集成方面變得更加容易。”
擴(kuò)展
許多企業(yè)總是尋求擴(kuò)展Kubernetes以容納大量的共享容器資源的用戶。但是,如何擴(kuò)展持久存儲(chǔ)組件是一大挑戰(zhàn)。例如,傳統(tǒng)存儲(chǔ)解決方案及其配置不一定是最合適的。
“Kubernetes可以輕松快速地?cái)U(kuò)大生產(chǎn)中的容器規(guī)模。接下來(lái)的挑戰(zhàn)是提供一個(gè)與之一起擴(kuò)展的數(shù)據(jù)平臺(tái)”MapR的Visvanathan說(shuō)。“傳統(tǒng)的存儲(chǔ)選項(xiàng)根本無(wú)法跟上這一規(guī)模。在Kubernetes改造舊式安全措施,進(jìn)一步惡化了這種狀況”
MapR的Visvanathan指出:“新的持久性存儲(chǔ)替代方案通常是單節(jié)點(diǎn)解決方案,如果集群化,仍然不能提供全球可尋址名稱空間或混合/多云移動(dòng)性。”
“Kubernetes被用于云式彈性和選擇您選擇的云模型的能力,包括內(nèi)部部署,混合或多云部署。”Visvanathan說(shuō)。 “持久存儲(chǔ)需要實(shí)現(xiàn)相同的目標(biāo)。”
“與此同時(shí),在具有內(nèi)部存儲(chǔ)的服務(wù)器上部署容器可以使擴(kuò)展更直接”,Diamanti產(chǎn)品營(yíng)銷總監(jiān)Sean Roth說(shuō)。
“擴(kuò)大存儲(chǔ)空間可能會(huì)造成破壞性,并可能導(dǎo)致巨大且往往意料之外的額外開(kāi)支,”Roth表示。 “Kubernetes持久存儲(chǔ)的主要挑戰(zhàn)主要源于縮放。對(duì)容器存儲(chǔ)基礎(chǔ)設(shè)施采取自己動(dòng)手的做法可能會(huì)造成破壞性和造成昂貴的成本。“
最終,企業(yè)需要在越來(lái)越多的服務(wù)器之間平衡存儲(chǔ)使用。 Roth表示,跨Kubernetes部署共享存儲(chǔ)的可用資源可以由網(wǎng)絡(luò)文件系統(tǒng)(NFS)或開(kāi)源集群文件系統(tǒng)協(xié)議(如Ceph或GlusterFS)組成。
卷集成
盡管存在上述挑戰(zhàn),但Kubernetes確實(shí)提供了廣泛的存儲(chǔ)集成量選項(xiàng),也在不斷地改進(jìn)。例如,Kubernetes提供了一種在靜態(tài)和動(dòng)態(tài)調(diào)用Kubernetes上的數(shù)據(jù)時(shí)提供數(shù)據(jù)的方法,Visvanathan說(shuō)。“這為用戶在需要時(shí)消費(fèi)存儲(chǔ)提供了靈活性。”
事實(shí)上,Kubernetes的卷存儲(chǔ)驅(qū)動(dòng)程序選項(xiàng)可以促進(jìn)持久存儲(chǔ)的多種不同機(jī)制的使用,CloudPassage的策略工程專家Ash Wilson說(shuō),增加一些卷驅(qū)動(dòng)程序是IaaS(基礎(chǔ)架構(gòu)即服務(wù))平臺(tái)特定的,而有些開(kāi)發(fā)者不了解底層的云基礎(chǔ)架構(gòu)。
“這些卷存儲(chǔ)驅(qū)動(dòng)程序選項(xiàng)非常好,但是正確評(píng)估和確定哪些最符合應(yīng)用程序需求花費(fèi)很長(zhǎng)的時(shí)間。”Wilson說(shuō)。 “與保護(hù)Kubernetes中的永久存儲(chǔ)相關(guān)的任務(wù)通常是特定于驅(qū)動(dòng)器的特定驅(qū)動(dòng)程序,因此在架構(gòu)過(guò)程中必須考慮安全問(wèn)題。”
裸機(jī)服務(wù)器部署
MapR的Visvanathan認(rèn)為,“Kubernetes虛擬化結(jié)構(gòu)在建立持久性存儲(chǔ)時(shí)也非常適合裸機(jī)服務(wù)器部署。這是因?yàn)槿萜魈摂M化操作系統(tǒng),不是虛擬化操作系統(tǒng)下的硬件”。
Visvanathan說(shuō):“集裝箱就其本質(zhì)而言是部署裸機(jī)應(yīng)用的理想方式,而Kubernetes則簡(jiǎn)化了集裝箱的創(chuàng)建和管理。” “這是概念的自然延伸,Kubernetes的持久存儲(chǔ)也是裸機(jī)上的最佳服務(wù)。一旦容器彈性化,虛擬化服務(wù)器不會(huì)提供任何額外的好處,因此,它們只是一個(gè)附加層,沒(méi)有附加價(jià)值。”
安全考慮
“在確定ubernetes中運(yùn)行的應(yīng)用程序的用戶訪問(wèn)權(quán)限時(shí),一大障礙就是Kubernetes工作負(fù)載的動(dòng)態(tài)和無(wú)狀態(tài)特性。事實(shí)上,Kubernetes存儲(chǔ)的主要安全問(wèn)題是維護(hù)訪問(wèn)控制和授權(quán)特權(quán),以確保只有相關(guān)的容器和服務(wù)才能訪問(wèn)敏感數(shù)據(jù)。”Aqua Security營(yíng)銷副總裁Rani Osnat說(shuō)。
Osnat說(shuō):“有幾種方法可以實(shí)現(xiàn)這一目標(biāo),但它們必須與具有應(yīng)用上下文和與特定服務(wù)關(guān)聯(lián)的安全策略綁定在一起。”
提供用于保護(hù)Kubernetes持久性存儲(chǔ)的安全工具也應(yīng)該繼續(xù)發(fā)展。換句話說(shuō),一切都需要及時(shí)改善。
“短期工作負(fù)載可能會(huì)在捕獲適當(dāng)?shù)陌踩畔⒎矫婷媾R挑戰(zhàn),尤其是出于審計(jì)和合規(guī)目的。 這個(gè)問(wèn)題的解決可能需要借助于工具的演變,而不是放慢敏捷過(guò)程,”CloudPassage的Wilson說(shuō)。 “跟蹤、審計(jì)和保護(hù)存儲(chǔ)機(jī)制存在類似的問(wèn)題 ----工具必須發(fā)展以滿足安全需求,而不應(yīng)該減慢應(yīng)用交付流程。”