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

在本系列內我想和大家介紹目前VMware主要支持的容器網路方案:Antrea。在寫作時間點,VMware Tanzu方案使用的主要底層網路構件預設已經都是Antrea,VMware也提供對應Antrea的企業支持,以及與VMware NSX (NSX Data Center) 的整合機制。也因此,在規劃與執行不同的Kubernetes專案時,Antrea本身的功能、配置方式、相關產品整合機制、在網路與安全上的架構設計等,當然也都會是大家關注的重點。

但雖然Kubernetes在近年已成為顯學,我猜想本文讀者或許不是每位都非常熟悉Kubernetes基礎網路功能。因此在這邊很快地與大家就Kubernetes的底層網路構件:Container Network Interface (CNI) 功能進行回顧。下面這張圖我們在很久以前的網誌內放過,這裡再重新拉出來,通常在一個Kubernetes方案內,會考慮部署的網路相關構件包含了CNI / LoadBalancer-Ingress / Service Mesh這三大部分:

在之前的系列:NSX Advanced Load Balancer容器方案支持 (223~240) 內,我們已經討論過如何採用NSX ALB (Avi Networks) 應用遞送方案來滿足 Kubernetes內的Load Balancer / Ingress之四層七層均衡及HTTPS加解密、Web Application Firewall等需求。Service Mesh部分VMware的主要方案則是利用雲服務Tanzu Service Mesh來提供。而最基礎,每個Kubernetes環境內必須具備的Container Network Interface,則是主要用來提供Pod之間的網路連接以及需求的安全區隔。幾個主要的功能條列如下:

  • 提供Pod啟動時的IP地址,以及Pod與Pod之間不需要做NAT的直接網路連接。CNI需處理Pod之間連線時,底層如何跨越實體網路的封裝或路由機制。
  • 提供Pod間的連線安全控制,也就是在K8S內被稱為Network Policy的功能,大家可以想像這就是Pod之間的微分段。
  • 提供各個Pod到外部實體網路間的網路連線與轉址 (Egress)。
  • 在沒有Ingress / LoadBalancer構件下,搭配Kube-Proxy提供最基礎方式的外對內服務接口,也就是K8S內NodePort的機制

上述的功能,當然Antrea內全都有支持,並且不僅是支持Kubernetes原生需求的基礎功能,包含在企業環境需求的安全及相關網路功能上,都有進一步強化的特殊優勢,我們也會在不同的專案內與客戶介紹。因此在本系列內,我想陸續和大家討論下列議題:

  • Antrea組件、架構、及特性簡述
  • Antrea開源版本以及VMware企業支持版本之比對
  • Antrea如何與VMware NSX整合,進行Namespace / Service / Pod之間之微分段安全防護
  • Antrea支持之IP管理機制與網路功能簡述

Antrea目前已經是CNCF (Cloud Native Computing Foundation) 支持的Sandbox Project,主要的支持者除了VMware外還包含Intel / NVIDIA / IBM / AWS / Azure等。若大家對社群版本的Antrea相關資訊想進一步了解,幾個常用的鏈結在此:

  • Antrea專案主頁:https://antrea.io/
  • Antrea GitHub:https://github.com/antrea-io/antrea
  • Antrea文件與主要功能介紹頁面:https://antrea.io/docs/main/

但需要和大家強調一下,VMware基於Antrea有出自己的商用版本,叫做VMware Container Networking with Antrea。比如VMware Container Networking with Antrea 1.4版,是基於Antrea的開源版本v1.5.2;VMware Container Networking with Antrea 1.3.1-1.2.3版,是基於Antrea的開源版本v1.2.3。當客戶要運用Antrea在VMware Tanzu產品或是開源環境,同時也要有VMware企業支持時,需要購買商用版本授權。VMware Container Networking with Antrea相關的產品文件可以參考:

  • 中文產品專頁:https://www.vmware.com/tw/products/antrea-container-networking.html
  • Release Note:https://docs.vmware.com/en/VMware-Container-Networking-with-Antrea/1.4.0/rn/VMware-Container-Networking-with-Antrea-Version-140-Release-Notes.html (1.4版)
  • 安裝手冊:https://docs.vmware.com/en/VMware-Container-Networking-with-Antrea/1.x/vmware_antrea_install/GUID-17BCC160-A7CF-4F65-BDA1-73AC82ECF457.html

我們在系列文後面還會對VMware Container Networking with Antrea的授權版本,以及與Antrea社群版本間的對應做進一步說明。本文暫時至此,下一篇我想先就Antrea的方案組件、系統架構、及功能特性與大家介紹。