軟件容器技術(shù)影響著從開(kāi)發(fā)人員、測(cè)試人員、運(yùn)維人員到分析人員的IT團(tuán)隊(duì)中的每一個(gè)人,它不像虛擬化一樣只是系統(tǒng)管理員的工具。容器包的大小和完整性使得團(tuán)隊(duì)成員能夠在幾秒鐘內(nèi)部署完整的環(huán)境。 容器是一個(gè)很好的工具,同時(shí)帶來(lái)了一系列下游決策,包括使用何種標(biāo)準(zhǔn)、如何存儲(chǔ)舊版本和部署鏡像、如何在生產(chǎn)中管理這些鏡像等等。 但是,該如何正確的組裝產(chǎn)品和服務(wù),才能在環(huán)境中有效地構(gòu)建、運(yùn)行和管理容器?為了回答這個(gè)問(wèn)題,我們調(diào)查了各種容器技術(shù)產(chǎn)品和服務(wù),以便您可以衡量對(duì)比各種容器架構(gòu)、集群管理和部署、存儲(chǔ)、安全、操作系統(tǒng)、部署等方案的優(yōu)劣。 容器運(yùn)行 盡管Docker的高人氣讓其成為了一個(gè)事實(shí)標(biāo)準(zhǔn),但市場(chǎng)上的輕量級(jí)Linux虛擬化工具眾多,Docker也只是眾多競(jìng)爭(zhēng)者中的一個(gè)。你有很多選擇,包括: Docker
Docker的同名開(kāi)源容器化引擎適用于大多數(shù)后續(xù)產(chǎn)品以及許多開(kāi)源工具。 Commercially Supported Docker Engine(CSDE)
Docker公司擁有擴(kuò)展Docker的所有權(quán)。CSDE支持在Windows服務(wù)器上運(yùn)行docker實(shí)例。 Rkt
rkt的發(fā)音為“rocket”,它是由CoreOS開(kāi)發(fā)的。rkt是Docker容器的主要競(jìng)爭(zhēng)對(duì)手。 Solaris Containers
Solaris容器架構(gòu)比Docker更早出現(xiàn)。想必那些已經(jīng)在Solaris上標(biāo)準(zhǔn)化的IT企業(yè)會(huì)繼續(xù)研究它。 Microsoft容器
作為L(zhǎng)inux的競(jìng)爭(zhēng)對(duì)手,Microsoft Containers可以在非常特定的情況下支持Windows容器。 集群管理和部署 創(chuàng)建鏡像、將它們從開(kāi)發(fā)傳遞到測(cè)試并回傳,都是容易的事情,但要在生產(chǎn)環(huán)境中支持它們就不那么簡(jiǎn)單了。因?yàn)槟且馕吨?cè)工件,要將它們作為系統(tǒng)部署到生產(chǎn)中,還要管理服務(wù)器和服務(wù)器集合,包括云中的服務(wù)器集合(即“集群”)。集群管理工具管理工作負(fù)載,包括將實(shí)例從一個(gè)虛擬主機(jī)轉(zhuǎn)移到另一個(gè)基于負(fù)載的虛擬主機(jī)上。集群管理工具還負(fù)責(zé)分配資源,如CPU和內(nèi)存。 Kubernetes
雖然沒(méi)有集群管理的標(biāo)準(zhǔn),但Google的開(kāi)源產(chǎn)品Kubernetes是最受歡迎的。有Amazon的AWS、Google云引擎(GCE)和Microsoft的Azure容器服務(wù)的支持,Kubernetes是相對(duì)可移植的,這有助于防止供應(yīng)商鎖定,Kubernetes甚至可以在私有云(如OpenStack)上運(yùn)行。Microsoft、Amazon和Google都提供運(yùn)行Kubernetes的容器服務(wù),并提供商業(yè)支持。 Apache Mesos
一個(gè)用于抽象計(jì)算資源的工具,Apache Mesos可以在同一個(gè)集群中同時(shí)運(yùn)行Docker和rkt鏡像。DC/OS是在Mesos上構(gòu)建的平臺(tái),用作數(shù)據(jù)中心操作系統(tǒng)。 Docker Swarm
Docker是用于集群管理的免費(fèi)產(chǎn)品,Swarm從命令行運(yùn)行,并與Docker 1.12及更高版本捆綁在一起?,F(xiàn)在它只用于Docker的原生編排。 Docker Data Center
基于Web的dashboard提供對(duì)Docker的全部管理,包括控制面板、注冊(cè)表、監(jiān)視、日志記錄和持續(xù)集成,Docker Data Center通過(guò)運(yùn)行Docker Swarm進(jìn)行集群管理。雖然Docker是免費(fèi)的,但Data Center是有商業(yè)支持的商業(yè)產(chǎn)品。當(dāng)然,Docker Data Center囊括并擴(kuò)展了公司的免費(fèi)開(kāi)源產(chǎn)品:Docker和Swarm。 Rancher
嚴(yán)格上說(shuō)Rancher不屬于單純的集群部署與管理工具,因?yàn)樗谋举|(zhì)是一個(gè)全?;娜萜鞴芾砥脚_(tái),但是Rancher是全球唯一一家同時(shí)支持Kubernetes、Mesos和Swarm的容器管理平臺(tái)。Rancher可以幫用戶自動(dòng)設(shè)置并啟動(dòng)Kubernetes、Mesos或Swarm所建立的集群,并同時(shí)提高實(shí)施訪問(wèn)控制策略和完整易用的用戶管理界面。 儲(chǔ)存容器 容器從出現(xiàn)伊始就被設(shè)計(jì)為可互換的、甚至是可替代的,就像貨幣一樣。這對(duì)于Web服務(wù)器是非常好的,因?yàn)檫@樣就根據(jù)需求在集群中添加或刪除相同的服務(wù)器了。另一方面,存儲(chǔ)和數(shù)據(jù)庫(kù)需要持久性位置來(lái)容納數(shù)據(jù),或者至少需要標(biāo)準(zhǔn)的接口層。如果想要遷移到全容器基礎(chǔ)架構(gòu)的組織就需要存儲(chǔ),以下公司及產(chǎn)品已經(jīng)滿足了這一需求。 ClusterHQ
這些工具有助于將數(shù)據(jù)庫(kù)放入容器中。雖然開(kāi)發(fā)ClusterHQ的供應(yīng)商在去年12月停業(yè),但它在github.com/ClusterHQ留下了大量的免費(fèi)/開(kāi)源軟件。 BlockBridge
BlockBridge是“彈性存儲(chǔ)平臺(tái)”公司,作為使用Docker的容器提供存儲(chǔ),具有OpenStack選項(xiàng)和軟件定義的安全存儲(chǔ)。 EMC/lib存儲(chǔ)
EMC/lib存儲(chǔ)系統(tǒng)提供了一個(gè)代碼庫(kù),使得容器存儲(chǔ)得以實(shí)現(xiàn),而且這是免費(fèi)和開(kāi)放的。 Docker插件存儲(chǔ)
EMC、NetApp和其他公司已經(jīng)創(chuàng)建了支持存儲(chǔ)的插件Docker Inc.,并且可供下載。 容器安全 對(duì)不少想進(jìn)行容器化的公司而言,單點(diǎn)登錄、LDAP集成、審計(jì)、入侵檢測(cè)和預(yù)防以及漏洞掃描都存在困難。甚至傳統(tǒng)的設(shè)備和軟件也可能難以或不可能在容器集群上配置。幸運(yùn)的是,有一些廠商正在努力解決這一需求,但這一領(lǐng)域還很新,有兩個(gè)新公司尚沒(méi)有可用的產(chǎn)品。 Twistlock
您可以不通過(guò)組件(如操作系統(tǒng)、Web服務(wù)器或內(nèi)容管理系統(tǒng))來(lái)構(gòu)建Docker圖像。但問(wèn)題是,圖像上未修補(bǔ)或過(guò)時(shí)的軟件都可能會(huì)帶來(lái)安全風(fēng)險(xiǎn)。Twistlock的漏洞掃描器通過(guò)將圖像與已知威脅的數(shù)據(jù)庫(kù)進(jìn)行對(duì)比來(lái)解決這一問(wèn)題。這是針對(duì)不斷更新的數(shù)據(jù)庫(kù)的自動(dòng)審核。其它核心功能包括更典型的入侵檢測(cè)和法規(guī)遵從性系統(tǒng)。 Aqua Container Security
像Twistlock一樣,Aqua專注于創(chuàng)建、監(jiān)視容器和在容器中實(shí)施策略,以及與CI集成,對(duì)每個(gè)構(gòu)建運(yùn)行安全檢查。 StackRox
由Google的前安全主管、美國(guó)總統(tǒng)執(zhí)行辦公室網(wǎng)絡(luò)安全高級(jí)總監(jiān)Sameer Bhalotra聯(lián)合創(chuàng)立的StackRox,目前正在準(zhǔn)備類似的容器安全產(chǎn)品。雖然創(chuàng)業(yè)公司仍處于極低調(diào)模式,其網(wǎng)站上也沒(méi)有產(chǎn)品供應(yīng),但該公司是一個(gè)值得關(guān)注的公司。 Aporeto
Aporeto是另一個(gè)極低調(diào)的創(chuàng)業(yè)公司,公司總部位于加利福尼亞州的San Jose,而且Aporeto是Nauge Networks的前CTO。Aporeto表示,公司將提供一個(gè)“用于部署和運(yùn)行現(xiàn)代應(yīng)用程序的全面的云本地安全解決方案”的微服務(wù)和容器。 操作系統(tǒng) 大多數(shù)Linux操作系統(tǒng)分發(fā)版都是以“方便”為準(zhǔn)則,包含體積很大的預(yù)安裝包,以防用戶可能需要它們。相比之下,Docker是為輕量級(jí)虛擬化而設(shè)計(jì)的,以盡可能少的內(nèi)存、磁盤(pán)和CPU運(yùn)行許多相同的機(jī)器。作為回應(yīng),不少供應(yīng)商已經(jīng)開(kāi)發(fā)了“容器優(yōu)化型”的Linux構(gòu)建,嘗試在Linux分發(fā)版需要的功能與容器需要的極簡(jiǎn)主義之間達(dá)到平衡。以下列出的是市場(chǎng)上最受歡迎的幾個(gè): RancherOS
RancherOS僅包含Linux內(nèi)核和Docker本身,RancherOS系統(tǒng)鏡像只需要22 MB的磁盤(pán)空間。RancherOS不再將類似systemd這樣的服務(wù)管理系統(tǒng)內(nèi)置在大多數(shù)版本的Linux中,而是啟動(dòng)Docker Daemon本身作為init或“bootstrap”系統(tǒng)。 CoreOS Container Linux
設(shè)計(jì)為與CoreOS Linux工具和系統(tǒng)配合使用,CoreOS Container Linux已預(yù)配置為運(yùn)行Linux容器。它還帶有自動(dòng)更新打開(kāi)的功能,操作系統(tǒng)無(wú)需人工處理就可以自動(dòng)更新。 Ubuntu Snappy
Canonical是Ubuntu Linux的母公司,又叫Snappy,它能比其他任何Linux分發(fā)版多運(yùn)行七倍多的容器。Snappy性能高,占用空間小,并且能對(duì)操作系統(tǒng)和應(yīng)用程序進(jìn)行增量(差異)更新,從而保持輕量下載。 Red Hat Atomic Host
這些工具將使您可以在最小版本的Red Hat Enterprise Linux中使用Linux容器。那些運(yùn)行Red Hat enterprise并有意向使用容器的企業(yè),通常希望其主機(jī)運(yùn)行Red Hat Atomic Host操作系統(tǒng)。 Microsoft Nano Server
Nano Server是一個(gè)小型的、遠(yuǎn)程管理的命令行操作系統(tǒng),旨在以容器的形式托管和運(yùn)行,也可能在云中運(yùn)行。是的,Microsoft具有創(chuàng)造基于Windows Server的容器的能力,Nano是專門(mén)為此而構(gòu)建的。其他可以使用Windows容器的Microsoft操作系統(tǒng)包括Windows Server 2016和Windows Pro 10 Enterprise。 VMware Photon
相較于其它容器操作系統(tǒng),220MB大小的Photon可謂體積很大了,不過(guò)它仍然只是最新版本的Windows的大小的百分之一。這個(gè)Linux容器主機(jī)旨在與VMware的vSphere虛擬化產(chǎn)品集成。 容器相關(guān)大會(huì)和技術(shù)資源 一旦你真的決定開(kāi)始使用容器,那么最難的部分一定是實(shí)施和支持它們。從行業(yè)大會(huì)、技術(shù)支持論壇到商業(yè)支持,這里有你需要的資源。 DockerCon
如果您的公司追求的是全Docker架構(gòu),并且使用的是Docker Data Center、Swarm和Docker的商業(yè)伙伴的其他產(chǎn)品,那DockerCon是必參加的大會(huì)之一。DockerCon涵蓋的內(nèi)容從入門(mén)教程,到提示、技巧和尖端想法,一應(yīng)俱全。 Container Summit
這個(gè)大會(huì)規(guī)模比DockerCon小,但范圍更廣。在2016年,Containe Summit在美國(guó)召開(kāi)了兩個(gè)大型會(huì)議和12個(gè)小型會(huì)議。Container Summit是與正在努力實(shí)施和管理容器技術(shù)的同行交流的好地方。 ContainerCon
這是一個(gè)更大的大會(huì),其特別之處在于,參加大會(huì)的通常是容器領(lǐng)域的思想領(lǐng)袖,以及各類的供應(yīng)商。 ContainerCon通常與LinuxCon和CloudOpen同時(shí)舉辦。 CoreOS Fest
CoreOS Fest可以視為CoreOS對(duì)DockerCon的回答了。參加CoreOS Fest可以獲得和rkt/CoreOs技術(shù)棧有關(guān)的培訓(xùn)與支持信息。 StackOverflow
最大的程序員在線問(wèn)答網(wǎng)站,StackOverflow提供了大量有關(guān)在容器中部署應(yīng)用程序的信息。 Docker社區(qū)網(wǎng)站
Docker組建的社區(qū)網(wǎng)站,提供以Docker為中心的信息和論壇。 CoreOS社區(qū)網(wǎng)站
CoreOS的社區(qū)網(wǎng)站專注于通過(guò)聚會(huì)和聊天將人們和專家連接起來(lái)。 向著容器化,出發(fā)! 容器的概念很簡(jiǎn)單:它是一個(gè)復(fù)雜的實(shí)現(xiàn)。如果您的技術(shù)團(tuán)隊(duì)只是嚴(yán)格地將容器用于構(gòu)建和測(cè)試,那您只需要選擇正確的操作系統(tǒng)和容器類型即可。然而如果你的構(gòu)建系統(tǒng)正在為每個(gè)構(gòu)建創(chuàng)建鏡像,那么在容器化的路上,你理應(yīng)走得更遠(yuǎn)! 擴(kuò)展過(guò)去的構(gòu)建/測(cè)試意味著選擇一整套包含操作、部署、監(jiān)視、支持和安全等在內(nèi)的技術(shù)棧。CoreOS和Docker都提供了各種擴(kuò)展和支持,使自己的產(chǎn)品生態(tài)系統(tǒng)更容易集成。但是如果你喜歡改變自己的環(huán)境,那么使用Kubernetes進(jìn)行集群管理可以防止供應(yīng)商鎖定,并且每個(gè)主要的云提供商都支持它。 以上是容器資源的簡(jiǎn)潔列表,如果你有更好的提示和建議,請(qǐng)不吝賜教噢!一起向著容器化,出發(fā)吧! 原文來(lái)源:Rancher Labs 本文出自 “12452495” 博客,請(qǐng)務(wù)必保留此出處http://12462495.blog.51cto.com/12452495/1900192 |
|
來(lái)自: 流曲頻陽(yáng) > 《JAVA學(xué)習(xí)》