溫馨提示×

溫馨提示×

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

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

OpenStack與Tungsten Fabric如何對接

發(fā)布時間:2021-12-28 10:14:16 來源:億速云 閱讀:190 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了OpenStack與Tungsten Fabric如何對接,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。


 

OpenStack與Tungsten Fabric如何對接


Tungsten Fabric的核心技術(shù)是基于BGP MPLS VPN技術(shù),通過BGP協(xié)議分發(fā)路由,包括二層轉(zhuǎn)發(fā)表的路由信息,同時交換VPN的信息,來實現(xiàn)鏈路隔離。通過SDN控制器和虛擬路由器,Tungsten Fabric可實現(xiàn)控制平面和轉(zhuǎn)發(fā)平面的分離。
 
除了OpenStack,Tungsten Fabric還支持Kubernetes和VMware vCenter等多種編排器,也能實現(xiàn)多個集群的網(wǎng)絡(luò)互聯(lián)。
 
Tungsten Fabric支持提供虛擬網(wǎng)絡(luò)的二層和三層隔離,以及負(fù)載均衡、服務(wù)鏈等功能,還支持使用Netconf來對一些物理設(shè)備進(jìn)行管理。
 
那么,OpenStack和TF對接的數(shù)據(jù)流是怎樣的呢?
 
首先,在OpenStack和Tungsten Fabric中,項目和用戶都是一一對應(yīng)的。
 
通過OpenStack的控制節(jié)點(diǎn),配置流程去使用插件,將收到的OpenStack請求轉(zhuǎn)換成對應(yīng)的Tungsten Fabric的請求,發(fā)送給TF的API,這個插件作為核心插件,平時在流程的配置文件里面。
 
隨后,vRouter通過XMPP協(xié)議接收TF控制節(jié)點(diǎn)下發(fā)的路由表。計算節(jié)點(diǎn)拿到所有虛擬機(jī)相關(guān)的信息后,分配資源,為虛擬機(jī)創(chuàng)建接口,將接口連接到對應(yīng)虛擬網(wǎng)絡(luò)的VRF中,這時再啟動虛擬機(jī)。虛擬機(jī)通過vRouter代理的DHCP獲取IP地址。
 
接下來,當(dāng)虛擬機(jī)創(chuàng)建成功后,怎么進(jìn)行數(shù)據(jù)通信?
 
我們來看OpenStack與Tungsten Fabric對接的數(shù)據(jù)轉(zhuǎn)發(fā)流程。在拓?fù)鋱D上,只有計算節(jié)點(diǎn)有租戶虛擬機(jī),才會在VRF創(chuàng)建routing instance,包括實例1a和2a。
OpenStack與Tungsten Fabric如何對接
流程如下:
  • VM 1a發(fā)送arp請求并由路由實例1a進(jìn)行響應(yīng);

  • VM 1a發(fā)送ip報文到路由實例1a,查詢ip信息轉(zhuǎn)發(fā)表后獲得了虛擬機(jī)2a的路由;

  • 對VM 1a發(fā)過來的數(shù)據(jù)包進(jìn)行MPLS和GRE封裝;

  • 數(shù)據(jù)包從計算節(jié)點(diǎn)1通過GRE Tunnel發(fā)送到計算節(jié)點(diǎn)2上;

  • 數(shù)據(jù)包在計算節(jié)點(diǎn)2上被解封裝,查詢MPLS轉(zhuǎn)發(fā)表之后發(fā)送到路由實例2a;

  • 路由實例2a查詢ip轉(zhuǎn)發(fā)表之后找到VM 2a對應(yīng)的地址與虛擬端口,并最終將數(shù)據(jù)包發(fā)送給VM 2a。



如何在MCP平臺部署


作為OpenStack社區(qū)代碼貢獻(xiàn)前五之一,Mirantis提供運(yùn)行OpenStack和Kubernetes所需的所有軟件、服務(wù)、培訓(xùn)和支持,并開發(fā)了MCP平臺作為功能豐富的自動化部署工具。
 OpenStack與Tungsten Fabric如何對接
MCP平臺架構(gòu)概覽
 
接下來看MCP的架構(gòu)。首先在云平臺中,通過整合一些工具來實現(xiàn)整個云環(huán)境升級和運(yùn)維的自動化,并且基礎(chǔ)設(shè)施內(nèi)的任何更改,如添加新節(jié)點(diǎn)或更改服務(wù)的監(jiān)聽端口,都是通過修改reclass的配置文件來完成的,實現(xiàn)了一種基礎(chǔ)設(shè)施即代碼的理念。
 
MCP同時支持選擇OVS或者Tunsten Fabric來作為OpenStack的網(wǎng)絡(luò)組件,OVS比較簡單,而且不需要額外的物理網(wǎng)關(guān)設(shè)備,但是功能上相對于Tunsten Fabric要少一些,而Tunsten Fabric不僅有服務(wù)鏈,網(wǎng)絡(luò)數(shù)據(jù)分析等功能,還是能支持多集群的SDN。
 
平臺上還有一臺OSS系統(tǒng),包括日志,監(jiān)控,告警等功能,都是基于成熟的開源軟件來實現(xiàn)的。
 
MCP上的SDN數(shù)據(jù)流量方面,Tungsten Fabric通過建立在data網(wǎng)絡(luò)之上的overlay網(wǎng)絡(luò),來處理在MCP集群中的東西向和南北向流量。
 
Tungsten Fabric控制器與vRouter之間的控制平面通信使用XMPP協(xié)議。當(dāng)一臺虛擬機(jī)在計算節(jié)點(diǎn)上被創(chuàng)建時,TF控制器會給對應(yīng)的vRouter下發(fā)該虛擬機(jī)所在虛擬網(wǎng)絡(luò)的轉(zhuǎn)發(fā)表。
 
Tungsten Fabric控制器與網(wǎng)關(guān)之間的控制通信使用iBGP協(xié)議,將帶有ASN和target的虛擬網(wǎng)絡(luò)的路由發(fā)布到網(wǎng)關(guān)路由器上。相當(dāng)于建立了虛擬網(wǎng)絡(luò)和網(wǎng)關(guān)路由器vrf的映射關(guān)系,并且通過ibgp協(xié)議來維護(hù)這種關(guān)系,實時的更新,下發(fā)路由表。
 
在MCP集群中,一個最小的OpenStack + Tungsten Fabric生產(chǎn)環(huán)境的部署,需要至少3臺物理機(jī)作為KVM節(jié)點(diǎn)來實現(xiàn)服務(wù)的高可用,運(yùn)行虛擬控制平面所有的虛擬機(jī),以及2-3臺物理機(jī)作為OpenStack計算節(jié)點(diǎn)。
 
  • cfg節(jié)點(diǎn),作為salt-master管理集群中所有的節(jié)點(diǎn);

  • ctl節(jié)點(diǎn),OpenStack Controller節(jié)點(diǎn),運(yùn)行OpenStack各組件相關(guān)的API;

  • ntw節(jié)點(diǎn),作為TF控制器,其上運(yùn)行了包括Tungsten Fabric的API和配置數(shù)據(jù)庫等服務(wù)以及中間件;

  • nal節(jié)點(diǎn),其上運(yùn)行了兩個容器,基于Tungsten Fabric計量和分析包的服務(wù),如分析API、警報生成器和數(shù)據(jù)收集器,以及中間件;

  • cmp節(jié)點(diǎn),OpenStack計算節(jié)點(diǎn),其上運(yùn)行了OpenStack的nova-compute和Tungsten Fabric的vRouter。


在demo演示環(huán)節(jié),F(xiàn)rank詳細(xì)介紹了基礎(chǔ)環(huán)境和部署流程:
 
  • 手動部署KVM節(jié)點(diǎn),在上面把鏡像源的cfg節(jié)點(diǎn)運(yùn)行起來;

  • 進(jìn)行操作系統(tǒng)安裝后,物理節(jié)點(diǎn)自動加入master的管控;

  • 去salt master節(jié)點(diǎn)上修改reclass配置,在reclass里面,每個組件都有一個對應(yīng)目錄,進(jìn)入各組件的目錄中按照需求和實際的環(huán)境去修改reclass配置;

  • 在OpenStack目錄定義OpenStack安裝哪些組件,在tf目錄中定義tf配置網(wǎng)關(guān)路由器等信息;

  • 然后登錄到DriveTrain的Jenkins上,通過指定的pipeline以及對應(yīng)的傳入?yún)?shù),完成各個組件的部署;

  • 在參數(shù)行填入名稱,部署對應(yīng)組件,pipeline可以重復(fù)執(zhí)行;

  • 登錄到OpenStack Controller節(jié)點(diǎn),獲取虛擬網(wǎng)絡(luò)信息, 那么會發(fā)現(xiàn)這里有三個網(wǎng)絡(luò),這三個網(wǎng)絡(luò)都是Tungsen Fabric里面默認(rèn)創(chuàng)建的網(wǎng)絡(luò),這表明neutron現(xiàn)在能夠拿到Tungsen Fabric中的網(wǎng)絡(luò)信息,也就以為這neutron與Tungsen Fabric已經(jīng)完成了實際的對接;

  • 在neutron plugin配置文件中,定義了IP地址和端口;

  • 登錄Tungsten Fabric的控制器節(jié)點(diǎn),上面運(yùn)行了一個容器,通過doctrail allcontrail-status命令可以看到在這臺容器上運(yùn)行的所有的Tungsten Fabric服務(wù),包括五個部分:Control,Config,Config Database,Web UI,Support Services;

  • 在Tungsten Fabric的管理面查看TF控制節(jié)點(diǎn)的peer列表,控制節(jié)點(diǎn)與兩臺vRouter完成了XMPP的連接,那么一旦有新的路由更新,TF控制節(jié)點(diǎn)會自動下發(fā)到對應(yīng)的路由條目到vRouter, 并且計算節(jié)點(diǎn)上有會有相應(yīng)的VRF被創(chuàng)建;

  • 在數(shù)據(jù)平面(vRouter)上,流量過濾由網(wǎng)絡(luò)策略和安全組派生的acl控制。

  • 當(dāng)vRouter轉(zhuǎn)發(fā)模塊獲得第一個包時,它創(chuàng)建一個數(shù)據(jù)流并將包發(fā)送到vRouter agent。當(dāng)vRouter agent獲取數(shù)據(jù)包時,它首先應(yīng)用安全組的ACL和網(wǎng)絡(luò)策略的ACL。

  • 通過ACL的數(shù)據(jù)包才會查找VRF以獲得下一跳的地址。否則,數(shù)據(jù)包將會被丟棄。


部署流程完成后,F(xiàn)rank針對這個環(huán)境中的OpenStack和Tungsten Fabric的基本網(wǎng)絡(luò)功能,以及“負(fù)載均衡即服務(wù)”功能進(jìn)行了演示。
 
OpenStack最初的負(fù)載均衡功能是跟neutron結(jié)合到一起,后來從neutron剝離出來,以達(dá)到更好的功能。
 
在OpenStack和Tungsten Fabric對接后,負(fù)載均衡由Tungsten Fabric接管,在服務(wù)鏈里看到HAproxy-loadbalance-template模板,配置左側(cè)和右側(cè)接口,左側(cè)VIP和監(jiān)聽器,右側(cè)后端服務(wù)節(jié)點(diǎn),后端需要配置兩塊網(wǎng)卡,增加了復(fù)雜性。在2.0版本上,支持同一側(cè)配置,在同一個子網(wǎng)內(nèi)。
 
當(dāng)我們使用Neutron LBaaS命令去創(chuàng)建虛擬IP和池的時候,Tungsten Fabric通過插件監(jiān)聽到相關(guān)的請求,進(jìn)而去創(chuàng)建一個服務(wù)實例。然后調(diào)度器將隨機(jī)選擇一臺計算節(jié)點(diǎn),并在上面實例化一個Linux網(wǎng)絡(luò)命名空間,并在命名空間中配置HA代理。然后再選擇另外一臺計算節(jié)點(diǎn),進(jìn)行相同的操作,作為備用HA代理實例。而且由svc-monitor服務(wù)去調(diào)度vRouter事實的更新本地對應(yīng)的HAproxy配置文件。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“OpenStack與Tungsten Fabric如何對接”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

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

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

AI