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