虛擬雲網絡系列 | Antrea 應用於 VMware 方案功能簡介(二)

語言: CN / TW / HK

接續前篇《虛擬雲網絡系列 | Antrea 應用於 VMware 方案功能簡介(一)》,這篇推文內我想簡單與大家討論 Antrea 作為 VMware 主要支持的 Container Network Interface,相關的構件以及與其他競爭方案的差異。近幾年隨着 Kubernetes 的技術發展,Container Network Interface 這邊的相關項目也百花齊放,從早期的 Flannel / Weave / OVN 到目前主流的 Calico / Cilium,包含 VMware 本身 NSBU 之前也在 NSX 開發了 NCP (NSX Container Platform),各有各的特長。那目前 VMware / Tanzu 在商用支持上主要採用 Antrea,是因為 Antrea 有哪些優勢呢?這篇簡單與大家説明。

首先我們看一下 Antrea 的架構,幾個重點分別討論:

 

1.Antrea 採用 Open-vSwitch 作為核心網絡構件

上面架構圖內大家可以看到每個 Kubernetes Node 內都有大大的 OVS (Open-vSwitch) 三個字,這是 Antrea 與其他方案最主要的差別:Antrea 使用 Open vSwitch 做為底層的核心構件。Open vSwitch 是一個開發長久、穩定、可編程的開源方案,具有下列特性:

  • 方案成熟,Open vSwitch 早在 NSX 前身Nicira 時代就完整商用化,目前也已經是 Linux Kernel 的內建模塊。
  • 作為開源 SDN(Software Define Network)的核心構件,開發者可以很輕易地透過 Open vSwitch(藉由OVSDB / Openflow)啟用多種企業需要的安全及網絡功能,遠多於原生 Kubernetes 基礎定義的需求。
  • 可以運作在 Linux 及 Windows 操作系統,因此具備完整可攜性。在客户要將 Kubernetes Cluster 部署於不同公私有云,不同操作系統上時,Antrea 均能輕易支持。

2.Antrea 具備 controller-agent 的控制 / 轉發設計

同樣在上圖,大家可以看到每個 Kubernetes Node 內都有一個 Antrea Agent。這個 Antrea Agent 主要的工作是接收來自 Kubernetes API Server 以及 Antrea Controller 的指示,編寫相關的網絡與安全需求,再通過本地 OVS 來進行功能實現,比如説 Pod 與 Pod 間要通過 Geneve Tunnel 進行跨node網絡連線,每個 Pod 本身的 Network Policy 等等。

此外,由於 Antrea 的一個重要功能是進行各個 Pod 間的進階安全控制,此時需要一個構件能夠:

  • 透過 Kubernetes API 收集 Pod/Namespace/Service 的狀態。
  • 提供 API 讓外部系統可呼叫來配置進階安全策略。
  • 於此構件將進階安全策略配送到需求 Kubernetes Node 上的 Antrea Agent,呼叫各自的 OVS 進行安全政策實現。

因此在 Antrea 部署時,除了每個 K8S node 上都會有 Antrea Agent 外,還會於 Master Nodes 上安裝一個 Controller Pod。下圖是我在 Lab 內建置,具有一個 Master Node,三個 Worker Nodes 的 Kubernetes Cluster。可以看到當 Antrea 安裝完成,每個 Node 上面都有一個Antrea Agent (共四個),除此之外還有一個antrea-controller pod 配置,負責上述討論的提供進階的安全控制與外部系統接取功能。

如果大家對細部的 Antrea / Kubernetes 構件間關係有興趣,可以參考下列這張圖,包含了 Antrea 各構件、Kubernetes 各構件、甚至包含到外部系統間的完整關聯:

架構面先簡單談到這邊,如果大家對相關細節想進一步瞭解,可以參考下列文章,有詳盡討論:

這裏特別花一篇推文來討論架構,主要想要強調下面這幾點:

  • 透過採用 Open vSwitch 成熟技術作為核心骨幹,Antrea 能夠容易地做到跨操作系統、甚至在不同公私有云平台的快速支持。
  • 同時,由於之前在 Open vSwitch 上已經累積的大量經驗,Antrea 項目能夠快速地應用 Open vSwitch 本身已支持的功能,呼應企業需求,在短期內就能夠透過 Open vSwitch 現有機制將新功能實現出來。
  • 藉由 Antrea Controller 的設計,能夠實作出較傳統 Network Policy 遠為複雜的安全政策機制,同時也能夠很簡單地提供外部系統(如後面我們要討論的 NSX,或整合另一個著名的開源維運工具 OCTANT)來進行政策配置與資訊查找。

雖然不同的 Container Network Interface 方案各有千秋,但 Antrea 具備上述談到的特性包含構件成熟且功能完整、易於開發、易於整合外部系統的特性,也就成為了 VMware 支持容器方案的首選。尤其 VMware 本身在之前維護 Open vSwitch 開源項目上原本就有投資大量的開發團隊與相關經驗,繼續進行 Antrea 的開發與維護也是水到渠成的。

先談到這邊,下篇我將和大家討論 Antrea 的安裝方式。

內容來源|公眾號:VMware 中國研發中心

本文作者:Colin Jao (饒康立), VMware 資深技術顧問,主要負責 VMware NSX 產品線,目前致力於網絡虛擬化、分佈式安全防護技術與新應用遞送方案的介紹與推廣。

 

「其他文章」