本文介紹了VMware最近宣布的兩項(xiàng)容器解決方案,分別是vIC(整合了vSphere的容器技術(shù)(vSphere Integrated Containers))和Photon平臺,并與現(xiàn)有方案進(jìn)行了對比。
最近,VMware宣布了幾項(xiàng)關(guān)于容器的和如何構(gòu)建云原生應(yīng)用(cloud-native application)的技術(shù)和方案。這次公告的目標(biāo)客戶是傳統(tǒng)的VMWare客戶,他們的特點(diǎn)是他們會關(guān)注Docker等新技術(shù),同時對于離開可信的供應(yīng)商又是比較謹(jǐn)慎的。vIC(整合了vSphere的容器技術(shù)(vSphere Integrated Containers))和Photon平臺給與了這些客戶一個機(jī)會來開始構(gòu)建云原生應(yīng)用。
然而,VMware提出的大量的新技術(shù)和新術(shù)語對于傳統(tǒng)的VMware管理員們、架構(gòu)師們和顧問們帶來了新的挑戰(zhàn)。本篇博文嘗試搞清楚這些新的方案,并與現(xiàn)有方案進(jìn)行對比。
vIC是從Bonneville項(xiàng)目發(fā)展而來,它將容器技術(shù)解構(gòu)成了若干基本能力,然后通過組合VMware的ESXi、Photon OS和Instant Clone等技術(shù)來替換這些能力。這個解決方案可以將傳統(tǒng)的vSphere架構(gòu)和容器技術(shù)連接起來,使得VMware管理員使用熟悉的VMware工具(如vSphere)來管理這些特定類型的容器。
通過下面這張圖來對比一下Docker容器技術(shù)和vIC。
vIC的其中一個優(yōu)勢是,可以使用現(xiàn)有的工具(如vCenter)來管理容器宿主機(jī),原因是容器宿主機(jī)本質(zhì)上就是一臺ESXi主機(jī)或者vSphere集群。這意味著vIC可以利用vSphere的高級功能,如HA、vMotion和分布式資源調(diào)度(Distributed Resource Scheduling)(DRS)。我們把這種抽象稱為虛擬容器宿主機(jī)(virtual container host)。VMware將VIH定義為“具有完全動態(tài)邊界的容器終結(jié)點(diǎn)(Container endpoint with completely dynamic boundaries)”,在這個邊界內(nèi),vSphere資源管理器處理容器如何放置,從而虛擬Docker宿主機(jī)可以是一個完整的vSphere集群,也可以是這個集群的一部分”。這對于有些人可能很容易混淆,我的理解是,DRS允許容器虛擬機(jī)可以在vSphere集群中的ESXi宿主機(jī)之間來回遷移。這樣一來,我們可以把托管傳統(tǒng)虛擬機(jī)的vSphere集群稱為虛擬的VM宿主機(jī)(virtual VM host)。
作為容器終結(jié)點(diǎn),VIH機(jī)制向開發(fā)者暴露了Docker APIs,使得他們與vIC交互的方式和與基于Linux的Docker容器的交互方式是完全相同的。同時,VIH和vIC實(shí)例可以通過vSphere網(wǎng)頁客戶端管理,就像傳統(tǒng)的vSphere資源一樣。
來自VMware的Georg Hicken提供的這張幻燈片很好地做了總結(jié):
如果說vIC是針對從傳統(tǒng)虛擬機(jī)過渡到容器的客戶的解決方案,那么Photon平臺就是針對完全使用容器和Kubernetes、Mesos等容器管理工具的客戶的解決方案。Photon平臺被設(shè)計(jì)來提供可擴(kuò)展性和高性能,就像“Google風(fēng)格”的數(shù)據(jù)中心架構(gòu)一樣。在Photon平臺中,為了完成這個目標(biāo),VMware將傳統(tǒng)的ESXi虛擬層替換為一種新型的輕量級的“microvisor”,將容器作為應(yīng)用發(fā)布的基本單元,并使用一種新型的、經(jīng)過優(yōu)化的容器管理工具,稱為Photon控制器(Photon Controller)。
了解Photon平臺的一個好方法就是與另一種容器架構(gòu)比較,比如CoreOS的Tectonic平臺。
圖中的Photon Machine是一種新的基于ESXi的微虛擬層(microvisor),它使用了Photon OS,提供了容器宿主機(jī)操作系統(tǒng)和容器運(yùn)行時(container runtime)。剛開始這可能是令人疑惑的,因?yàn)樵赥ectonic平臺中,容器宿主機(jī)操作系統(tǒng)是基于Linux的最小化系統(tǒng)CoreOS,而容器運(yùn)行時是不同的,可以是RKT,也可以是Docker。在VMware術(shù)語中,容器宿主機(jī)操作系統(tǒng)是微虛擬層,容器運(yùn)行時是Photon OS。
從這張圖往上看,Photon Controller是一種分布式的控制層(control plane)和資源管理器(resource manager),用來管理大量的Photon Machines。單個控制器(monolithic controller),如vCenter,可擴(kuò)展性往往存在一定的局限,而Photon Controller沒有這種局限。例如,vIC就是使用vCenter來管理的容器解決方案,具有中等的可擴(kuò)展性,而Photon平臺則是一種適用于大規(guī)模容器的架構(gòu)。
從圖中可以看出,Photon Controller是一種超級管理器(uber-manager),用來管理容器和調(diào)度資源,就像Docker Machine/Compose/Swarm、Kubernetes和Apache Mesos一樣。換句話說,你可以使用Photon Controller來創(chuàng)建和管理Kubernete集群或者M(jìn)esos集群。類似的做法是,vRealize Automation (vRA)可以管理不同的vSphere集群,其中的ESXi宿主機(jī)可以被vCenter實(shí)例來管理。Photon Controller可以與Lightwave項(xiàng)目整合,來提供身份訪問管理。將來,Photon Controller會包含更多的插件,提供創(chuàng)建、監(jiān)控、管理等多種能力。
在以容器為中心的、云原生應(yīng)用方面,VMware正在進(jìn)行各種探索。盡管很多人認(rèn)為VMware是一個傳統(tǒng)公司,但是需要注意的是,VMware的客戶群將會謹(jǐn)慎地轉(zhuǎn)向容器技術(shù)。VMware提出了vIC和Photon平臺,提供給客戶一個轉(zhuǎn)向容器技術(shù)的方案。雖然,不能保證VMware在開源世界和云原生領(lǐng)域中一定會成功,但是他們已經(jīng)踏出了積極的一步,創(chuàng)建了云原生應(yīng)用團(tuán)隊(duì),并開源了Photon Controller。無論如何,這顯示了對于開源世界,VMware并不是空口說白話??傊?,VMware不應(yīng)該被忽視。
另外,我建議讀者們閱讀以下關(guān)于vIC和Photon平臺的文章:
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2016-02/128205.htm