什麼是容器網路?
容器網路為一種新興的應用程式沙箱機制,可運用於家用桌面平台和網路規模企業網路解決方案中,概念類似於虛擬機。容器中的 Linux 環境會與主機和其他所有容器隔離開來,不僅具備完整功能,也包含專屬的使用者、檔案系統、流程和網路堆疊。容器中的所有應用程式,都僅能存取或修改容器內部的可用檔案或資源。
您可以同時執行多個容器,而每個容器都有各自的安裝程式和相依性。如果較新版本的應用程式可能需要進行相依性升級,進而與伺服器上執行的其他應用程式相依性產生衝突,容器就能派上用場。不同於虛擬機,容器會共用主機資源,而非完整模擬電腦上的所有硬體;正因如此,容器不僅比虛擬機小巧且快速,還可減少額外負荷。特別在網路規模的應用程式情境下,容器可用來取代虛擬機,做為微服務架構的部署平台。
此外,容器也具有可移轉的特點;舉例來說,容器引擎 Docker 就可讓開發人員封裝容器及其所有相依性。隨後,該容器套件就可提供下載。容器下載完成後,就會自動在主機上執行。

VMware Container Networking with Antrea - 規格說明

隆重推出適用於 Kubernetes 的 VMware Container Networking with Antrea
容器網路如何運作?
容器網路是一種虛擬化形式,其概念類似於虛擬機 (VM),但兩者具有多項顯著差異。相較於將硬體虛擬化的虛擬機,容器方法主要會用來將作業系統虛擬化。
在虛擬化管理程序上執行的每個虛擬機,都擁有專屬的作業系統、應用程式和程式庫,而且可以封裝持續性資料、安裝新作業系統、使用不同於主機的檔案系統,或使用不同的核心版本。
相較之下,容器為映像、暫時性作業系統虛擬化的「執行實例」,旨在執行某些工作,然後於完成後遭到刪除和遺忘。由於容器為暫時性產物,相較於需要較大位址空間的虛擬機,系統使用者可執行更多的容器執行實例。
容器需仰賴兩大 Linux 核心功能來建立隔離機制:命名空間和控制群組。為了賦予容器與其他資源隔離開來的專屬系統檢視畫面,每個資源都會建立命名空間,而且不會提供給其餘系統共用。隨後,則會使用控制群組 (Cgroups) 來監控和限制系統資源,例如 CPU、記憶體、磁碟 I/O 和網路等。
容器網路的優勢
容器正迅速廣為採用,並以平台和微服務等方式取代虛擬機。
容器可提供多項重大優勢:
- 同時執行容器化應用程式和現有的工作負載:機器可在相同基礎架構中執行容器化應用程式和傳統虛擬機,進而享有彈性和速度。
- 將可移轉性與安全性、能見度和管理結合:容器的固有設計,可透過沙箱、主機資源透明度、工作管理,以及執行環境可移轉性等方式,提供更高安全性。
- 運用現有的基礎架構並輕鬆進行延展:只要使用現有軟體定義的資料中心,即可避免昂貴、耗時且造成資訊孤島的基礎架構重建作業;畢竟,當在相同組織內的不同部門維護專屬的 IT 基礎架構時,往往會衍生資訊孤島。由於每個部門使用的技術設定有所差異,在推行全組織的 IT 原則和升級時,此一「資訊孤島效應」將造成諸多問題。重新整合資訊孤島是一項成本昂貴且曠日費時的流程,可透過容器網路加以避免。
- 為開發人員提供與 Docker 相容的介面:已經熟悉 Docker 的開發人員,能透過與 Docker 相容的介面,在容器內開發應用程式,然後透過自助服務管理入口網站或使用者介面,佈建這些應用程式。
在網路規模的應用程式部署中使用容器網路
在企業環境中,容器可部署為微服務架構的一部分,以協助封裝大型網路應用程式的個別工作。每個工作都可具備專屬容器,API 和 GUI 等對外容器會向公用網際網路開放,其他容器則會存放在私人網路中。
微服務模式可提供多項優勢:
- 易於部署:主機設定可嵌入至容器中,以利在部署後立即使用。
- 可供捨棄:容器可供快速啟動和捨棄。如果主機發生錯誤,將應用程式重新上線,就如同導入閒置伺服器一樣簡單。
- 容錯能力:容器可輕鬆建立資料庫和網路伺服器的備援。只要將相同容器複製到多個節點,就能提供高可用性和容錯能力。
容器網路類型
目前使用的容器網路共包含五種類型;其特點會著重於採用每個容器一個 IP 和每個機組一個 IP 等模式,以及使用網路位址轉譯 (NAT) 和無需轉譯上。
- 無:容器網路會收到網路堆疊,但缺少外部連線。這個模式相當適合用來測試容器、為後續的網路連線預發佈容器,以及指派給無需進行外部通訊的容器。
- 橋接:容器會在內部署基網路上進行橋接,且允許和相同主機上的其他容器通訊。容器無法從外部主機存取。Docker 容器會預設使用橋接網路。
- 主機:這項設定可讓已建立的容器共用主機的網路命名空間,繼而為主機的所有網路介面,提供容器存取權限。這個類型採用的外部網路設定最為簡單,由於網路介面會進行共用,因此容易產生連接埠衝突。
- 底層:底層會將主機介面直接開放給在主機上執行的容器使用,且無需進行連接埠對應,因此比橋接更有效率。
- 層疊:層疊會使用網路通道進行跨主機通訊,這樣一來,在不同主機上代管的容器就能比照在相同機器上一樣的方式運作。
相關解決方案與產品
Antrea
已簽署的映像和二進位檔案,並針對 Project Antrea 提供完整企業支援
連接容器和 Kubernetes
連接並保護您的容器化應用程式和微服務。
虛擬雲端網路
透過虛擬雲端網路,在您的資料中心內享有公有雲經驗