30個不可不知的容器技術工具和資源

軟件容器技術影響着從開發人員、測試人員、運維人員到分析人員的IT團隊中的每個人,它不像虛擬化同樣只是系統管理員的工具。容器包的大小和完整性使得團隊成員可以在幾秒鐘內部署完整的環境。git

容器是一個很好的工具,同時帶來了一系列下游決策,包括使用何種標準、如何存儲舊版本和部署鏡像、如何在生產中管理這些鏡像等等。程序員

可是,該如何正確的組裝產品和服務,才能在環境中有效地構建、運行和管理容器?爲了回答這個問題,咱們調查了各類容器技術產品和服務,以便您能夠衡量對比各類容器架構、集羣管理和部署、存儲、安全、操做系統、部署等方案的優劣。github

容器運行

儘管Docker的高人氣讓其成爲了一個事實標準,但市場上的輕量級Linux虛擬化工具衆多,Docker也只是衆多競爭者中的一個。你有不少選擇,包括:docker

Docker數據庫

Docker的同名開源容器化引擎適用於大多數後續產品以及許多開源工具。bootstrap

Commercially Supported Docker Engine(CSDE)安全

Docker公司擁有擴展Docker的全部權。CSDE支持在Windows服務器上運行docker實例。服務器

Rkt網絡

rkt的發音爲「rocket」,它是由CoreOS開發的。rkt是Docker容器的主要競爭對手。架構

Solaris Containers

Solaris容器架構比Docker更早出現。想必那些已經在Solaris上標準化的IT企業會繼續研究它。

Microsoft容器

做爲Linux的競爭對手,Microsoft Containers能夠在很是特定的狀況下支持Windows容器。

集羣管理和部署

建立鏡像、將它們從開發傳遞到測試並回傳,都是容易的事情,但要在生產環境中支持它們就不那麼簡單了。由於那意味着要註冊工件,要將它們做爲系統部署到生產中,還要管理服務器和服務器集合,包括雲中的服務器集合(即「集羣」)。集羣管理工具管理工做負載,包括將實例從一個虛擬主機轉移到另外一個基於負載的虛擬主機上。集羣管理工具還負責分配資源,如CPU和內存。

Kubernetes

雖然沒有集羣管理的標準,但Google的開源產品Kubernetes是最受歡迎的。有Amazon的AWS、Google雲引擎(GCE)和Microsoft的Azure容器服務的支持,Kubernetes是相對可移植的,這有助於防止供應商鎖定,Kubernetes甚至能夠在私有云(如OpenStack)上運行。Microsoft、Amazon和Google都提供運行Kubernetes的容器服務,並提供商業支持。

Apache Mesos

一個用於抽象計算資源的工具,Apache Mesos能夠在同一個集羣中同時運行Docker和rkt鏡像。DC/OS是在Mesos上構建的平臺,用做數據中心操做系統。

Docker Swarm

Docker是用於集羣管理的免費產品,Swarm從命令行運行,並與Docker 1.12及更高版本捆綁在一塊兒。如今它只用於Docker的原生編排。

Docker Data Center

基於Web的dashboard提供對Docker的所有管理,包括控制面板、註冊表、監視、日誌記錄和持續集成,Docker Data Center經過運行Docker Swarm進行集羣管理。雖然Docker是免費的,但Data Center是有商業支持的商業產品。固然,Docker Data Center囊括並擴展了公司的免費開源產品:Docker和Swarm。

Rancher

嚴格上說Rancher不屬於單純的集羣部署與管理工具,由於它的本質是一個全棧化的容器管理平臺,可是Rancher是全球惟一一家同時支持Kubernetes、Mesos和Swarm的容器管理平臺。Rancher能夠幫用戶自動設置並啓動Kubernetes、Mesos或Swarm所創建的集羣,並同時提升實施訪問控制策略和完整易用的用戶管理界面。

儲存容器

容器從出現伊始就被設計爲可互換的、甚至是可替代的,就像貨幣同樣。這對於Web服務器是很是好的,由於這樣就根據需求在集羣中添加或刪除相同的服務器了。另外一方面,存儲和數據庫須要持久性位置來容納數據,或者至少須要標準的接口層。若是想要遷移到全容器基礎架構的組織就須要存儲,如下公司及產品已經知足了這一需求。

ClusterHQ

這些工具備助於將數據庫放入容器中。雖然開發ClusterHQ的供應商在去年12月停業,但它在github.com/ClusterHQ留下了大量的免費/開源軟件。

BlockBridge

BlockBridge是「彈性存儲平臺」公司,做爲使用Docker的容器提供存儲,具備OpenStack選項和軟件定義的安全存儲。

EMC/lib存儲

EMC/lib存儲系統提供了一個代碼庫,使得容器存儲得以實現,並且這是免費和開放的。

Docker插件存儲

EMC、NetApp和其餘公司已經建立了支持存儲的插件Docker Inc.,而且可供下載。

容器安全

對很多想進行容器化的公司而言,單點登陸、LDAP集成、審計、入侵檢測和預防以及漏洞掃描都存在困難。甚至傳統的設備和軟件也可能難以或不可能在容器集羣上配置。幸運的是,有一些廠商正在努力解決這一需求,但這一領域還很新,有兩個新公司尚沒有可用的產品。

Twistlock

您能夠不經過組件(如操做系統、Web服務器或內容管理系統)來構建Docker圖像。但問題是,圖像上未修補或過期的軟件均可能會帶來安全風險。Twistlock的漏洞掃描器經過將圖像與已知威脅的數據庫進行對比來解決這一問題。這是針對不斷更新的數據庫的自動審覈。其它核心功能包括更典型的入侵檢測和法規聽從性系統。

Aqua Container Security

像Twistlock同樣,Aqua專一於建立、監視容器和在容器中實施策略,以及與CI集成,對每一個構建運行安全檢查。

StackRox

由Google的前安全主管、美國總統執行辦公室網絡安全高級總監Sameer Bhalotra聯合創立的StackRox,目前正在準備相似的容器安全產品。雖然創業公司仍處於極低調模式,其網站上也沒有產品供應,但該公司是一個值得關注的公司。

Aporeto

Aporeto是另外一個極低調的創業公司,公司總部位於加利福尼亞州的San Jose,並且Aporeto是Nauge Networks的前CTO。Aporeto表示,公司將提供一個「用於部署和運行現代應用程序的全面的雲本地安全解決方案」的微服務和容器。

操做系統

大多數Linux操做系統分發版都是以「方便」爲準則,包含體積很大的預安裝包,以防用戶可能須要它們。相比之下,Docker是爲輕量級虛擬化而設計的,以儘量少的內存、磁盤和CPU運行許多相同的機器。做爲迴應,很多供應商已經開發了「容器優化型」的Linux構建,嘗試在Linux分發版須要的功能與容器須要的極簡主義之間達到平衡。如下列出的是市場上最受歡迎的幾個:

RancherOS

RancherOS僅包含Linux內核和Docker自己,RancherOS系統鏡像只須要22 MB的磁盤空間。RancherOS再也不將相似systemd這樣的服務管理系統內置在大多數版本的Linux中,而是啓動Docker Daemon自己做爲init或「bootstrap」系統。

CoreOS Container Linux

設計爲與CoreOS Linux工具和系統配合使用,CoreOS Container Linux已預配置爲運行Linux容器。它還帶有自動更新打開的功能,操做系統無需人工處理就能夠自動更新。

Ubuntu Snappy

Canonical是Ubuntu Linux的母公司,又叫Snappy,它能比其餘任何Linux分發版多運行七倍多的容器。Snappy性能高,佔用空間小,而且能對操做系統和應用程序進行增量(差別)更新,從而保持輕量下載。

Red Hat Atomic Host

這些工具將使您能夠在最小版本的Red Hat Enterprise Linux中使用Linux容器。那些運行Red Hat enterprise並有意向使用容器的企業,一般但願其主機運行Red Hat Atomic Host操做系統。

Microsoft Nano Server

Nano Server是一個小型的、遠程管理的命令行操做系統,旨在以容器的形式託管和運行,也可能在雲中運行。是的,Microsoft具備創造基於Windows Server的容器的能力,Nano是專門爲此而構建的。其餘可使用Windows容器的Microsoft操做系統包括Windows Server 2016和Windows Pro 10 Enterprise。

VMware Photon

相較於其它容器操做系統,220MB大小的Photon可謂體積很大了,不過它仍然只是最新版本的Windows的大小的百分之一。這個Linux容器主機旨在與VMware的vSphere虛擬化產品集成。

容器相關大會和技術資源

一旦你真的決定開始使用容器,那麼最難的部分必定是實施和支持它們。從行業大會、技術支持論壇到商業支持,這裏有你須要的資源。

DockerCon

若是您的公司追求的是全Docker架構,而且使用的是Docker Data Center、Swarm和Docker的商業夥伴的其餘產品,那DockerCon是必參加的大會之一。DockerCon涵蓋的內容從入門教程,到提示、技巧和尖端想法,包羅萬象。

Container Summit

這個大會規模比DockerCon小,但範圍更廣。在2016年,Containe Summit在美國召開了兩個大型會議和12個小型會議。Container Summit是與正在努力實施和管理容器技術的同行交流的好地方。

ContainerCon

這是一個更大的大會,其特別之處在於,參加大會的一般是容器領域的思想領袖,以及各種的供應商。 ContainerCon一般與LinuxCon和CloudOpen同時舉辦。

CoreOS Fest

CoreOS Fest能夠視爲CoreOS對DockerCon的回答了。參加CoreOS Fest能夠得到和rkt/CoreOs技術棧有關的培訓與支持信息。

StackOverflow

最大的程序員在線問答網站,StackOverflow提供了大量有關在容器中部署應用程序的信息。

Docker社區網站

Docker組建的社區網站,提供以Docker爲中心的信息和論壇。

CoreOS社區網站

CoreOS的社區網站專一於經過聚會和聊天將人們和專家鏈接起來。

向着容器化,出發!

容器的概念很簡單:它是一個複雜的實現。若是您的技術團隊只是嚴格地將容器用於構建和測試,那您只須要選擇正確的操做系統和容器類型便可。然而若是你的構建系統正在爲每一個構建建立鏡像,那麼在容器化的路上,你理應走得更遠!

擴展過去的構建/測試意味着選擇一整套包含操做、部署、監視、支持和安全等在內的技術棧。CoreOS和Docker都提供了各類擴展和支持,使本身的產品生態系統更容易集成。可是若是你喜歡改變本身的環境,那麼使用Kubernetes進行集羣管理能夠防止供應商鎖定,而且每一個主要的雲提供商都支持它。

以上是容器資源的簡潔列表,若是你有更好的提示和建議,請不吝賜教噢!一塊兒向着容器化,出發吧!

相關文章
相關標籤/搜索