NSX多租戶之旅

從多租戶數據面到完整的多租戶框架

我們很高興地宣佈NSX中的Projects這一項新功能,可以對NSX部署的多個租戶進行細粒度的資源管理。

Projects提供靈活的資源分配和管理,將NSX的多租戶支持提升到新的水平。企業管理員可以將平臺劃分爲不同Projects,將不同的空間分配給不同的租戶,同時保持完全的可見性和控制。NSX消費模式的這一擴展支持NSX用戶使用他們自己的對象,看到與他們自己的配置相關的警報,並通過Traceflow測試他們工作負載之間的連接性。

這篇文章概述了NSX的新多租戶功能,解釋了它們是如何從傳統的多租戶數據面(仍然支持)發展到基於Projects的新多租戶框架(管理員可以選擇利用)。

多租戶數據面 - 路由

在討論Projects引入的新的多租戶功能之前,我們先來看看傳統上在數據平面怎麼實現多租戶的。

NSX支持多層路由模型,在NSX基礎設施內的不同網關之間進行邏輯分離,對服務和政策給予完全的控制和靈活性。這種模式使數據中心的互連簡單而穩定,也使複雜的、可能被隔離的應用環境實現自動化。  

  • Tier-0網關在邏輯和物理網絡之間提供網關服務。傳統上,它被設置爲動態路由或服務。 

  • Tier-1網關爲租戶或應用路由器提供一系列的服務(NAT、GFW、DNS轉發器等)。NSX管理它們與Tier-0網關的連接和路由分配。  

擴展的網絡功能

有多種方法可以擴展這個模型以進行額外的細分。

在下面的圖片中,你可以看到同一NSX部署中的多個Tier-0s:

  • 租戶A可以被映射到Tier-0 A和底層Tier-1上。

  • 租戶B可以被映射到Tier-0 B和底層Tier-1上。

 

這種配置將用於在NSX中從數據中心傳播網絡分段,但它需要爲不同的環境提供一組不同的Edge節點。

隨着Tier-0 VRF的引入,這一要求不再有必要。Tier-0 VRF網關被託管在Edge節點的父級Tier-0網關上。如下圖所示,我們可以實現以下配置:

  • 租戶A可以被映射到Tier-0 VRF A和底層Tier-1上。

  • 租戶B可以被映射到Tier-0 VRF B和底層Tier-1上。

隨着EVPN的引入,Tier-0 VRF的用例得到進一步擴展,它通過消除對每個VRF路由配置的需要,簡化了南北配置的規模。

多租戶數據面 - 分佈式安全結構

NSX還提供分佈式安全結構,允許隔離工作負載(虛擬機或容器)並控制它們之間的流量。因爲安全問題是在vNIC內處理的,所以無論網絡架構如何,隔離仍然是可能的。無論虛擬機是否在同一主機或同一子網,你都能得到同樣的安全保護。

這種強大的功能使你能夠對工作負載進行分組,並根據各種屬性(從操作系統到業務線特徵)創建規則集。

這也意味着,從NSX推送的單一規則可以應用於環境中的所有工作負載,這增加了能夠管理平面多租戶的價值。如果沒有細分,授權會很快變得低效和複雜。

雲管理平臺

下圖所示的模型允許供應商設置Tier-0網關,定義它如何連接到網絡,並通過雲管理平臺(如Aria Automation、OpenStack或vCloud Director)進行Tier-1的創建。

從數據面的角度,通過NSX實現租約,從管理面的角度,通過雲管理平臺實現租約,該平臺隔離了不同的環境配置。

爲什麼在NSX中引入多租戶框架?

在之前討論的模型中,你可以看到NSX如何允許用戶應用所需的數據平面分段。然而,在NSX 4.1發佈之前,租戶並沒有在NSX中明確定義。這種邏輯是由NSX管理員或雲管理平臺完成的。

如果一個安全團隊想委託管理防火牆規則,需要基於角色訪問NSX,怎麼辦?如果該團隊的相同用戶只想看到與他們的環境相關的警報呢?或者,如果他們只想收集其租戶內指定的防火牆日誌?

這些只是一些理論上的場景,突出了團隊面臨的挑戰;從管理和監控的角度來看,NSX中存在對多租戶構造的明顯需求。

Projects介紹

NSX 4.1中的多租戶是通過在平臺中引入Projects而實現的。

企業管理員(供應商)可以將平臺劃分爲定義的Projects。這些Projects將用戶委託給不同的空間和租戶,他們有自己的對象、配置、虛擬機和監控(基於警報和日誌)。

Projects與傳統的數據模型並存,可以選擇使用,並且不會以任何方式破壞與現有設置的兼容性。企業管理員仍然可以訪問Projects之外的所有功能(從系統設置到防火牆規則),但如果需要,可以使用Projects來定義租戶的邏輯消費。

提供者視圖:創建和管理Projects

從NSX 4.1.0開始,Projects可以在NSX UI屏幕頂部的下拉菜單中的正面和中心位置使用。當訪問平臺時,企業管理員將登錄到下拉菜單所示的默認空間。

在 "默認 "空間中,企業管理員可以對所有Projects進行綜合查看,或切換到查看特定Projects。他們還可以用不同的Projects創建多個租戶(Projects1,Projects2,等等)。要做到這一點,他們必須分配好:

  • 至少有一個Tier-0或Tier-0 VRF(支持多個)。

  • 至少有一個Edge集羣(支持多個)。

  • 分配給Projects的用戶。

  • 在與Projects有關的日誌上標註一個簡短的日誌ID(僅限於NSX 4.1.0的安全日誌)。

需要注意的是,如果企業管理員需要,Tier-0/Tier-0 VRF和Edge Clusters可以跨Projects共享。

一旦分配,Projects1的Projects用戶可以在爲他們定義的範圍內直接訪問NSX。他們還可以創建部署在所分配的Edge集羣上的配置,這些配置可以連接到所分配的Tier-0或Tier-0 VRF。

企業管理員還可以分配Projects的配置,以簡化消費或限制通過配額創建的對象的數量。下面的圖片顯示了一個分配配額的例子。

企業管理員可以創建全系統的防火牆規則,這些規則將適用於所有環境中的所有虛擬機。這些規則是從默認空間配置的,無法在租戶內修改。

租戶視角:Projects消費

一旦Projects被建立起來,就可以將訪問權委託給租戶。企業管理員可以分配一個Projects管理員的通用角色,或使用更有針對性的角色,如Projects1的安全管理員或Projects1的網絡操作員。租戶可以通過用戶界面或API來使用NSX。

登錄後,用戶將直接進入他們指定的Projects,只看到與他們Projects相關的配置、警報、虛擬機等。

配置將被限制在邏輯對象上。租戶不能管理平臺設置(安裝、升級等),因爲這些功能保持在企業管理員管理之下。其他保持在企業管理員管理下的功能,不暴露給租戶,包括Tier-0配置和排除列表。

Projects中的網絡

對於顯露的功能,Projects下的消耗與Projects外的消耗是一樣的。創建Tier-1、網段和其他配置遵循相同的模式,它們使用分配的Tier-0(s)/Tier-0 VRF(s)和Edge Cluster(s)。關於分配的資源(配額)的信息可以在Projects標籤中找到。

對於顯露的特徵,Projects下的消耗與Projects外的消耗是一樣的。

Projects中的安全問題

Projects功能的主要目標之一是能夠委託安全策略管理,避免規則被應用於錯誤的虛擬機的風險。

當一個Projects被創建時,一個代表該Projects的組也被創建,同時還有一些默認的規則,這些規則能保證項目內正常通信。

Projects管理員可以通過改變默認規則、創建新規則等來管理他們自己的規則。這些規則將只適用於連接到其Projects段的虛擬機。所有其他的虛擬機(未連接到Projects段)將不會從Projects中看到,也不會受到Projects中配置的規則的影響。

現在可以讓用戶訪問NSX分佈式防火牆,同時消除用戶可能創建影響整個系統的規則風險。

如前所述,企業管理員在默認空間定義的規則可以適用於Projects中的那些虛擬機,並且按照優先級生效。這允許企業管理員設置環境,以創建適用於所有工作負載或適用於特定Projects的全局規則。這些全局規則不能由Projects用戶修改。

來自分佈式防火牆和網關防火牆的日誌將被貼上Projects信息的標籤,以便它們能夠被租戶識別和分離。

總結

NSX內的多租戶模型在數據層已經存在好幾年了,但Projects化管理的引入提高了這一能力的運行效率。在基於角色的訪問控制、配額、共享的配置方面,企業管理員現在可以通過更廣泛、更靈活的多租戶配置控制,由此提高效率。同時,租戶可以通過日誌和警報等功能更有效地管理自己的資源和配置。

同樣,Projects化管理不是必選項;如果需要,你可以繼續單獨在數據層管理多租戶,這樣做可能對較簡單的用例有意義,因爲你的主要目標是在網關之間實現邏輯分離。但對於更復雜的用例來說,Projects化管理增強了靈活性,創建和管理多租戶部署都比以往更容易了。

 

本文作者:Thomas Vigneron, VMware

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

有任何疑問,歡迎掃描下方公衆號聯繫我們哦~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章