容器是VMworld 2015大會最為熱門的話題之一。VMware很清楚地看到了近期容器與虛擬機(jī)混搭將會快速進(jìn)入企業(yè)數(shù)據(jù)中心。IT組織仍舊需要捍衛(wèi)安全性以及數(shù)據(jù)管理需 求,即使是容器化的應(yīng)用也不例外。VMware已經(jīng)在虛擬機(jī)端交付了容器,而且相關(guān)設(shè)計已經(jīng)取得成功,對虛擬化及云管理解決方案進(jìn)行了擴(kuò)展以支持(而且我 認(rèn)為最終會同化)企業(yè)集裝箱化項目。
VMware全新的vSphere集成容器(VIC)使得管理及確保運行在虛擬機(jī)(稱之為虛擬容器主機(jī))中容器的安全性幾乎和管理及確保傳統(tǒng)虛擬機(jī)的安全 性沒什么兩樣。VIC作為第一流的IT管理對象出現(xiàn)在VMware管理工具中,繼承了vSphere 提供的眾多虛擬機(jī)管理功能,包括強(qiáng)大的安全性。這使得所有VMware顧客都能夠很平滑地采用容器技術(shù)。
然而,我們認(rèn)為應(yīng)用容器真正的轉(zhuǎn)折點將是容器超越簡單的無狀態(tài)計算引擎并直接處理持久性數(shù)據(jù)之時。到那時,容器必然受限于范圍及規(guī)模。
容器中有什么?
簡言之,容器在其進(jìn)程內(nèi)封裝并隔離了應(yīng)用代碼,使得代碼認(rèn)為自己獨享一臺機(jī)器,將所有的系統(tǒng)服務(wù)調(diào)用轉(zhuǎn)交給容器主機(jī)。由于容器實際上是進(jìn)程,因此很多(可能數(shù)以千計)容器能夠很輕松地共享單臺物理或虛擬服務(wù)器。
應(yīng)用認(rèn)為他們擁有一個完整運行的操作系統(tǒng)(就像是在虛擬機(jī)內(nèi)運行),但這些應(yīng)用實際是在共享主機(jī)操作系統(tǒng)。應(yīng)用之間的隔離性要低于在虛擬機(jī)內(nèi)運行時的隔離性,但效率更高(因為每個容器并沒有運行自己的操作系統(tǒng))。
容器還有一些其他的優(yōu)勢。容器在用戶空間內(nèi)運行,因此破壞、阻礙或者造成內(nèi)核級崩潰的可能性很小。容器能夠被快速復(fù)制,通常是被緩存,而且很容易調(diào)整。容 器幾乎能夠在任何地方構(gòu)建(比如開發(fā)人員的MacBook)并在任何地方運行(比如亞馬遜Web服務(wù))。這意味著容器在最初設(shè)計時就是無狀態(tài)的,不包括需 要保護(hù)或保留的數(shù)據(jù)。
最初設(shè)計容器是為了構(gòu)建微服務(wù)。微服務(wù)架構(gòu)非常適合設(shè)計為在云中運行的應(yīng)用。這些新應(yīng)用是無狀態(tài)的,因為它們并不保存內(nèi)部數(shù)據(jù)而且能夠根據(jù)運營需求動態(tài)調(diào)整。
然而,集裝箱應(yīng)用存儲仍舊是一個棘手問題。運行在容器內(nèi)的應(yīng)用能夠訪問本地操作系統(tǒng)存儲,但如果容器被遷移(或者克隆、復(fù)制等等)到另一臺容器主機(jī),那么 將不會帶走當(dāng)前主機(jī)上的數(shù)據(jù)。因此,無狀態(tài)容器并不適合需要可靠及持久數(shù)據(jù)服務(wù)的應(yīng)用。在微會話級將數(shù)據(jù)保留在云存儲比如亞馬遜S3中的微服務(wù)運行的很 好,但大多數(shù)應(yīng)用的需求并非僅限于此。
存儲問題解決之道
這意味著容器在未來的數(shù)據(jù)中心中只是一個小角色,僅限于開發(fā)人員使用或者全新的云托管微服務(wù)應(yīng)用?我們認(rèn)為容器的優(yōu)勢極具吸引力,使得企業(yè)數(shù)據(jù)中心無法忽略,而且正如你可能已經(jīng)猜測的那樣,容器數(shù)據(jù)管理產(chǎn)品正在脫穎而出。
例如,ClusterHQ公司的Flocker使得容器能夠掛載唯一的Flocker數(shù)據(jù)集并能夠跟隨容器一起移動。Flocker對數(shù)據(jù)集進(jìn)行分區(qū)并將 共享的塊存儲掛載到所有的容器主機(jī)。采用該解決方案,容器成為“無狀態(tài)的”而且能夠很容易地承載幾乎所有應(yīng)用,即使是數(shù)據(jù)庫比如MongoDB與 MySQL。
Flocker 1.3支持OpenStack Cinder塊存儲而且來自EMC、NetApp、Hedvig以及Nexenta等廠商的自定義驅(qū)動程序很快就會出現(xiàn)。在VMworld大會 上,VMware宣布支持Flocker,這樣容器就能夠使用vSphere掛載的任何存儲。這還包括vSAN以及支持虛擬卷的第三方存儲。上述場景非常 有趣,因為他們增加了明確的存儲服務(wù),比如針對每個容器所使用存儲的QoS。
在其有限的無狀態(tài)構(gòu)成中,容器以及虛擬機(jī)各司其職。既然容器直接支持虛擬存儲,那么hypervisor廠商就需要提供高附加值功能。既然未來的數(shù)據(jù)中心 可能是虛擬機(jī)/容器環(huán)境的混合體,在虛擬機(jī)中會存在大量的容器(并支持混合、以DevOps為中心的云運營),那么hypervisor廠商提供具備整體 管理方案的機(jī)會非常大。
容器正在幫助我們構(gòu)建一個越發(fā)流暢、敏捷但最終很復(fù)雜的環(huán)境。這意味著我們需要更好的安全工具,更動態(tài)的網(wǎng)絡(luò)以及適應(yīng)性更強(qiáng)的存儲。一定要讓我們知道IT組織如何適應(yīng)并采用容器產(chǎn)品,以及廣泛采用容器技術(shù)存在哪些挑戰(zhàn)。