5 個發展中的 Docker 技術
自從大約18個月前Docker發布后,此領域的新技術已呈井噴之態。盡管下面的列表很長,我在此還是要簡述下5項Docker相關、并且不斷發展的技術,這些技術正在推進云技術的發展方向。
1) Kubernetes
今夏在 Dockercon 上,Google的基礎設施VP Eric Brewer,在谷歌發布了 Kubernetes。Kubernets提供了一種方式來組織機器集群上的Docker容器集。 本質上,它是個調度器,在即使有機器崩潰,也能保證容器的持續運行。 我們看到了Kubernets正被迅速采用,并吸引了很多人的興趣,這些都超越了Kubernets僅僅是Google的Docker相關云技術這個傳聞。我們需要對運營層次(Operations level)上做組織,而Kubernets恰好處理得很好。Kubernets可以創建描述Docker鏡像集的配置清單(manifest),并把配置清單放到集群中。這樣配置清單可以自動部署、水平伸縮這些容器。Kubernets同時提供了一種定義”service“的方式,service可以被運行在集群上的其他應用使用。
2) Docker Pods
除了Kubernetes,Eric Brewer還談了容器并引入了"pods"這一概念。pods是Kubernetes的一個核心概念。他說,”在Google我們很少只部署單個容器“。相反,他們把容器組合在一起。例如,一個應用進程通常還包含多個輔助進程,比如logging,還有應用本身不關心的其他任務。
他同時指出Docker容器還需要解決內部及外部端口的映射,即Docker容器內部進程可見的與外部可見的映射。這就多出了一層需要被管理、存儲和查詢的復雜度(complexity),即使被部署為一個單元的pod內部的容器間也存在。因此,Google給每個pod內的一族容器共享一個IP地址。這意味著容器的內外端口都是相同的。端口可以在設計或者構建時引入。這就免了管理端口這層復雜度?,F在要查找運行某些特定服務(service)的pod,只需要這些pod的IP地址列表就好了。
Google計算引擎(Google Compute Engine)是目前***一個把一個IP子網分配給一個虛擬機的云基礎設計服務提供者,因此它的每個Docker pod都有自己的IP。
3) Flannel
CoreOS,除了積極參與了Kubernetes,還給出了Flannel (之前叫做Rudder)來嘗試解決這個端口映射問題。 Flannel在真實的網絡之上層疊了一層網絡,這層網絡會把一個IP子網分配給一臺機器。這樣做會有很大的性能開銷,但是他們希望隨著Flannel的發展,這些開銷能被改善掉。
4) Docker For Windows
最近,Microsoft也加入了Docker行列,宣稱他們打算為Windows創建一個容器化的解決方案,并提供一組兼容Docker的API。 盡管Linux和Windows容器的Docker鏡像不太可能可移植,但意味著在Docker API層之上構建的工具可以在這些操作系統間重用。
大企業在Windows上進行了大筆投資,所以這個聲明對想采用Docker的企業IT部門是個重大勝利。
5) Cloud Foundry Diego
Cloud Foundry開源PaaS項目是ActiveState的主要焦點。VMware發布Cloud Foundry后,我們是***個采用者。 當我們的解決方案Stackato在底層采用了Docker后,我們認為源于Diego項目的Docker集成正把此生態系統下的其余部分帶上正軌。
Diego 像Kubernetes一樣,也是個調度器;但是與Kubernetes不同的是,它的運行環境是不確定的,而且它主要與Cloud Foundry一起工作。Docker只是Diego的一個集成,但卻是IBM從事Diego的開發者的***關注點。我們也看到了Diego的Windows .NET集成,如來自Uhuru的版本,當Windows的Docker成為現實后,我確信這些技術將會融合。 Docker 的PaaS集成對Docker的未來相當重要。我們看到開發者成為Docker出現的主要推動力。開發者描述應用的運行環境的能力愈加強大。另外,每個人都可以選擇一個Docker化的應用,并馬上運行起來,認識到這個事實,已經填補了解決方案不存在的空白。 PaaS這個擴展更關注開發者,盡管其他技術正把Docker從開發者轉給運營團隊(Operations team)。
結論
這篇文章只觸及Docker生態下大量技術的冰山一角?,F在Github上有18265個項目引用了"Docker"這個詞。幾乎每周都有新方案發布,而現存的技術方案每次迭代都是在或者屈服或者適應新形勢。Docker生態本身也是在快速發展。
原文出自:http://www.oschina.net/translate/5-evolving-docker-technologies