容器技術(shù)初入門(mén)

? ? ? ?容器虛擬化技術(shù)已經(jīng)成為一種被大家廣泛認(rèn)可的服務(wù)器資源共享方式,容器技術(shù)可以在按需構(gòu)建操作系統(tǒng)運(yùn)行實(shí)例的過(guò)程當(dāng)中為系統(tǒng)管理員提供極大的靈活性缔俄。由于Hypervisor虛擬化技術(shù)仍然存在一些性能和資源使用效率方面的問(wèn)題(例如虛擬化之后CPU性能下降明顯锋谐,虛擬資源啟動(dòng)較慢等)紧卒,因此出現(xiàn)了一種稱(chēng)為容器技術(shù)(Container)的新型虛擬化技術(shù)來(lái)幫助解決這些問(wèn)題蔬啡。

? ? ? ?起初,大家普遍認(rèn)為基于Hypervisor的方式可以在最大程度上提供靈活性诵肛。所有虛擬機(jī)實(shí)例都能夠運(yùn)行任何其所支持的操作系統(tǒng)屹培,而不受其他實(shí)例的影響默穴。然而,現(xiàn)在越來(lái)越多的用戶(hù)發(fā)現(xiàn)Hypervisor提供這樣一種廣泛支持的特性其實(shí)是在給自己制造麻煩褪秀。對(duì)于Hypervisor環(huán)境來(lái)說(shuō)蓄诽,每個(gè)虛擬機(jī)實(shí)例都需要運(yùn)行客戶(hù)端操作系統(tǒng)的完整副本以及其中包含的大量應(yīng)用程序。從實(shí)際運(yùn)行的角度來(lái)說(shuō)媒吗,由此產(chǎn)生的沉重負(fù)載將會(huì)影響其工作效率及性能表現(xiàn)仑氛。

  首先,每種操作系統(tǒng)和應(yīng)用程序堆棧都需要使用DRAM闸英。對(duì)于多個(gè)運(yùn)行簡(jiǎn)單應(yīng)用程序的小型虛擬機(jī)實(shí)例來(lái)說(shuō)锯岖,這種方式可能產(chǎn)生很大的系統(tǒng)開(kāi)銷(xiāo),降低性能表現(xiàn)甫何。加載并卸載這些堆棧鏡像需要花費(fèi)很長(zhǎng)時(shí)間出吹,并且還會(huì)增加服務(wù)器的網(wǎng)絡(luò)連接數(shù)量。對(duì)于極端情況來(lái)說(shuō)辙喂,如果用戶(hù)在上午9點(diǎn)同時(shí)啟動(dòng)上千臺(tái)虛擬桌面捶牢,還有可能導(dǎo)致網(wǎng)絡(luò)風(fēng)暴的發(fā)生。

部署虛擬服務(wù)器的目的之一在于快速創(chuàng)建新的虛擬機(jī)實(shí)例加派。然而從網(wǎng)絡(luò)存儲(chǔ)當(dāng)中復(fù)制鏡像(Image)需要花費(fèi)大量時(shí)間叫确,這些操作會(huì)延長(zhǎng)啟動(dòng)過(guò)程跳芳,無(wú)疑會(huì)限制系統(tǒng)靈活性芍锦。

  因此我們可以選擇使用容器技術(shù)。只需要通過(guò)簡(jiǎn)單的觀察我們便能夠發(fā)現(xiàn)容器技術(shù)的出現(xiàn)是為了解決多操作系統(tǒng)/應(yīng)用程序堆棧的問(wèn)題:

1. 在單臺(tái)服務(wù)器當(dāng)中為所有VM使用相同的操作系統(tǒng)對(duì)于大部分?jǐn)?shù)據(jù)中心來(lái)說(shuō)都不算是真正的限制飞盆,編排管理(Orchestration)可以輕松處理這種變化娄琉;

2. 許多應(yīng)用程序堆棧都是相同的(如LAMP);

3. 對(duì)于大規(guī)模集群來(lái)說(shuō)吓歇,在本地硬盤(pán)當(dāng)中孽水,存儲(chǔ)操作系統(tǒng)副本將會(huì)使得更新過(guò)程變得更為復(fù)雜。最為重要的是城看,容器技術(shù)可以同時(shí)將操作系統(tǒng)鏡像和應(yīng)用程序加載到內(nèi)存當(dāng)中女气。還可以從網(wǎng)絡(luò)磁盤(pán)進(jìn)行加載,因?yàn)橥瑫r(shí)啟動(dòng)幾十臺(tái)容器鏡像不會(huì)對(duì)網(wǎng)絡(luò)和存儲(chǔ)帶來(lái)很大負(fù)載测柠。

  容器技術(shù)能夠在同一臺(tái)服務(wù)器上創(chuàng)建相比于之前兩倍的虛擬機(jī)實(shí)例數(shù)量炼鞠,因此無(wú)疑將會(huì)降低系統(tǒng)總投入。但是必須認(rèn)真進(jìn)行規(guī)劃轰胁,因?yàn)殡p倍的實(shí)例數(shù)量同樣意味著對(duì)于運(yùn)行這些實(shí)例的服務(wù)器帶來(lái)了雙倍的I/O負(fù)載谒主。

  我們需要了解除了避免可能發(fā)生的啟動(dòng)風(fēng)暴之外,容器技術(shù)是否還有任何其他性能方面的優(yōu)勢(shì)赃阀。能否改進(jìn)IOPS霎肯?能夠提升網(wǎng)絡(luò)連接效率并且降低容器間的延遲,解決伴隨實(shí)例數(shù)量增加而產(chǎn)生的問(wèn)題?

? ? ? ?美國(guó)某傳統(tǒng)服務(wù)器大廠商的某實(shí)驗(yàn)室完成了至今為止大部分權(quán)威實(shí)驗(yàn)观游,其研究結(jié)果表明容器技術(shù)相比于Hypervisor搂捧,容器技術(shù)的許多關(guān)鍵指標(biāo)都有重大改進(jìn)。在進(jìn)行的所有測(cè)試當(dāng)中懂缕,容器技術(shù)幾乎擁有和本地平臺(tái)一樣的運(yùn)行速度异旧。

  上述廠商的研究表明容器技術(shù)在多個(gè)領(lǐng)域當(dāng)中都比Hypervisor擁有更好的性能表現(xiàn)。容器技術(shù)的運(yùn)行速度幾乎是Hypervisor的兩倍提佣,在評(píng)分當(dāng)中非常接近于本地操作系統(tǒng)吮蛹。在和KVM的對(duì)比當(dāng)中,容器技術(shù)在硬盤(pán)隨機(jī)讀取(84,000 vs 48,000 IOPS)和寫(xiě)入(110,000 vs 60,000 IOPS )方面擁有非常優(yōu)秀的表現(xiàn)拌屏,如果使用本地固態(tài)硬盤(pán)可以實(shí)現(xiàn)更好的SQL性能表現(xiàn)潮针。

? ? ? ?高性能計(jì)算(HPC)社區(qū)也在轉(zhuǎn)而使用虛擬化和容器技術(shù)。一項(xiàng)由巴西天主教大學(xué)進(jìn)行的研究已經(jīng)取得了一定成果:

“如果可以降低基本的系統(tǒng)開(kāi)銷(xiāo)(比如CPU倚喂、內(nèi)存每篷、硬盤(pán)和網(wǎng)絡(luò)),那么HPC無(wú)疑會(huì)選擇使用虛擬化系統(tǒng)端圈,”研究人員表示焦读。“從這個(gè)角度來(lái)說(shuō)舱权,我們發(fā)現(xiàn)所有基于容器的系統(tǒng)在CPU矗晃、內(nèi)存、硬盤(pán)和網(wǎng)絡(luò)方面都擁有接近于本地操作系統(tǒng)的性能表現(xiàn)宴倍≌胖ⅲ”

? ? ? ?美國(guó)某虛擬化公司V***re也針對(duì)容器技術(shù)進(jìn)行了一系列評(píng)測(cè)對(duì)比。容器技術(shù)研究結(jié)果印證了容器技術(shù)擁有接近本地系統(tǒng)的性能表現(xiàn)鸵贬,盡管其并沒(méi)有像IBM實(shí)驗(yàn)室那樣針對(duì)VMware的Hypervisor發(fā)布非常詳細(xì)的測(cè)試報(bào)告俗他。而這項(xiàng)報(bào)告的容器技術(shù)結(jié)果有可能促使VMware做出調(diào)整,以降低Hypervisor的系統(tǒng)開(kāi)銷(xiāo)阔逼,但VMware的報(bào)告當(dāng)中沒(méi)有提及硬盤(pán)I/O問(wèn)題兆衅。

  為了擴(kuò)展適用范圍,容器技術(shù)仍然需要在安全方面不斷改進(jìn)嗜浮。但是現(xiàn)在羡亩,我們可以看到的是這種方式可以解決Hypervisor虛擬化當(dāng)中的大多數(shù)性能問(wèn)題。再加上更加輕松和快捷的部署方式周伦,容器技術(shù)將會(huì)在不久的將來(lái)占據(jù)虛擬化市場(chǎng)

? ? ? ?綜合對(duì)比 容器 vs 虛擬機(jī)

要點(diǎn)1:容器比虛擬機(jī)更敏捷

要點(diǎn)2:容器可以支持混合和多云的部署

要點(diǎn)3:將容器與現(xiàn)有IT流程集成更加容易

目前夕春,大多數(shù)企業(yè)組織都具備一個(gè)成熟的虛擬化環(huán)境,包括圍繞備份专挪、監(jiān)控和自動(dòng)化運(yùn)行的工具及志,以及圍繞它構(gòu)建的人員和IT流程片排。通過(guò)在虛擬化基礎(chǔ)設(shè)施上運(yùn)行Docker EE(企業(yè)版),組織可以輕松地將容器集成到現(xiàn)有實(shí)踐中速侈,并獲得要點(diǎn)1和要點(diǎn)2的優(yōu)勢(shì)率寡。

要點(diǎn)4:容器減少硬件成本

容器化應(yīng)用共享通用OS和軟件庫(kù),極大地提高了VM中的CPU利用率倚搬。這意味著可以減少運(yùn)行環(huán)境中所需要的虛機(jī)總數(shù)冶共,并增加可在服務(wù)器上運(yùn)行的應(yīng)用程序數(shù)量。Docker EE可以使服務(wù)器整合度增加50%每界,這意味著硬件成本大大減少捅僵。

而容器的運(yùn)行平臺(tái)可以是虛擬機(jī)、裸機(jī)或者其他任何公有云平臺(tái)眨层。

? ? ? Docker容器與鏡像概念

在2016年的DockerCon大會(huì)上庙楚,Docker再次推翻了之前PaaS層定義,樹(shù)立了一個(gè)自己的新標(biāo)準(zhǔn):Serverless無(wú)服務(wù)器架構(gòu)趴樱。同時(shí)馒闷,Docker的鏡像概念已經(jīng)成為很多依托Docker技術(shù)成立的云企業(yè)的賣(mài)點(diǎn)。

Docker鏡像可以應(yīng)用程序和它的應(yīng)用環(huán)境一起打包叁征,形成一個(gè)"集裝箱"纳账,放入倉(cāng)庫(kù)。然后這個(gè)集裝箱隨時(shí)下載捺疼、解壓疏虫、應(yīng)用,減輕了開(kāi)發(fā)者的負(fù)擔(dān)帅涂,不但迅速還能夠保證一致性议薪。

? ? ? ?敏捷性:當(dāng)敏捷開(kāi)發(fā)尤蛮、微服務(wù)等概念逐漸深入媳友,輕量化已經(jīng)成為一種新風(fēng)向。Docker可以直接建立在操作系統(tǒng)上的方式在啟動(dòng)方式产捞,讓秒級(jí)啟動(dòng)成為新常態(tài)醇锚,獲得很多企業(yè)的認(rèn)可。而模塊化讓擴(kuò)展和遷移都更迅速坯临、可靠焊唬,Docker允許我們輕松將應(yīng)用程序的功能拆分成多個(gè)獨(dú)立容器,讓Docker輕量化特點(diǎn)進(jìn)一步凸顯看靠。


? ? ? ?安全性:與真實(shí)的物理機(jī)相比赶促,虛擬機(jī)因?yàn)镠ypervisor層的存在,讓小白用戶(hù)也可以對(duì)虛擬機(jī)進(jìn)行任何操作挟炬,無(wú)須擔(dān)心對(duì)機(jī)器本身造成任何損害鸥滨。對(duì)于企業(yè)而言嗦哆,虛擬機(jī)經(jīng)過(guò)四十余年的發(fā)展已經(jīng)成為一種成熟的IT技術(shù),在隔離性婿滓、安全性上老速,虛擬機(jī)也顯得更為無(wú)可挑剔,相比之下凸主,虛擬機(jī)也更為安全橘券。而Docker目前備受詬病的一個(gè)點(diǎn)就是:隔離性和安全性。

? ? ? ? 從實(shí)現(xiàn)原理上講卿吐,Docker有著比虛擬機(jī)更少的抽象層旁舰,不需要硬件資源池化,不需要Guest OS嗡官。與容器相比鬓梅,虛擬層為用戶(hù)提供了一個(gè)完整的虛擬機(jī):包括內(nèi)核在內(nèi)的一個(gè)完整的系統(tǒng)鏡像,虛擬層可以為每個(gè)用戶(hù)分配虛擬化后的CPU谨湘、內(nèi)存和IO設(shè)備資源绽快,為用戶(hù)提供一個(gè)隔離性更強(qiáng)的系統(tǒng)環(huán)境。

結(jié)束語(yǔ)

? ? ? ? Docker或者說(shuō)容器技術(shù)和虛擬機(jī)并非簡(jiǎn)單的取舍關(guān)系紧阔,如果你希望一個(gè)完全隔離的和資源有保障的環(huán)境坊罢,那么虛擬機(jī)是你的不二選擇;如果你只希望進(jìn)程之間相互隔離,同時(shí)擁有輕量化的屬性擅耽,那么Linux容器技術(shù)或者Docker活孩,才是更好的選擇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乖仇,一起剝皮案震驚了整個(gè)濱河市憾儒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乃沙,老刑警劉巖起趾,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異警儒,居然都是意外死亡训裆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)蜀铲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)边琉,“玉大人,你說(shuō)我怎么就攤上這事记劝”湟蹋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵厌丑,是天一觀的道長(zhǎng)定欧。 經(jīng)常有香客問(wèn)我别伏,道長(zhǎng),這世上最難降的妖魔是什么忧额? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任厘肮,我火速辦了婚禮,結(jié)果婚禮上睦番,老公的妹妹穿的比我還像新娘类茂。我一直安慰自己,他們只是感情好托嚣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布巩检。 她就那樣靜靜地躺著,像睡著了一般示启。 火紅的嫁衣襯著肌膚如雪兢哭。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天夫嗓,我揣著相機(jī)與錄音迟螺,去河邊找鬼。 笑死舍咖,一個(gè)胖子當(dāng)著我的面吹牛矩父,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播排霉,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼窍株,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了攻柠?” 一聲冷哼從身側(cè)響起球订,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瑰钮,沒(méi)想到半個(gè)月后冒滩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飞涂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年旦部,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片较店。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖容燕,靈堂內(nèi)的尸體忽然破棺而出梁呈,到底是詐尸還是另有隱情,我是刑警寧澤蘸秘,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布官卡,位于F島的核電站蝗茁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寻咒。R本人自食惡果不足惜哮翘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毛秘。 院中可真熱鬧饭寺,春花似錦、人聲如沸叫挟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抹恳。三九已至员凝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奋献,已是汗流浹背健霹。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓶蚂,地道東北人骤公。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扬跋,于是被迫代替她去往敵國(guó)和親阶捆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355