溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能

發(fā)布時間:2020-08-10 22:09:37 來源:ITPUB博客 閱讀:204 作者:TF中文社區(qū) 欄目:互聯(lián)網(wǎng)科技
在混合多云的世界里,Kubernetes是如此流行,已經(jīng)成為應(yīng)用統(tǒng)一部署和管理的事實標(biāo)準(zhǔn),而Tungsten Fabric與Kubernetes的集成,更增強了后者的網(wǎng)絡(luò)性能和安全性,幫助實現(xiàn)業(yè)務(wù)落地。
4月28日,在TF中文社區(qū)線上直播活動【 TF Live 】中,社區(qū)技術(shù)代表楊雨與大家進(jìn)行了在線交流,看看TF與K8s能碰撞出怎樣的火花。

直播活動由 TF中文社區(qū) SDNLAB聯(lián)合舉辦。

【pdf文檔下載】

https://tungstenfabric.org.cn/assets/uploads/files/kubernetes-sdn-tungsten-fabric.pdf  

【高清視頻下載鏈接】

https://pan.baidu.com/s/1cnwFJ3pmoY7HPnLCH37hbw  
提取碼:guxu


楊雨曾負(fù)責(zé)多個大型金融云平臺、企業(yè)云平臺的建設(shè),專注于運維自動化、SDN和分布式存儲。作為2016年就接觸Tungsten Fabric的老兵,他在4月28日的直播與互動中輸出了很多硬核干貨,和大家分享了多年的技術(shù)積累和實踐。
 

TF就是基于BGP MPLS的VPN

Tungsten Fabric曾用名OpenContrail,2018年3月遷移到Linux基金會。一句話概括TF的核心技術(shù),就是基于BGP MPLS VPN技術(shù)。

BGP MPLS VPN技術(shù)在運營商的廣域網(wǎng)絡(luò)有了20多年的應(yīng)用歷史,是一個比較成熟的技術(shù)。運營商基于BGP MPLS VPN技術(shù),基于同一套網(wǎng)絡(luò)基礎(chǔ)架構(gòu)和線路的基礎(chǔ)上,為不同的網(wǎng)絡(luò)租戶提供了跨廣域網(wǎng)的虛擬專線服務(wù)。

BGP MPLS VPN技術(shù)的核心就是通過BGP協(xié)議作為控制平面,實現(xiàn)不同站點之間的路由和VPN信息的交互,BGP協(xié)議就是一個分布式的控制器。數(shù)據(jù)平面就是有MPLS標(biāo)簽的隧道實現(xiàn)傳輸,做到流量的隔離,同時也可以借助ECMP等技術(shù)來做鏈路的負(fù)載均衡。
Tungsten Fabric將廣域網(wǎng)中的BGP MPLS VPN技術(shù)運用到了數(shù)據(jù)中心。在虛擬化的環(huán)境中,原來部署在運營商端點的PE,現(xiàn)在變成了部署在每個計算節(jié)點上的vRouter。換句話說,vRouter承擔(dān)了PE的角色。不同虛擬網(wǎng)絡(luò)的虛擬機,接入不同VRF后實現(xiàn)了隔離,通過隧道協(xié)議實現(xiàn)數(shù)據(jù)傳輸。在控制平面上,MAC地址A和B的通信,都是通過BGP協(xié)議實現(xiàn)信息的下發(fā)和交互。
 
在多云互聯(lián)、性能和擴展性方面,Tungsten Fabric都將SDN提升到了一個新的水平,在不同的數(shù)據(jù)中心(包括公有云和私有云)的部署中,輕松實現(xiàn)了虛擬機、容器、物理機的統(tǒng)一SDN環(huán)境。
 
在性能上,Tungsten Fabric支持原生Kernel轉(zhuǎn)發(fā),可以限速跑滿一個萬兆的網(wǎng)卡。通過控制器形成集群和分布式數(shù)據(jù)庫的采用,Tungsten Fabric具有非常好的規(guī)模擴展性。在目前的實際部署中,基本都大于200個計算節(jié)點,到上千個計算節(jié)點。通過不同控制器,還可以建立EBGP鄰居,實現(xiàn)跨多個集群的虛擬網(wǎng)絡(luò)的互聯(lián)。
 
TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能 TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能
圖:TF功能一覽
 
Tungsten Fabric對接的負(fù)載類型,包含虛擬機、Linux虛擬機、容器、裸機等,這些工作負(fù)載都通過TF統(tǒng)一的SDN控制器實現(xiàn)互聯(lián)。而上層的云管平臺,包括OpenStack、K8s、VMware,以及一些公有云平臺,也都可以實現(xiàn)多云的統(tǒng)一SDN管理。
 
更重要的是,Tungsten Fabric可以提供豐富的網(wǎng)絡(luò)功能。在不同的虛擬網(wǎng)絡(luò)(如VS棧的虛擬網(wǎng)絡(luò)或GRE的虛擬網(wǎng)絡(luò))上,基于不同的三層列表、二層路由表來實現(xiàn)隔離,同時也提供DHCP、DNS、以及IP地址管理等功能,以及防火墻、安全策略、負(fù)載均衡、服務(wù)鏈、監(jiān)控、分析等功能。
 
這么多功能怎么實現(xiàn)的?就是通過Tungsten Fabric的控制器。
 

控制器基于BGP作為SDN的控制平面,實現(xiàn)相應(yīng)的路由條目、二層轉(zhuǎn)發(fā)表的管理,同時支持OVSDB實現(xiàn)對物理設(shè)備的配置。物理機可以通過VLAN接入TOR交換機,再轉(zhuǎn)成VXLAN,和相應(yīng)的容器或虛擬機、虛擬網(wǎng)絡(luò)互通,這些都是通過BGP和OVSDB實現(xiàn)的。

TF如何加持K8s

實際上,Tungsten Fabric一開始主要支持Openstack這樣的虛擬化的集群,而對于Kubernetes的對接,有些概念還需要進(jìn)行對應(yīng)關(guān)系的映射。比如Pod的擴展,相當(dāng)于TF里面的一個虛擬機,一個Interface,五個Instance-IP。
 
再比如K8s里面有很多Service類型,在TF這邊相應(yīng)地對應(yīng)于ECMP的負(fù)載均衡。怎么理解?傳統(tǒng)的負(fù)載均衡方案,比如F5設(shè)備等,是在四層包括七層實現(xiàn)負(fù)載均衡,而TF使用BGP路由技術(shù),虛擬IP的下一個,可能就是一個真實物理服務(wù)器的IP,可以使用路由里多個下一跳的條目,來做等價路徑的轉(zhuǎn)發(fā),在路由層面實現(xiàn)比較高效的負(fù)載均衡。
 
另外,K8s的Ingress,相當(dāng)于7層的一個負(fù)載均衡,使用內(nèi)置的HAproxy來實現(xiàn)。
 
Kubernetes
Tungsten Fabric
Namespace
Project
Pod
Virtual-machine, Interface, Instance-ip
Service
基于ECMP的負(fù)載均衡
Ingress
基于HAProxy的7層負(fù)載均衡
External IP
Floating IP
Network Policy
基于pod selector的安全組
 

(對此,網(wǎng)友也提出很多Tungsten Fabric與K8s的技術(shù)問題)

 

Q: TF是用來替代K8s使用的Calico這種網(wǎng)絡(luò)的嗎?

首先,兩者定位是一樣的,Calico核心原理也是基于BGP的。但在功能實現(xiàn)程度上,Calico是基于IP TABLE的,不帶VPN功能,只相當(dāng)于TF的一個子集。在多云互聯(lián)的場景,包括一些隔離的場景,和TF是有很大差距的。Calico的好處是比較簡單,這種應(yīng)用IPinIP的模式?jīng)]有overlay的開銷,比較適合在云上部署,因為云的網(wǎng)絡(luò)已經(jīng)是overlay網(wǎng)絡(luò)了。簡單的總結(jié):Calico是一個簡單可依賴的網(wǎng)絡(luò)方案,適合小規(guī)模的集群或部署在云上的K8S集群。TF在可擴展性、多云互聯(lián)和網(wǎng)絡(luò)隔離能力上會更強。

Q: TF是否是取代K8s內(nèi)的kube-proxy?

Kube-proxy在TF中只會應(yīng)用在NodePort的場景。Kube-Proxy會在用戶態(tài)監(jiān)聽相應(yīng)的端口,轉(zhuǎn)發(fā)給vRouter,由vRouter來實現(xiàn)相關(guān)的DNAT功能。

Q: TF使用了BGP,需要讓企業(yè)內(nèi)部的接入交換機、核心交換機都開啟BGP嗎?

TF對于設(shè)備的要求可以分幾塊來看:
  1. 出口網(wǎng)關(guān)Cloud Gateway,這個是TF Overlay虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)的主要連接點,需要支持MP-BGP和GRE隧道或者UDP隧道;如果需要TF管理配置下發(fā),也需要支持NetConf;

  2. BMS TOR交換機,用來實現(xiàn)物理機VLAN網(wǎng)絡(luò)和TF的虛擬網(wǎng)絡(luò)實現(xiàn)二層橋接的設(shè)備,需要支持EVPN-VXLAN協(xié)議;

  3. Underlay網(wǎng)絡(luò)交換機,就是用于連接各個計算節(jié)點,控制節(jié)點和BMS TOR以及Cloud Gateway的底層網(wǎng)絡(luò)。由于TF是在vRouter, BMS TOR, Cloud Gateway實現(xiàn)了隧道的解封包,所以對于Underlay的網(wǎng)絡(luò)交換機特性沒有特殊的要求,只要各節(jié)點之間三層可達(dá)即可。小規(guī)??梢杂渺o態(tài)路由,大規(guī)模可以用OSPF或者BGP;

TF對于設(shè)備是沒有鎖定的,只要支持相應(yīng)的協(xié)議,都可以使用。但是不同廠商的協(xié)議的支持程度會有差異。如果不想做大量的測試和適配工作,Juniper的產(chǎn)品是優(yōu)先選擇,其它品牌的產(chǎn)品就需要在投入生產(chǎn)前做一些測試驗證。


Q: K8s Service天然就有LB功能,這個和您講的ECMP提供的負(fù)載均衡有什么關(guān)聯(lián)呢?

K8s的LB功能也是由TF來實現(xiàn)了,只不過還是基于路由層面的ECMP來實現(xiàn)均衡,當(dāng)要控制URL映射的時候,路由層面就做不了了。TF會使用Harpoxy來實現(xiàn)。

(關(guān)于TF與K8s的對接,楊雨在直播中進(jìn)行了Demo演示,展示了Tungsten Fabric基本功能,與Kubernetes的集成對接,以及Service與External IP演示等,感興趣的朋友,點擊下方鏈接觀看)

 
鏈接:
https://pan.baidu.com/s/1cnwFJ3pmoY7HPnLCH37hbw  
提取碼:guxu
在兩者的對接方面,Tungsten Fabric提供了標(biāo)準(zhǔn)接口,與K8s的集成還是基于CNI對接的,需要幾個組件之間進(jìn)行配合。
 
包括Kube-manager對于K8s Pod相關(guān)變動的監(jiān)聽,并將相應(yīng)事件轉(zhuǎn)成動作,調(diào)用TF API完成網(wǎng)絡(luò)、接口創(chuàng)建等。
 
擴展起來后,TF的CNI組件負(fù)責(zé)查詢Pod接口信息,把Pod的veth插入到vRouter里面去,完成網(wǎng)絡(luò)的對接。

Q: TF和K8s的資源映射關(guān)系是雙向同步的嗎?

是的,TF資源映射的關(guān)系是雙向同步的,以K8s為準(zhǔn),K8s這邊刪除就刪除,K8s創(chuàng)建就做相應(yīng)的創(chuàng)建。

Q: namespace的隔離是邏輯隔離、底層網(wǎng)絡(luò)還是互通的,VRF是基于網(wǎng)絡(luò)的還是什么?

默認(rèn)情況下,不做任何指定的話,namespace是沒有隔離的。可以開啟隔離功能,或者指定就要隔離,在安全策略里,就不允許訪問新創(chuàng)建的namespace,namespace之間就不會通。Tungsten Fabric對于不同網(wǎng)絡(luò)接口之間的訪問策略,都是比較靈活的。

Q: TF可以生成環(huán)境中的流量展示信息么?可以看到服務(wù)之間的訪問關(guān)系,支持root cause分析么?便于管理員在故障期間分析是哪里出的問題。

流量分析是支持的,可以抓包,也可以通過service chain做鏡像分析,安全策略等訪問的展示,可視化可以基于Tungsten Fabric的界面去做,也可以接口做二次開發(fā)。

以上就是本次TF Live直播的精彩內(nèi)容,這里有一些TF+K8s的指導(dǎo)文章,可以作為參考資料。

 

往期回顧

  TF Live丨KK/建勛:多云、SDN,還有網(wǎng)工進(jìn)化論
TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能
Tungsten Fabric +K8s集成指南系列

  • 第一篇:部署準(zhǔn)備與初始狀態(tài)
  • 第二篇:創(chuàng)建虛擬網(wǎng)絡(luò) 
  • 第三篇:創(chuàng)建安全策略
  • 第四篇:創(chuàng)建隔離命名空間

TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能
Tungsten Fabric +K8s輕松上手系列

  1. TF Carbide 評估指南--準(zhǔn)備篇
  2. 通過Kubernetes的服務(wù)進(jìn)行基本應(yīng)用程序連接
  3. 通過Kubernetes Ingress進(jìn)行高級外部應(yīng)用程序連接
  4. 通過Kubernetes命名空間實現(xiàn)初步的應(yīng)用程序隔離
  5. 通過Kubernetes網(wǎng)絡(luò)策略進(jìn)行應(yīng)用程序微分段


TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能 TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能
TF Live 直播回放丨楊雨:Tungsten Fabric如何增強Kubernetes的網(wǎng)絡(luò)性能

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI