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

NSX-T的Load Balancer功能配置方式在標準管理手冊內寫得很清楚,我們就不多做贅述。同樣的,這篇網誌裡我們把重點放在NSX-T Load Balancer內的幾個重點說明:

NSX-T內的Load Balancer主要支援功能有哪些?

與NSX for vSphere的Load Balancer功能相同,都著重於資料中心內Local Load Balancing的功能需求:

  • 支援TCP / UDP / HTTP / HTTPS等四層或七層的應用負載平衡要求
  • 多種Local Load Balancing標準功能支援,包含如Session-Persistence、不同的Load Balancing輪詢與健康檢查機制、SSL-Offload、one-arm or Transparent Mode的支援、Pool連線統計監控等

在配置Load Balancer時,管理者會分別針對Load Balancer Pool / Health Check機制 / SSL機制 / Virtual Server / Application Profile等等有不同的配置,說真的有點複雜,但其實與絕大部分市面上Load Balancer需要進行的過程相同。下面這張圖把各個可能會需要配置的構件間關係圖拉出來,這樣大家在設定時比較能夠不會遺漏。

 

 

通常在一個最基本的Load Balancer配置步驟上,我們會做的流程大概是:

  • 建立一台邏輯負載平衡器,並將其掛載到選定的Tier-1路由器上
  • 對應到要進行負載平衡的服務,建立監控的機制 (Active Health Monitor)
  • 建立要進行負載平衡的Pool,並加入靜態或是動態的成員,以及成員健康的監控機制
  • 建立Virtual Server,對應到選定的Pool,並定義相關的應用型態、Persistence設定、憑證設定等

NSX-T內的Load Balancer是在哪邊運作?建立時有何注意要點?

與NAT或是南北向防火牆不同,NSX-T的Load Balancer僅在Tier-1路由器上面運作。Tier-0路由器上沒有提供Load Balancer服務。

如前段敘述,我們會先建立一個邏輯的Load Balancer,並且將這個Load Balancer掛載到一個Tier-1路由器。此時這個Load Balancer服務就會在對應這台Tier-1 Router的SR構件上運作。要注意的是,建立LB時介面上會要求要選定其大小,在本文寫作時的NSX-T 2.3版本,三種不同大小的LB主要能力差異如下:

 

 

由於上面敘述Load Balancer實際上是由在Edge Node上面的Tier-1 Router SR構件來運作,此時Load Balancer的能力就會與底層Edge Node的大小容量有關了。不知道大家記不記得在前面要建立Edge Node時,我們有和各位討論,為了避免後續麻煩,不要節省Edge VM的大小配置,直接選大。這邊就是一個主要的原因。當我們要把Load Balancer掛載到Tier-1 Router時,NSX-T會檢查這台T1 Router的SR構件所在的Edge Node,是否具有足夠的容量。下表內是在2.3版本中,Edge Node與Load Balancer的大小對應:

 

 

上面表格意思是,如果你建的Edge VM是Small Size,此時上面的Tier-1路由器,一個Load Balancer都掛不上去。而如果Edge Size是Medium,上頭頂多掛一個小Load Balancer,要掛第二個就不行了。不行了怎麼辦?NSX-T Edge Node不是按個鈕就能從小變成大,得要建個新的,很麻煩吧。所以在建NSX-T環境時,不要節省空間,Edge VM就直接選大給他催下去。而當然,如果客戶有足夠的資源可以直接用Bare-Metal的型態,那可支援的容量當然就更強了。

既然功能沒有差太多,NSX-T內的Load Balancer服務與NSX for vSphere內的有何差別?

一些不重要的技術細節就不談了,其實我認為NSX-T內的Load Balancer與V版相比,有極為大幅的改進:

  • 如同其他服務的設計,Load Balancing服務的HA切換速度可以達到秒級,因此即使NSX-T內的Edge構件出現硬體失效等狀況,重要業務系統的服務不會受到中斷。這讓Load Balancing服務能夠真正應用在核心服務環境
  • 雖然和實體設備的Load Balancer比較還是有差距,但由於NSX-T的Edge可以支援Bare-Metal功能,因此即使在7層HTTPS,要執行SSL Offload的狀況下,採用Bare-Metal Edge時內部資料可以達成到concurrent 20萬個session,每秒接近6K new-session的運作能力。同樣地,對應到有大型連線需求的業務,NSX-T Load Balancer的支援也更強大了
  • 與Kubernetes方案負載平衡需求的完整整合,無論是對應到Ingress / LoadBalancer等不同的服務型態,在NSX-T與K8S / VMware PKS的方案整合內,都能透過NSX-T的負載平衡服務完美達成。

希望上面的介紹讓大家對NSX-T內的負載平衡服務有進一步的認識。