
VMWorld大會現(xiàn)場
在 VMworld 2016 第二天的主題演講上,核心平臺部門的 CTO Kit Colbert 介紹了 VMware 云原生的技術(shù)新進(jìn)展,在去年 vSphere Integrated Containers(VIC)的基礎(chǔ)上,增加了企業(yè)級容器 Registry 和容器應(yīng)用管理門戶,使得企業(yè)級容器平臺更加完整,整個平臺計劃于年底正式發(fā)布。VIC 由三個開源項目組成,分別是容器引擎 VIC-engine,容器鏡像倉庫 Harbor registry 和容器管理門戶 Admiral 。其中,VIC 的 Registry 用的是由我們中國團(tuán)隊研發(fā)的開源項目 Harbor,已經(jīng)被廣大中國用戶所熟悉。VIC 項目的地址為:https://github.com/vmware/vic-product

Kit Colbert 演示 VIC 中的 Harbor Registry
容器是對開發(fā)者非常友好一種技術(shù),比虛擬機更輕量更靈活,把應(yīng)用封裝在容器之中,就可無差別地部署運行。因此,以 Docker 為代表容器技術(shù)自推出之后,在開發(fā)者中迅速流行起來。
另一方面,當(dāng)我們把容器部署在生產(chǎn)系統(tǒng)上運行時,卻發(fā)現(xiàn)依然需要解決一系列基礎(chǔ)設(shè)施的問題,如存儲、網(wǎng)絡(luò)等資源怎樣提供給應(yīng)用?高可用性怎樣實現(xiàn)?數(shù)據(jù)怎樣持久化?這些問題在虛擬化時代都已經(jīng)很好地解決過了,這回?fù)Q上了更“先進(jìn)”的容器,運維人員卻失望地發(fā)現(xiàn)必須再次解決這些問題,猶如踏破鐵鞋,又回到了原點,要辛辛苦苦地重造輪子。這就是容器應(yīng)用目前的尷尬!容器的落地問題,關(guān)鍵在于解決各種生產(chǎn)系統(tǒng)中部署 (day 1)和運維(day 2)問題。

容器開發(fā)環(huán)境與生產(chǎn)環(huán)境的差別
VIC 優(yōu)勢之一,就是幫助企業(yè)在生產(chǎn)環(huán)境中運行容器應(yīng)用,利用已有工具,無差別地同時運行容器和虛擬機應(yīng)用。用戶可通過 Docker run 等命令,直接在 vSphere 創(chuàng)建容器虛擬機 (containerVM),同時,傳統(tǒng)的虛擬機應(yīng)用可在同一個平臺上運行。這樣做的好處,是把原有的高可用性(HA)、動態(tài)負(fù)載均衡(DRS),資源監(jiān)控等功能完全重用,像 VSAN 和 NSX 這樣的軟件定義存儲(SDS )和網(wǎng)絡(luò)(SDN)的基礎(chǔ)設(shè)施也可供容器直接使用。VIC 真正把開發(fā)人員喜愛的 Docker API 和運維人員熟悉的 vSphere 管理工具完美地集成起來,成為開發(fā)運維一體化平臺。

容器應(yīng)用與網(wǎng)絡(luò)、存儲等基礎(chǔ)設(shè)施完美融合
在 VIC 的三大組件中,有關(guān) VIC 容器引擎的原理已經(jīng)給讀者介紹過多次,提供在 vSphere平臺上直接運行 Docker 鏡像的容器運行時(runtime),無需從 Linux 宿主機上通過 Docker engine 來執(zhí)行。vSphere 管理員可創(chuàng)建虛擬容器主機 VCH(Virtual Container Host)分配給不同的人員使用。每個 VCH 包含若干臺 ESX 主機組成的集群,在集群中提供一個支持Docker API 的接入節(jié)點(Endpoint VM),Docker run 命令可直接發(fā)向這個接入節(jié)點,從而啟動容器虛擬機(Container VM)。VIC 更詳細(xì)的架構(gòu),可通過文末“閱讀原文”,參考《企業(yè)容器和虛擬機融合技術(shù)》。

VIC的架構(gòu)
大部分企業(yè)運行容器應(yīng)用都需要配備私有的鏡像倉庫,VIC內(nèi)置了大家熟知的 Harbor Registry,可使用存放在 Harbor 之中的鏡像,方便了使用。Harbor 提供的 RBAC 鏡像權(quán)限管理,使得鏡像的訪問更加安全可控。Harbor 還提供遠(yuǎn)程鏡像同步功能,實現(xiàn)多數(shù)據(jù)中心、跨云的鏡像同步。參見《玩轉(zhuǎn)容器鏡像-鏡像倉庫的管理和運維》。

在 VMworld 分會場介紹 Harbor
VIC 還新增了容器管理門戶 Admiral(海軍上將),通過可視化界面定義容器應(yīng)用的模板,可定制單個或多個容器的應(yīng)用,最終可把模板中的應(yīng)用部署到 VIC 的容器引擎中。 Admiral 還可獲得容器的運行的各種信息。Admiral 也被集成到了 vRA(vRealize Automation)的管理平臺中,可提供容器即服務(wù) (Container as a Service) 的能力,將于年底發(fā)布該容器管理功能。

VIC的容器管理界面
VIC 的三個組件都是開源項目,可在 Github 上獲得統(tǒng)一的入口地址并下載試用。