知道為什么應(yīng)該使用容器。但是您知道部署容器得用哪種基礎(chǔ)設(shè)施嗎? 作為托管Docker和其他容器環(huán)境的平臺,裸機(jī)服務(wù)器是否比虛擬機(jī)更好?
答案當(dāng)然取決于很多因素,本文將通過列舉裸機(jī)服務(wù)器和虛擬機(jī)上運行容器的優(yōu)缺點來討論。我將專注于Docker,但這里分享的經(jīng)驗通常適用于任何類型的容器平臺。
裸機(jī)VS虛擬機(jī)
權(quán)衡裸機(jī)服務(wù)器和虛擬化主機(jī)環(huán)境各自的優(yōu)缺點不是一個新課題,CTO們在21世紀(jì)初就開始思考了,當(dāng)時虛擬化剛開始在數(shù)據(jù)中心推廣,Docker則還沒出現(xiàn)。
簡而言之,裸機(jī)服務(wù)器的主要優(yōu)點包括:
更高的性能,因為沒有系統(tǒng)資源浪費在硬件模擬上;充分利用所有機(jī)器資源,高需求期間無閑置;更簡單的管理,因為主機(jī)、網(wǎng)絡(luò)和磁盤等硬件基礎(chǔ)架構(gòu)更少。
虛擬機(jī)則具有以下優(yōu)點:
通過在服務(wù)器之間傳輸虛擬機(jī)映像,輕松實現(xiàn)在主機(jī)間移動應(yīng)用程序;不同虛擬機(jī)中運行的應(yīng)用程序?qū)崿F(xiàn)隔離,不僅有助于安全,也能降低管理復(fù)雜度。通過在同一類型虛擬機(jī)上部署所有應(yīng)用程序,即使底層服務(wù)器是異構(gòu)的,也能實現(xiàn)軟件環(huán)境的跨平臺一致性。
但是虛擬機(jī)也有一些缺點,包括:
服務(wù)器資源可能未完全使用。例如,如果您在服務(wù)器主機(jī)上分配存儲空間以創(chuàng)建虛擬機(jī)磁盤映像,即使磁盤連接的虛擬機(jī)不使用全部空間,該存儲空間也不可用于其他用途。虛擬機(jī)無法直接訪問物理硬件。如果您希望虛擬機(jī)能夠?qū)⒂嬎悴僮鬓D(zhuǎn)移到主機(jī)的GPU上,您很難或無法實現(xiàn),因為虛擬機(jī)是從底層主機(jī)環(huán)境中抽象出來的。物理服務(wù)器直接訪問硬件,虛擬服務(wù)器訪問軟件模擬的硬件。
現(xiàn)代虛擬化平臺提供了一些技巧,可以幫助管理員解決上述限制。例如,您可以創(chuàng)建動態(tài)磁盤映像,該映像隨著虛擬機(jī)的使用情況的增加而擴(kuò)展,以避免虛擬機(jī)實際使用之前鎖定主機(jī)上的存儲空間。在某些情況下,您還可以利用直通功能為虛擬機(jī)提供直接訪問主機(jī)物理硬件的功能。
然而,這些功能不是總能生效,例如他們不支持所有的主機(jī)或操作系統(tǒng),他們還會產(chǎn)生額外的管理負(fù)擔(dān)。如果您要運行的應(yīng)用程序需要裸機(jī)訪問,最好在裸機(jī)服務(wù)器上運行這些應(yīng)用程序。
或者,您可以在裸機(jī)服務(wù)器上的容器中運行應(yīng)用程序,以便充分利用這兩個方面。
來源:機(jī)房360
石家莊服務(wù)器托管 石家莊服務(wù)器租用 石家莊機(jī)柜租用 石家莊機(jī)房