有沒有最棒的容器操作系統(tǒng)?它是誰?
對(duì)于任何在過去兩年一直追隨者容器(container)社區(qū)逐漸繁榮的人來說( Solomon Hykes 在 PyCon 大會(huì)上做了有名的五分鐘報(bào)告之后),你會(huì)發(fā)現(xiàn)越來越多的公司或項(xiàng)目不斷涌現(xiàn),提供許多創(chuàng)新方式來管理你的應(yīng)用。
有許多項(xiàng)目圍繞者管理(management),網(wǎng)絡(luò)(network), 存儲(chǔ)(storage), 日志(logging),監(jiān)控(monitoring), 及更多 (參考這篇精妙的 ecosystem 之腦圖 )。 然而,我認(rèn)為,***的項(xiàng)目應(yīng)是為你的或?qū)⒂械膽?yīng)用環(huán)境構(gòu)建基礎(chǔ)架構(gòu):容器操作系統(tǒng)(container OSes)。
參加容器會(huì)議時(shí),與人交流,總是聽到一個(gè)問題是,“哪個(gè)操作系統(tǒng)最適于運(yùn)行容器?” 接著就是問, “是 CoreOS? RedHat 怎么樣? 我也聽到過有個(gè)叫 RancherOS 的?”
我喜歡這些爭論;這就類似于“哪個(gè) Hypervisor ***?” 當(dāng)然,答案總是“這得看情況。” 我仍然打算試著就當(dāng)前(截稿時(shí)間為止)***的容器操作系統(tǒng),解釋關(guān)鍵利益點(diǎn)和差別。
CoreOS
這是容器操作系統(tǒng)的代表。 CoreOS 側(cè)重于大規(guī)模部署,主要面向企業(yè),良好的社區(qū)支持(數(shù)百貢獻(xiàn)者,500+ IRC 用戶, 在#coreos on FreeNode)。它集成了許多由 CoreOS項(xiàng)目組開發(fā)的令人感興趣工具,如etcd, fleet,和flannel。這些工具能助你快速搭建起CoreOS集群。同時(shí),他們也能幫助你更深入的理解服務(wù)發(fā)現(xiàn),資源規(guī)劃和容器網(wǎng)絡(luò)的背后概念。
誰是最棒的容器操作系統(tǒng)?
2014年12月, the CoreOS項(xiàng)目組發(fā)布了另外一個(gè)容器運(yùn)行時(shí)引擎類型, rkt。它是回應(yīng)項(xiàng)目組中提到的Docker將從原始平臺(tái)移出的聲明,他們想觀察社區(qū)的反應(yīng)是否相同。CoreOS仍將同事支持Docker和rkt兩種 容器,所以,不用擔(dān)心未來一段時(shí)間會(huì)出現(xiàn)功能問題。
CoreOS項(xiàng)目組也已經(jīng)聯(lián)手Google (Google風(fēng)險(xiǎn)基金是CoreOS投資者之一) ,也建立了Tectonic(構(gòu)建平臺(tái)), 很有趣的以簡單有效地運(yùn)行CoreOS+ Kubernetes平臺(tái)的方式。 Tectonic 是商業(yè)Kubernetes平臺(tái),如果你運(yùn)維大規(guī)模,需要高于社區(qū)的技術(shù)支持,它就很重要。
RancherOS
Rancher 將容器操作系統(tǒng)的目標(biāo)更進(jìn)一步,在RancherOS中,所有都是一個(gè) Docker容器。它們運(yùn)行一個(gè)系統(tǒng)級(jí)別的Docker,PID=1,然后啟動(dòng)一個(gè)用戶級(jí)別的Docker,可以運(yùn)行所有的用戶容器。
聽起來很瘋狂,但操作系統(tǒng)本來就不該做其他事,只做有必要的事。Rancher剝離所有不必要的服務(wù),使得操作系統(tǒng)很輕量級(jí)。ISO安裝包只有22MB。
更令人感興趣的是可以使用Rancher系統(tǒng),在操作系統(tǒng)的上層添加所有服務(wù)。在你考慮在你的容器生產(chǎn)環(huán)境增加必要的服務(wù)時(shí),你通常需要如下功能,如安全,易聯(lián)網(wǎng),服務(wù)發(fā)現(xiàn),負(fù)載均衡,監(jiān)控和調(diào)度。 Rancher在RancherOS上層添加所有這些,甚至更多。 這是一個(gè)綜合系統(tǒng),我強(qiáng)烈推薦你去看看closer look.
Snappy Ubuntu Core
這個(gè)有趣的項(xiàng)目是Mark Shuttleworth去年發(fā)布的 。他認(rèn)為當(dāng)時(shí)可用的容器操作系統(tǒng)比較臃腫。
Snappy Ubuntu Core OS 提供了一種新類型的應(yīng)用管理器 (“snappy”) ,專注于運(yùn)行apps和容器。某些人或許會(huì)堅(jiān)持認(rèn)為這不是容器操作系統(tǒng)改做的事情,但是,這或許也是一個(gè)好的過度性操作系統(tǒng)。它為那些沒有時(shí)間學(xué)習(xí)復(fù)雜的 etcd, Consul, fleet, Kubernetes,及所有其他工具的人,提供了研究明白(容器操作系統(tǒng))各種事情的一個(gè)好的學(xué)習(xí)機(jī)會(huì)。
系統(tǒng)基礎(chǔ)是 “Ubuntu Core.” 在它上層,你的apps活動(dòng)在只讀鏡像中 (類似容器), apps支持事務(wù)性更新。這是個(gè)大進(jìn)步— 你不再需要整改應(yīng)用去部署新版本,你僅需要下載你修改的部分就可以了。
Snappy Ubuntu Core OS不算一個(gè)純粹的容器操作系統(tǒng),不過,它具備一些吸引人的方面。生產(chǎn)環(huán)境中運(yùn)行Ubuntu的人,或者對(duì)apps和容器都感興趣的人,一定會(huì)關(guān)注它。
RedHat Project Atomic
此發(fā)布版基于CentOS, Fedora, and RHEL服務(wù)器操作系統(tǒng)的upstream RPMs(Redhat安裝包), 支持RedHat稱為原子的更新和回滾。這取決于你,親愛的讀者朋友,選擇哪個(gè)發(fā)布版本作為你管理你的服務(wù)器的基礎(chǔ)。
操作系統(tǒng)內(nèi)置了許多功能,Docker, flannel (CoreOS項(xiàng)目組出品), Kubernetes, 事務(wù)操作系統(tǒng)更新工具rpm-ostree,它總是保存上一個(gè)版本(類似CoreOS)和course systemd可用(供回滾)。
Project Atomic 采用SELinux嘗試加固容器,管理對(duì)容器的讀寫訪問。我認(rèn)為,使用已有的可信的技術(shù)來構(gòu)建,主意很不錯(cuò)。我猜,很快就會(huì)看到RedHat 在該項(xiàng)目上更多動(dòng)作,不過,目前為止,好消息還很少 。
Mesosphere DCOS
Mesosphere DCOS項(xiàng)目常常會(huì)被誤認(rèn)為是Apache Mesos (命名問題?)。不在意這個(gè)的話,它提供了一個(gè)非常健壯和創(chuàng)造性的方式來考慮如何管理容器。
它利用開源項(xiàng)目如Apache Mesos, Marathon, Zookeeper,和許多其他服務(wù),以清晰的方式將它們集成一道一起,另外還在其上添加了企業(yè)特性。DCOS product還是GA版本,提供兩個(gè)版本:社區(qū)版 (免費(fèi)) ,面向 AWS工作量(級(jí)別);企業(yè)版,適用其他所有場(chǎng)合。
Mesosphere DCOS最讓人感興趣的是它不只局限與容器管理。它畢竟基于Mesos構(gòu)建, 應(yīng)該可以做更多的事。部署Hadoop集群怎么樣?或者大規(guī)模 Cassandra集群? Mesosphere統(tǒng)統(tǒng)內(nèi)置(支持),我相信這是它與其他容器操作系統(tǒng)的關(guān)鍵性差別之一,這將使得Mesosphere DCOS很成功。
VMware Photon
4月發(fā)布的VMware Photon 是一款新的容器操作性系統(tǒng),是VMware開源努力的***步。VMware目標(biāo)明確定位在應(yīng)用大規(guī)模部署 ,正如你在它們的其他項(xiàng)目 Lightwave中看到的,提供身份鑒權(quán)服務(wù),包括大規(guī)模分布式基礎(chǔ)構(gòu)架、應(yīng)用和容器的認(rèn)證和授權(quán)。不久會(huì)更多,我相信。
總結(jié)
明顯,上述項(xiàng)目還有很多工作要做,它們每一個(gè)都會(huì)將自己的東西增加到這個(gè)領(lǐng)域(容器操作系統(tǒng))。我希望本次對(duì)比有助于你選一個(gè)你感興趣的項(xiàng)目,探索研究不同的容器操作和管理系統(tǒng)的可能性。祝你好運(yùn)。