圖片來源: 

VMware

近日,VMware擁抱Docker再進一步,發表了一項新專案Bonneville預覽版,要在Hypervisor原生支援Docker。VMware臺灣技術總監吳子強表示,這能讓vSphere平臺變成Container主機。

未來,MIS只要運用現有的vSphere操作介面和管理工具,如vCenter Server就能管理Container,不需要額外的學習成本。

VMware高級主管工程師Ben Corrie在官方部落格上透露,早在去年VMworld宣布擁抱Docker之前2個月,VMware就啟動了Bonneville計畫,初始目標是能在虛擬化基礎架構上直接部署Container。

他進一步解釋,因為Container技術是一種將程式相依性打包的執行方式,並使用有限資源在私人命名空間(private namespace)下建立起執行環境。

而Container主機也是一個運算資源的資源池(Pool of compute resource),並搭配必要的儲存及網路基礎建設來管理Container。

「從這個角度來看,VM也相當符合Container的特質,而Hypervisor則就像是Container主機所負責的角色。」Ben Corrie表示。

因此,Bonneville專案採取了一個新的方法能在Hypervisor上執行Container。這個專案開發了一個在Hypervisor的Docker背景程式,搭配客製的圖形驅動程式、網路驅動程式及其他執行所需驅動程式,來提供一個完全相容於vanilla版Docker客戶端的API。

 

VMware的Bonneville專案在vSphere的Hypervisor內建Docker支援,結合Instant Clone技術來快速啟動一個包著VM的Docker映象檔。

 

讓Container在Hypervisor的運作像是VM

如此一來,在Hypervisor中,Ben Corrie表示,Container就像是VM,而VM也可以像是Container,兩者間並沒有明顯區分。

此外,可以不需要使用In-guest虛擬化技術(在VM中安裝Guest OS的作法),就能讓所有Container需要的基礎架構都在VM外的Container主機上提供,而「Container就能視為是一個x86架構下的虛擬VM。」他說。

去年的VMworld大會時,VMware即大力鼓吹Container與VM互為相輔相成的角色的觀念。

VMware呼籲要用1:1,一個Container搭配一個VM的作法,用VM的安全性來強化Container。

不過,當時VMware的做法仍是在VM中安裝Guest OS後,在Guest OS上啟用Container。

後來,為了加快這種VM內裝Container的啟動速度,VMware在4月時還推出了自家的輕量級Linux版本Photon,來作為VM中的Guest OS。

在剛發布的Bonneville專案中,VMware仍然是用VM來包Container,但是採取了不一樣的新作法。透過Hypervisor啟動的Container,原生就伴隨了一個特殊的VM。

 

經VMware測試結果顯示,Bonneville Container相較於VM,其大小已經非常接近原生Docker。

 

透過分支複製技術,建立小容量VM

這個VM是透過VMware的Instant Clone技術(分支複製)所複製的子VM(child VM)。vSphere內建了Photon核心(Photon Kernel),並將一份僅占25MB的迷你版Photon的映象檔,預先載在記憶體中,稱為父映像檔(parent ROM image)。

Bonneville建立Container時,會用Instant Clone技術從記憶體中的這個父映象檔來部署Container需要的子VM。由於採用寫入時複製技術(copy-on-write)機制,子VM初始大小幾乎為零,建立子VM同時也在其中建立了Container。VMware表示,透過這個方式所建立內有Container的子VM,開啟時間小於1秒鐘。

Ben Corrie表示,VMware也從用Docker儲存庫網站上下載了老舊的作業系統MS-DOS 6.22作業系統映象檔和一款DOS遊戲百戰小旅鼠的映象檔,並且成功地部署到Bonneville所建立的Container上執行。「即使是非Linux作業系統(如MS-DOS),亦可以使用Docker打包後在Linux環境下執行。」他說。

吳子強也表示,Bonneville專案的設計,就是希望能讓所有以x86架構為基礎的作業系統都能支援Docker,包括Windows作業系統。

(圖片來源/VMware)

熱門新聞

Advertisement