軟件容器技術(shù)影響著從開發(fā)人員、測試人員、運維人員到分析人員的IT團隊中的每一個人,它不像虛擬化一樣只是系統(tǒng)管理員的工具。容器包的大小和完整性使得團隊成員能夠在幾秒鐘內(nèi)部署完整的環(huán)境。
容器是一個很好的工具,同時帶來了一系列下游決策,包括使用何種標(biāo)準(zhǔn)、如何存儲舊版本和部署鏡像、如何在生產(chǎn)中管理這些鏡像等等。
但是,該如何正確的組裝產(chǎn)品和服務(wù),才能在環(huán)境中有效地構(gòu)建、運行和管理容器?為了回答這個問題,我們調(diào)查了各種容器技術(shù)產(chǎn)品和服務(wù),以便您可以衡量對比各種容器架構(gòu)、集群管理和部署、存儲、安全、操作系統(tǒng)、部署等方案的優(yōu)劣。
容器運行
盡管Docker的高人氣讓其成為了一個事實標(biāo)準(zhǔn),但市場上的輕量級Linux虛擬化工具眾多,Docker也只是眾多競爭者中的一個。你有很多選擇,包括:
Docker
Docker的同名開源容器化引擎適用于大多數(shù)后續(xù)產(chǎn)品以及許多開源工具。
Commercially Supported Docker Engine(CSDE)
Docker公司擁有擴展Docker的所有權(quán)。CSDE支持在Windows服務(wù)器上運行docker實例。
Rkt
rkt的發(fā)音為“rocket”,它是由CoreOS開發(fā)的。rkt是Docker容器的主要競爭對手。
Solaris Containers
Solaris容器架構(gòu)比Docker更早出現(xiàn)。想必那些已經(jīng)在Solaris上標(biāo)準(zhǔn)化的IT企業(yè)會繼續(xù)研究它。
Microsoft容器
作為Linux的競爭對手,Microsoft Containers可以在非常特定的情況下支持Windows容器。
集群管理和部署
創(chuàng)建鏡像、將它們從開發(fā)傳遞到測試并回傳,都是容易的事情,但要在生產(chǎn)環(huán)境中支持它們就不那么簡單了。因為那意味著要注冊工件,要將它們作為系統(tǒng)部署到生產(chǎn)中,還要管理服務(wù)器和服務(wù)器集合,包括云中的服務(wù)器集合(即“集群”)。集群管理工具管理工作負(fù)載,包括將實例從一個虛擬主機轉(zhuǎn)移到另一個基于負(fù)載的虛擬主機上。集群管理工具還負(fù)責(zé)分配資源,如CPU和內(nèi)存。
Kubernetes
雖然沒有集群管理的標(biāo)準(zhǔn),但Google的開源產(chǎn)品Kubernetes是最受歡迎的。有Amazon的AWS、Google云引擎(GCE)和Microsoft的Azure容器服務(wù)的支持,Kubernetes是相對可移植的,這有助于防止供應(yīng)商鎖定,Kubernetes甚至可以在私有云(如OpenStack)上運行。Microsoft、Amazon和Google都提供運行Kubernetes的容器服務(wù),并提供商業(yè)支持。
Apache Mesos
一個用于抽象計算資源的工具,Apache Mesos可以在同一個集群中同時運行Docker和rkt鏡像。DC/OS是在Mesos上構(gòu)建的平臺,用作數(shù)據(jù)中心操作系統(tǒng)。
Docker Swarm
Docker是用于集群管理的免費產(chǎn)品,Swarm從命令行運行,并與Docker 1.12及更高版本捆綁在一起。現(xiàn)在它只用于Docker的原生編排。
Docker Data Center
基于Web的dashboard提供對Docker的全部管理,包括控制面板、注冊表、監(jiān)視、日志記錄和持續(xù)集成,Docker Data Center通過運行Docker Swarm進行集群管理。雖然Docker是免費的,但Data Center是有商業(yè)支持的商業(yè)產(chǎn)品。當(dāng)然,Docker Data Center囊括并擴展了公司的免費開源產(chǎn)品:Docker和Swarm。
Rancher
嚴(yán)格上說Rancher不屬于單純的集群部署與管理工具,因為它的本質(zhì)是一個全?;娜萜鞴芾砥脚_,但是Rancher是全球唯一一家同時支持Kubernetes、Mesos和Swarm的容器管理平臺。Rancher可以幫用戶自動設(shè)置并啟動Kubernetes、Mesos或Swarm所建立的集群,并同時提高實施訪問控制策略和完整易用的用戶管理界面。
儲存容器
容器從出現(xiàn)伊始就被設(shè)計為可互換的、甚至是可替代的,就像貨幣一樣。這對于Web服務(wù)器是非常好的,因為這樣就根據(jù)需求在集群中添加或刪除相同的服務(wù)器了。另一方面,存儲和數(shù)據(jù)庫需要持久性位置來容納數(shù)據(jù),或者至少需要標(biāo)準(zhǔn)的接口層。如果想要遷移到全容器基礎(chǔ)架構(gòu)的組織就需要存儲,以下公司及產(chǎn)品已經(jīng)滿足了這一需求。
ClusterHQ
這些工具有助于將數(shù)據(jù)庫放入容器中。雖然開發(fā)ClusterHQ的供應(yīng)商在去年12月停業(yè),但它在github.com/ClusterHQ留下了大量的免費/開源軟件。
BlockBridge
BlockBridge是“彈性存儲平臺”公司,作為使用Docker的容器提供存儲,具有OpenStack選項和軟件定義的安全存儲。