容器的主機操作系統有多重要?

jopen 9年前發布 | 4K 次閱讀 容器
 

操作系統與容器彈性、可擴展性以及脆弱性的關系有多大?

容器依賴于底層的主機操作系統,操作系統內核通常是Linux的某個版本。運行在該操作系統之上的所有容器將共享相同的操作系統內核,因此容器提供了獨特的福利與脆弱性。

既然服務器上的所有容器共享同樣的主機操作系統,那么就不需要在每個容器中安裝一個操作系統(也就是不必每臺虛擬機需要一個單獨的操作系統)。這可能會顯著減少容器部署時的主機許可成本。還能夠顯著減少每個操作系統迭代所需要的計算資源—不是10臺虛擬機需要10個主機操作系統,大概有30個容器實例的類似系統可能只需要為一個主機操作系統分配CPU、內存以及存儲。

但系統中的所有實例同樣完全依賴于單個操作系統。如果操作系統宕機,系統中的所有的容器同樣將無法使用。此外,操作系統遭遇惡意軟件攻擊(或者是攻擊從容器延伸到操作系統)可能會傳導給其他容器并以不受控的方式傳播攻擊。這與虛擬機的行為完全不同,虛擬機在很大程度上孤立的而且不受這類依賴關系的影響。當太多的容器實例同時爭奪操作系統的注意力時,大量訪問單個操作系統的I/O子系統可能會導致容器性能退化。

容器遷移選項同樣存在局限性。既然容器工作負載共享同樣的操作系統內核,那么容器只能夠被遷移到另一個與現有系統內核相兼容的系統中。例如,Linux容器無法被遷移到運行Windows服務器的系統中。當有運行相同操作系統的系統之間擁有大量計算容量時這不是個大問題。但當容器的主機操作系統只占整個環境的一小部分時可能就會有問題了(比如少量的容器化SUSE Linux操作系統在擁有大量Windows Server 2012數據中心內運行時)。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!