偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux容器演變歷程與未來發(fā)展前景

譯文
云計算
容器化技術的發(fā)展歷史可以追溯到1979年,而其未來命運則被掌握在Docker及其它類似技術方案手中。

 Linux容器作為一類操作系統(tǒng)層面的虛擬化技術成果,旨在立足于單一Linux主機交付多套隔離性Linux環(huán)境。與虛擬機不同,容器系統(tǒng)并不需要運行特定的訪客操作系統(tǒng)。相反,容器共享同一套主機操作系統(tǒng)內核,同時利用訪客操作系統(tǒng)的系統(tǒng)庫以交付必要的系統(tǒng)功能。由于無需借助于專門的操作系統(tǒng),因此容器在啟動速度上要遠遠優(yōu)于虛擬機。

圖片來源:Docker有限公司

容器能夠利用Namespaces、Apparmor、SELinux配置、chroot以及CGroups等Linux內核功能,從而交付一套類似于虛擬機的隔離性環(huán)境。Linux安全模塊能夠確保來自容器的主機設備與內核訪問行為受到妥善管理,從而避免入侵活動的發(fā)生。除此之外,容器還能夠通過其主機操作系統(tǒng)運行多種不同Linux發(fā)行版——只要各類操作系統(tǒng)擁有同樣的底層CPU架構要求。

總體而言,容器技術提供了一種立足于各類Linux發(fā)行版的容器鏡像創(chuàng)建方式,同時利用API進行容器生命周期管理,通過客戶端工具實現(xiàn)與該API的交互,進而提供快照以及不同容器主機之間容器實例遷移等能力。

容器技術發(fā)展歷程

以下為從維基百科以及其它信息源處收集到的容器發(fā)展歷程總結:

1979年 — chroot

容器技術的概念可以追溯到1979年的UNIX chroot。這是一套“UNIX操作系統(tǒng)”系統(tǒng),旨在將其root目錄及其它子目錄變更至文件系統(tǒng)內的新位置,且只接受特定進程的訪問。這項功能的設計目的在于為每個進程提供一套隔離化磁盤空間。1982年其被添加至BSD當中。

2000年 — FreeBSD Jails

FreeBSD Jails是由Derrick T. Woolworth于2000年在FreeBSD研發(fā)協(xié)會中構建而成的早期容器技術之一。這是一套“操作系統(tǒng)”系統(tǒng),與chroot的定位類似,不過其中包含有其它進程沙箱機制以對文件系統(tǒng)、用戶及網絡等資源進行隔離。通過這種方式,它能夠為每個Jail、定制化軟件安裝包乃至配置方案等提供一個對應的IP地址。

2001年 — Linux VServer

Linux VServer屬于另一種jail機制,其能夠被用于保護計算機系統(tǒng)之上各分區(qū)資源的安全(包括文件系統(tǒng)、CPU時間、網絡地址以及內存等)。每個分區(qū)被稱為一套安全背景(security context),而其中的虛擬化系統(tǒng)則被稱為一套虛擬私有服務器。

2004年 — Solaris容器

Solaris容器誕生之時面向x86與SPARC系統(tǒng)架構,其最初亮相于2004年2月的Solaris 10 Build 51 beta當中,隨后于2005年正式登陸Solaris 10的完整版本。Solaris容器相當于將系統(tǒng)資源控制與由分區(qū)提供的邊界加以結合。各分區(qū)立足于單一操作系統(tǒng)實例之內以完全隔離的虛擬服務器形式運行。

2005年 — OpenVZ

OpenVZ與Solaris容器非常相似,且使用安裝有補丁的Linux內核以實現(xiàn)虛擬化、隔離能力、資源管理以及檢查點交付。每套OpenVZ容器擁有一套隔離化文件系統(tǒng)、用戶與用戶群組、一套進程樹、網絡、設備以及IPC對象。

2006年 — Process容器

Process容器于2006年由谷歌公司推出,旨在對一整套進程集合中的資源使用量(包括CPU、內存、磁盤I/O以及網絡等等)加以限制、分配與隔離。此后其被更名為Control Groups(即控制組),從而避免其中的“容器”字眼與Linux內核2.6.24中的另一術語出現(xiàn)沖突。這表明了谷歌公司率先重視容器技術的敏銳眼光以及為其做出的突出貢獻。

2007年 — Control Groups

正如上文所提及,Control Groups也就是谷歌實現(xiàn)的cgroups,其于2007年被添加至Linux內核當中。

2008年 — LXC

LXC指代的是Linux Containers,其也是第一套完整的Linux容器管理實現(xiàn)方案。其功能通過cgroups以及Linux namespaces實現(xiàn)。LXC通過liblxc庫進行交付,并提供可與Python3、Python2、Lua、Go、Ruby以及Haskell等語言相對接的API。相較于其它容器技術,LXC能夠在無需任何額外補丁的前提下運行在原版Linux內核之上。目前LXC項目由Canonical有限公司負責贊助及托管。

2011年 — Warden

Warden由CloudFoundry公司于2011年所建立,其利用LXC作為初始階段,隨后又將其替換為自家實現(xiàn)方案。與LXC不同,Warden并不會與Linux緊密耦合。相反,其能夠運行在任意能夠提供多種隔離環(huán)境方式的操作系統(tǒng)之上。Warden以后臺進程方式運行并提供API以實現(xiàn)容器管理。感興趣的朋友可以點擊此處與此處了解更多與Warden相關的細節(jié)信息(英文原文)。

2013年 — LMCTFY

Lmctfy代表的是“Let Me Contain That For You(幫你實現(xiàn)容器化)”。它其實屬于谷歌容器技術堆棧的開源版本,負責提供Linux應用程序容器。谷歌公司在該項目的起步階段宣稱其能夠提供值得信賴的性能表現(xiàn)、高資源利用率、共享資源機制、充裕的發(fā)展空間以及趨近于零的額外資源消耗。Kubernetes目前所使用的cAdvisor工具最初就來源于lmctfy項目。2013年10月lmctfy的首個版本正式推出,谷歌公司在2015年決定將lmctfy的核心概念與抽象機制轉化為libcontainer。在失去了主干之后,如今lmctfy已經失去一切積極的發(fā)展勢頭。

Libcontainer項目最初由Docker公司建立,如今已經被歸入開放容器基金會的管轄范疇。

2013年 — Docker

截至2016年1月,Docker是目前最具人氣且應用最為廣泛的容器管理系統(tǒng)。Docker項目最初是由一家名為dotCloud的平臺即服務廠商所打造,其后該公司更名為Docker。與Warden類似,Docker同樣在起步階段使用LXC,而后利用自己的libcontainer庫將其替換下來。與其它容器平臺不同,Docker引入了一整套與容器管理相關的生態(tài)系統(tǒng)。其中包括一套高效的分層式容器鏡像模型、一套全局及本地容器注冊表、一個精簡化REST API以及一套命令行界面等等。在后期發(fā)展階段,Docker公司還構建起一套名為Docker Swarm的容器集群管理解決方案。

2014年 — Rocket

Rocket最初由CoreOS開發(fā)而成,專門用于解決部分Docker當中存在的缺陷。CoreOS方面也提到,他們當初的開發(fā)目標是在安全性與生產要求滿足能力上超越Docker。更重要的是,其基于App Container規(guī)范并使其成為一項更為開放的標準。除了Rocket之外,CoreOS還開發(fā)出了多種其它與容器相關的產品,且已經被Docker與Kubernetes所使用:CoreOS操作系統(tǒng)、etcd以及flannel。

2016年 — Windows容器

微軟公司也已經于2015年采取初步舉措,希望將容器支持能力添加到微軟Windows Server操作系統(tǒng)當中,而這項旨在幫助Windows應用實現(xiàn)容器化的項目被稱為Windows容器(Windows Containers)。其即將隨微軟的Windows Server 2016一同推出。在這碩方案當中,Docker能夠以原生方式在Windows平臺上運行容器,而無需運行虛擬機或者多層Docker(早期Docker需要利用Linux虛擬機才能與Windows系統(tǒng)相對接)。

容器之發(fā)展愿景

截至目前(2016年1月),整個技術行業(yè)已經越來越多地將軟件應用程序部署基礎由虛擬機轉移向容器。之所以出現(xiàn)這種趨勢,一大重要原因在于容器能夠提供遠優(yōu)于虛擬機的靈活性與使用成本。谷歌公司多年來一直在利用Borg and Omega容器集群管理平臺等容器技術以實現(xiàn)各類谷歌應用的規(guī)?;\行。更重要的是,谷歌公司還通過實現(xiàn)cgroups以及參與libcontainer項目等方式為容器技術的發(fā)展做出了突出貢獻。谷歌方面在過去幾年當中已經利用容器技術實現(xiàn)了可觀的性能提升、資源利用率改善以及整體執(zhí)行效率優(yōu)化。就在最近,微軟公司這位從未將任何操作系統(tǒng)層級虛擬化機制引入Windows平臺的軟件巨頭亦快速在Windows Server上實現(xiàn)了原生容器支持能力。

Docker、Rocket以及其它容器平臺都無法運行在生產環(huán)境中的單一主機之上,這是因為它們都存在著單點故障隱患。盡管一整套容器集合能夠運行在單一主機上,然而一旦該主機發(fā)生故障,所有運行于其上的容器也將全面癱瘓。谷歌公司在這方面搶先一步,憑借從Borg項目中積累到的經驗打造出名為Kubernetes的開源容器集群管理系統(tǒng)。Docker公司也針對這一難題開發(fā)出了Docker Swarm解決方案。目前,這些解決方案尚處于早期發(fā)展階段,而且可能還需要數(shù)月甚至一年才能真正具備完整的功能集,從而以穩(wěn)定及廣泛的方式被引入容器行業(yè)的生產環(huán)境當中。

微服務則是另一項突破性技術成果,而不僅僅是一套利用容器機制實現(xiàn)自身部署的軟件架構。雖然微服務的概念算不上什么新鮮事物,但這種Web服務的輕量化實現(xiàn)機制確實能夠提供遠超過標準Web服務的啟動速度。之所以能夠實現(xiàn)這項目標,是因為其將一整套功能單元以打包方式(可能包括單一服務/API方法)整合在一項服務當中,再將服務嵌入一套輕量化Web服務器二進制文件。

考慮到以上背景信息,我們可以預測在未來幾年當中,容器技術將逐步取代虛擬機甚至能夠在一定程度上徹底占據(jù)其適用環(huán)境。去年,我曾經幫助多家企業(yè)立足于POC層級部署基于容器的解決方案。當時他們幾乎還都不想把容器引入生產環(huán)境。然而這種狀況可能隨著容器集群管理系統(tǒng)的逐步成熟而快速得到扭轉。

原文標題:The History of Linux Containers from chroot to the Future

【51CTO.com獨家譯稿,合作站點轉載請注明來源】

責任編輯:xinxiaoliang 來源: 51CTO
相關推薦

2022-09-08 12:22:57

元宇宙

2017-04-21 15:16:30

Python語言JAVA

2020-12-15 15:19:55

Java編程語言工業(yè)互聯(lián)網

2009-06-19 13:59:53

JSP特點

2023-09-07 08:00:00

2021-04-12 09:35:23

大數(shù)據(jù)據(jù)分析數(shù)據(jù)

2017-04-26 09:24:53

大數(shù)據(jù)Python運維

2017-12-15 20:00:50

Java發(fā)展前景職業(yè)方向

2020-12-02 16:02:15

人工智能BI

2020-12-02 10:48:15

商業(yè)智能人工智能AI

2014-07-09 17:03:35

多模光纖

2020-11-30 10:32:54

數(shù)字貨幣加密貨幣區(qū)塊鏈

2010-01-25 17:29:26

以太網交換機

2015-04-13 10:18:37

VoLTE4G話音

2021-01-12 13:16:55

比特幣加密貨幣區(qū)塊鏈

2022-03-19 23:24:27

元宇宙區(qū)塊鏈技術

2022-04-21 21:32:34

區(qū)塊鏈

2011-08-23 09:16:19

Python

2011-03-07 10:53:48

2019-02-20 15:00:57

大數(shù)據(jù)數(shù)據(jù)大數(shù)據(jù)技術
點贊
收藏

51CTO技術棧公眾號