為什麼仍然使用虛擬化而不是容器?

為什麼仍然使用虛擬化而不是容器?

在 2021 年容器時代,雲端供應商仍然使用虛擬機器管理程式來使用更多系統可用資源並提供更大的 IT 行動性,因為來賓虛擬機器獨立於主機硬體。

管理程式,允許實體伺服器將多個虛擬機器作為來賓運行,彼此並行運行。

貨櫃是作業系統虛擬化的一種形式。

兩種系統都可以實現相同的目的,但容器效率更高。

你可以說容器沒有提供足夠的安全性,但是零信任容器可能是可能的。

我仍然想知道為什麼雲端供應商仍然在其裸機伺服器中使用虛擬機器管理程式而不是容器化。

答案1

容器是不是「作業系統虛擬化的一種形式」。容器是在單一作業系統映像中建構多個使用者環境的方法。容器和虛擬機器永遠無法實現相同的目的。容器所基於的技術根本就沒有打算取代虛擬機器;這是建立比 chroot 更安全的監獄的方法(它就像「類固醇上的 chroot」)。

如果您想了解“作業系統虛擬化的一種形式”,請了解 Xen 半虛擬技術;是作業系統虛擬化的形式。

有很多任務是無法在容器中完成的,例如,人們經常需要同時運行 Windows 和 Linux 應用程序,天知道還有什麼,而做到這一點的唯一方法就是虛擬化。

然而,有許多任務可以透過任何一種方式來解決。為什麼仍然不總是使用容器來解決這些問題?

因為人的思想有惰性。虛擬機器就像電腦一樣,我們使用了很長時間,每個人都已經習慣了。容器是非常不同的東西。

由於Windows的廣泛普及,其中並沒有這樣的概念。我甚至可以推測這是因為在真正安全的容器化環境中很難強制執行許可限制; Micro$oft 的授權條款總是非常混亂,但包含容器可能會讓其最忠實的支持者難以忍受。

答案2

儘管容器具有眾多優勢,但虛擬化仍然被使用,因為它非常靈活。

例如,您可以在 VM guest 虛擬機器上啟用巢狀虛擬化。啟用此功能後,VM guest 虛擬機器將具有與主機系統相同的虛擬化能力。

透過這樣的設置,您可以擴展資源佔用量,而不僅僅是使用僅用於容器或有限數量的虛擬機器(反過來託管容器)的主機系統。

理論上,每個單獨的虛擬機可以再創建 3-5 個虛擬機,然後可以將它們容器化並更有效地使用。

答案3

因為有許多用例需要完整的作業系統安裝和容器所不具備的持久性。

這是 Microsoft 提供的,顯然是面向 Azure 的,但仍然是一個很好的比較:https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm

答案4

對於容器,您需要在所有容器中執行相同的作業系統。但人們經常需要運行不同的作業系統。您可能需要在雲端同時執行Linux和Windows系統;此外,您可能需要為無法在較新系統上執行的特定應用程式執行某些特定的舊版本的 Linux 或 Windows。對於雲端供應商來說,滿足不同客戶(可能需要多個不同作業系統)需求的唯一方法是虛擬化。

相關內容