Tungsten Fabric架構解析丨TF怎麼運作?
Hi!這裡是TF中文社群關於Tungsten Fabric架構解析內容的第二篇,解讀TF如何運作。本文介紹TF控制器和vRouter的軟體體系結構,以及在虛擬機器或容器啟動時,vRouters與Tungsten Fabric控制器之間的互動。
Tungsten Fabric支援Orchestrator(編排器)
Tungsten Fabric控制器整合了OpenStack或Kubernetes等雲管理系統,其功能是確保在建立虛擬機器(VM)或容器時,根據控制器或協調器中指定的網路和安全策略為其提供網路連線。
Tungsten Fabric由兩個主要軟體組成:
• Tungsten Fabric 控制器– 一組維護網路和網路策略模型的軟體服務,為實現高可用性,通常在多個伺服器上執行。
• Tungsten Fabric vRouter– 安裝在執行工作負載(虛擬機器或容器)的每個主機上,vRouter執行封包轉發,並實施網路和安全策略。
Tungsten Fabric的典型部署如下圖所示:
Tungsten Fabric控制器透過軟體外掛與協調器整合在一起,該外掛實現了協調器的網路服務。
例如,OpenStack的Tungsten Fabric外掛實現了Neutron API,kube-network-manager_和_CNI(容器網路介面)元件使用Kubernetes k8s API監聽網路相關事件。
Tungsten Fabric vRouter取代Linux橋接器和IP表,或計算主機上的Open vSwitch網路,控制器配置vRouters以實現所需的網路和安全策略。
VM的封包如果要轉發到不同主機上,vRouter會加MPLS over UDP / GRE或VXLAN封裝,其中外部標頭的目標是執行目標VM的主機的IP地址。控制器負責在每個實現網路策略的vRouter的每個VRF中安裝路由集。
例如:預設情況下,同一網路中的虛擬機器可以相互通訊,但不能與不同網路中的虛擬機器進行通訊,除非在網路策略中特別允許。控制器和vRouters之間的通訊是透過一種廣泛使用且靈活的訊息傳遞協議XMPP實現的。
雲自動化的一個關鍵特性,是使用者可以為其應用程式請求資源,而無需瞭解如何或在何處提供資源的詳細資訊。
這通常是透過一個入口網站完成的,該入口網站提供了一組服務產品,使用者可以從中選擇,並將其轉換為API呼叫到底層系統,包括雲協調器,以啟動具有必要記憶體、磁碟和CPU的虛擬機器或容器,滿足使用者要求的能力。
服務產品可以像具有特定記憶體、分配給它的磁碟和CPU的虛擬機器一樣簡單,也可以包括由多個預配置軟體例項組成的整個應用程式堆疊。
和Orchestrator的互動
Tungsten Fabric控制器和vRouter的架構,以及與協調器的互動,如下圖所示:
該圖顯示了一個協調器工作虛擬機器管理程式和虛擬機器,這和容器協調器的資訊流類似,例如Kubernetes(帶有Tungsten Fabric的Kubernetes容器)。
主機上執行的工作負載的每個介面都連線到VRF,包含相應網路的L2和L3轉發表,其中包含該介面的IP地址。
vRoute r實現物理路由器執行的整合橋接和路由(IRB)功能。 vRouter僅具有位於該主機上有網 絡介面的VRF,包括連線到主機物理介面的Fabric VRF。 使用VRF可以使不同的虛 擬網路具有重疊的IP和MAC地址,不會定義任何網路策略來允許它們之間的流量 。
Tungsten Fabric虛擬化網路使用封裝隧道在不同主機上的VM之間傳輸封包,而封 裝和解封裝在Fabric VRF和VM VRF之間發生。
建立新的虛擬工作負載時,會在特定於orchestrator的外掛中看到一個事件並將其傳送到控制器,然後控制器會向代理傳送請求,以便在虛擬網路的VRF中安裝路由,然後代理將其配置在轉發器裡。
使用單個介面在新VM上配置網路的邏輯流程如下:
1. 使用UI、CLI或北向REST API在Orchestrator或Tungsten Fabric中定義網路和網路策略。 網路主要定義為IP地址池,在建立VM時將分配給介面。
2. 使用者請求由協調器啟動VM,包括其介面所在的網路。
3. 協調器選擇要執行的新VM的主機,並指示該主機上的計算代理程式獲取其映像並啟動VM。
4. Tungsten Fabric外掛從協調器的網路服務接收事件或API呼叫,指示它為將要啟動的新VM的介面設定網路。 這些指令將轉換為Tungsten Fabric REST呼叫併傳送到Tungsten Fabric控制器。
5. Tungsten Fabric控制器向vRouter代理傳送請求,以便將新VM虛擬介面連線到指定的虛擬網路。 vRouter代理指示vRouter轉發器將VM介面連線到虛擬網路的VRF。如果不存 在,則建立VRF,並且介面連線到它。
6. 計算代理啟動VM,通常將其配置為使用DHCP為其每個介面請求IP地址。 vRouter代理DHCP請求,然後對介面IP地址,預設閘道器和DNS伺服器地址進行響應。
7. 一旦介面啟動且具有來自DHCP的IP地址,vRouter安裝到VM的IP和MAC地址路由,並將下一跳設為VM虛擬介面。
8. vRouter為介面分配標籤,並在MPLS表中安裝標籤路由。 vRouter向控制器傳送XMPP訊息,該訊息包含到新VM的路由。該路由具有執行vRouter的伺服器的IP地址的下一跳,並使用剛剛分配的標籤指定封裝協議。
9. 在網路策略所允許下,控制器將新VM路由分發到其他vRouters,包含VM位於同一網路和其他網路。
10. 在網路策略所允許下,控制器將其他VM的路由傳送到新VM的vRouter。
在此過程結束時,已更新資料中心中所有vRouter的VRF中的路由已經有新VM的資訊。
更多Tungsten Fabric解析文章
郵箱:tfzw001@163.com
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957171/viewspace-2668456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tungsten Fabric架構解析丨TF如何編排架構
- Tungsten Fabric架構解析丨TF的服務鏈架構
- Tungsten Fabric架構解析丨TF如何收集、分析、部署?架構
- Tungsten Fabric架構解析丨TF支援API一覽架構API
- Tungsten Fabric架構解析丨TF基於應用程式的安全策略架構
- Tungsten Fabric架構解析|TF主要特點和用例架構
- Tungsten Fabric架構解析丨vRouter的部署選項架構VR
- Tungsten Fabric架構解析丨詳解vRouter體系結構架構VR
- TF實戰丨使用Vagrant安裝Tungsten Fabric
- Tungsten Fabric架構和最新技術進展丨TF成立大會演講實錄架構
- Tungsten Fabric入門寶典丨TF元件的七種“武器”元件
- Tungsten Fabric知識庫丨這裡有18個TF補丁程式,建議收藏
- Tungsten Fabric知識庫丨構建、安裝與公有云部署
- Tungsten Fabric入門寶典丨編排器整合
- Tungsten Fabric知識庫丨vRouter內部執行探秘VR
- Tungsten Fabric知識庫丨更多元件內部探秘元件
- Tungsten Fabric入門寶典丨多編排器用法及配置
- Tungsten Fabric入門寶典丨首次啟動和執行指南
- TF功能開發路線圖:盤點2021年Tungsten Fabric聚焦領域
- Tungsten Fabric入門寶典丨關於安裝的那些事(下)
- Tungsten Fabric入門寶典丨關於叢集更新的那些事
- Tungsten Fabric入門寶典丨8個典型故障及排查Tips
- Tungsten Fabric入門寶典丨關於服務鏈、BGPaaS及其它
- Tungsten Fabric入門寶典丨開始第二天的工作
- Tungsten Fabric知識庫丨測試2000個vRouter節點部署VR
- Tungsten Fabric與K8s整合指南丨建立隔離名稱空間K8S
- Tungsten Fabric入門寶典丨說說L3VPN及EVPN整合
- Tungsten Fabric入門寶典丨關於多叢集和多資料中心
- Tungsten Fabric解決方案指南-Gateway MXGateway
- Fabric架構演變之路架構
- 利用DDP技術提升Tungsten Fabric vRouter效能VR
- 2.03 hyperledger fabric系統架構架構
- Tungsten Fabric解決方案指南-Kubernetes整合
- Tungsten Fabric知識庫丨關於OpenStack、K8s、CentOS安裝問題的補充K8SCentOS
- 裁員、停運、調組織架構 ,位元組遊戲怎麼了架構遊戲
- OpenStack上海峰會觀感丨Tungsten Fabric在2019開源基礎設施峰會
- Fabric基礎架構原理(4):鏈碼架構
- 微服務架構怎麼選?微服務架構