虛擬化與容器,有哪些區(qū)別?
什么是虛擬化?
如果要對物理資源進行管理,第一步,就是“虛擬化”。
虛擬化是云計算的基礎(chǔ)。簡單來說,虛擬化就是在一臺物理服務(wù)器上,運行多臺“虛擬服務(wù)器”。這種虛擬服務(wù)器,也叫虛擬機(VM,Virtual Machine)。
從表面來看,這些虛擬機都是獨立的服務(wù)器,但實際上,它們共享物理服務(wù)器的CPU、內(nèi)存、硬件、網(wǎng)卡等資源。物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。
虛擬機(VM)是共享一個服務(wù)器的物理資源的操作系統(tǒng)。它是主機硬件上的Guest,因此也被稱為Guest虛擬機。虛擬機由幾層組成。支持虛擬化的層是hypervisor。hypervisor是一種虛擬化服務(wù)器的軟件。
什么是容器?
容器也是虛擬化,但是屬于“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創(chuàng)造“隔離環(huán)境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統(tǒng)級別的資源隔離,而容器本質(zhì)上是進程級的資源隔離。
容器是一個不依賴于操作系統(tǒng),運行應(yīng)用程序的環(huán)境。它通過Linux的Namespaces和Cgroups技術(shù)對應(yīng)用程序進程進行隔離和限制的,Namespace的作用是隔離,它讓應(yīng)用進程只能看到該Namespace內(nèi)的世界;而Cgroups 的作用是限制分配給進程的宿主機資源。但對于宿主機來說,這些被“隔離”了的進程跟其他進程并沒有太大區(qū)別。
容器只是運行在宿主機上的一種特殊的進程,多個容器之間使用的還是同一個宿主機的操作系統(tǒng)內(nèi)核。
總的來說,虛擬機非常適合傳統(tǒng)的資源密集型單片應(yīng)用程序,尤其是準(zhǔn)備將這些應(yīng)用程序移至云中時。
容器更適合承載Web服務(wù)中使用的微服務(wù),特別是在對可擴展性要求很高的情況下。當(dāng)以這種方式使用容器時,通常由容器編排系統(tǒng)對其進行管理,以自動執(zhí)行計算機應(yīng)用程序的部署、擴展和管理。
不僅如此,容器和虛擬機也可以共存,容器可以在虛擬機中運行,企業(yè)可以利用現(xiàn)有的虛擬化基礎(chǔ)設(shè)施(例如虛擬機管理系統(tǒng))來管理其容器。http://www.xinnet.com/cs/cs.html
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科