×

打破神話:容器vs虛擬機(jī)

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-04-20 14:37:25

虛擬機(jī)為什么會(huì)和容器有關(guān)聯(lián)呢?容器在虛擬機(jī)中的作用是什么?如何把他們鏈接在一起?和小編一起了解吧。

        虛擬機(jī)為什么會(huì)和容器有關(guān)聯(lián)呢?容器在虛擬機(jī)中的作用是什么?如何把他們鏈接在一起?和小編一起了解吧。

  容器是當(dāng)今IT界最熱門(mén)的話題之一,很大程度上歸功于許多網(wǎng)絡(luò)公司如Facebook和Twitter的采用。 在過(guò)去的兩年中,包括亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)和谷歌計(jì)算平臺(tái)(GCP)在內(nèi)的主要計(jì)算提供商已經(jīng)通過(guò)產(chǎn)品化服務(wù)提供了Docker容器。 在DevOps環(huán)境中,開(kāi)發(fā)人員越來(lái)越多地使用容器,開(kāi)發(fā)人員可以自動(dòng)執(zhí)行應(yīng)用程序和工作負(fù)載部署 集裝箱也被吹捧為提高整體基礎(chǔ)設(shè)施利用率的一種手段,因?yàn)榕c虛擬機(jī)(VM)相比,它們的設(shè)計(jì)輕巧,減少了部署,拆卸,重新實(shí)例化或遷移的時(shí)間。 在這篇文章中,我將評(píng)估使用容器的優(yōu)勢(shì)。
  為什么使用容器? 3主要優(yōu)點(diǎn)
  去年在亞特蘭大舉行的OpenStack峰會(huì)上,來(lái)自Parallels的一位代表闡述了容器相比虛擬機(jī)的三大主要技術(shù)優(yōu)勢(shì)。 它們包括速度,便攜性和密度:
  1.速度
  在容器中部署的應(yīng)用程序比在虛擬機(jī)中部署的應(yīng)用程序更有彈性完全引導(dǎo)整個(gè)VM(包括操作系統(tǒng)(OS)和內(nèi)核)通??赡苄枰獛酌腌娚踔翈追昼姷臅r(shí)間。另一方面,容器可以以毫秒為單位進(jìn)行部署,因?yàn)樗鼈児蚕硪粋€(gè)操作系統(tǒng),只需要加載應(yīng)用程序所需的某些軟件包。
  2.便攜性
  Docker最大的好處之一是可移植性。 Docker容器可以在公有Amazon EC2實(shí)例或私有OpenStack主機(jī)中運(yùn)行。如果主機(jī)操作系統(tǒng)在公共云實(shí)例中支持生產(chǎn)中的Docker容器,則它可以很容易地部署到開(kāi)發(fā)人員的VirtualBox環(huán)境中,以保持一致性和功能性。這使您可以從基礎(chǔ)設(shè)施層獲得高層次的抽象,并可以與各種配置管理工具(如Chef,Puppet和Ansible)一起使用。
  3.密度
  容器還可以在基礎(chǔ)架構(gòu)內(nèi)實(shí)現(xiàn)更好的工作量密度。容器每個(gè)實(shí)例的內(nèi)存開(kāi)銷(xiāo)較少,因?yàn)槊總€(gè)應(yīng)用程序都加載到跨所有容器共享的主機(jī)操作系統(tǒng)中。操作系統(tǒng)和內(nèi)核不需要為每個(gè)容器加載。因此,更多的應(yīng)用程序和工作負(fù)載可以被擠壓到相同的硬件或基礎(chǔ)設(shè)施上。
  虛擬機(jī)“缺點(diǎn)”
  傳統(tǒng)的虛擬機(jī)管理程序技術(shù)造成了對(duì)單個(gè)虛擬機(jī)功能的誤解。如果虛擬機(jī)可以執(zhí)行或展示與容器相同的屬性或?qū)傩阅?讓我們來(lái)分析上面提到的每一點(diǎn),看看虛擬機(jī)在真正的超融合基礎(chǔ)設(shè)施領(lǐng)域如何像集裝箱一樣行事。
  1.速度
8587306230441712901.jpg
  虛擬機(jī)部署和啟動(dòng)緩慢的原因之一是,存儲(chǔ)系統(tǒng)通常與計(jì)算系統(tǒng)斷開(kāi)連接。通常使用外部存儲(chǔ)設(shè)備(例如,SAN)來(lái)存儲(chǔ)VM映像,這導(dǎo)致需要從SAN遠(yuǎn)程引導(dǎo)或在引導(dǎo)之前將數(shù)據(jù)復(fù)制到服務(wù)器的本地存儲(chǔ)器上。
  超融合體系結(jié)構(gòu)通過(guò)將存儲(chǔ)物理距離計(jì)算實(shí)例更近,為配置速度帶來(lái)了極大的改進(jìn)。智能存儲(chǔ)供應(yīng)技術(shù)(例如重復(fù)數(shù)據(jù)刪除和自動(dòng)精簡(jiǎn)配置)為基于商品的硬件帶來(lái)了類(lèi)似于SAN的功能,而直接連接存儲(chǔ)的訪問(wèn)則顯著降低甚至消除了實(shí)際部署中的存儲(chǔ)瓶頸。由于操作系統(tǒng)需要啟動(dòng),所以還是有一些開(kāi)銷(xiāo),但是也有一些技術(shù)可以縮小虛擬機(jī)的性能差距。
  2遷移
  容器支持者會(huì)爭(zhēng)辯說(shuō),工作負(fù)載遷移是不必要的,如果您的應(yīng)用程序本質(zhì)上是向外擴(kuò)展并由單個(gè)微服務(wù)組成的,那么他們可能是正確的。問(wèn)題是,當(dāng)今世界上幾乎所有的數(shù)據(jù)中心仍然有“遺留”的應(yīng)用程序,無(wú)論出于何種原因都不能重新構(gòu)建。在這些情況下,VM遷移是絕對(duì)關(guān)鍵的功能。虛擬機(jī)實(shí)時(shí)遷移的主要用例是快速將有狀態(tài)的工作負(fù)載從一臺(tái)主機(jī)移動(dòng)到另一臺(tái)主機(jī),而不會(huì)造成任何停機(jī)。例如,在計(jì)劃維護(hù),節(jié)點(diǎn)故障或重新平衡基礎(chǔ)架構(gòu)以維護(hù)SLA時(shí),這是非常必要的。
  另外,運(yùn)行在虛擬機(jī)上的容器也可以受益于這種能力。當(dāng)智能私有云基礎(chǔ)設(shè)施檢測(cè)到硬件問(wèn)題時(shí),可以無(wú)縫地將承載數(shù)百個(gè)容器的虛擬機(jī)遷移到另一個(gè)主機(jī),而不需要產(chǎn)生新的容器或出現(xiàn)停機(jī)時(shí)間,這比高級(jí)業(yè)務(wù)流程框架可以檢測(cè)到的要快得多。
  3密度
  在內(nèi)存管理方面,今天的虛擬化技術(shù)存在一個(gè)問(wèn)題。雖然現(xiàn)在可以在機(jī)器上過(guò)度使用內(nèi)存,但通常會(huì)避免這種情況,因?yàn)榉e極的內(nèi)存過(guò)度使用的后果遠(yuǎn)大于好處。然而,50-80%的典型虛擬機(jī)分配的內(nèi)存從不使用,因?yàn)閷?shí)例的大小不正確或應(yīng)用程序的內(nèi)存消耗本質(zhì)上是突發(fā)的。容器不會(huì)遭受同樣的問(wèn)題。它們使用的內(nèi)存少于虛擬機(jī),因?yàn)樗鼈児逃械毓蚕碇鳈C(jī)內(nèi)核和操作系統(tǒng)。然而,對(duì)于虛擬機(jī),可以通過(guò)實(shí)時(shí)跟蹤資源利用率來(lái)解決,以便執(zhí)行更好的調(diào)度,工作負(fù)載放置和快速的工作負(fù)載重新平衡。
如果您的基礎(chǔ)架構(gòu)具有足夠的智能性,可以為群集中的每個(gè)虛擬機(jī)執(zhí)行內(nèi)存頁(yè)面訪問(wèn)并對(duì)其進(jìn)行跟蹤,則可以利用此洞察力來(lái)提高密度并為您的工作負(fù)載提供更一致的性能。
這就是它們的關(guān)系了。

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading