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