openstack使用openvswitch實現vxlan組網


 openstack使用openvswitch實現vxlan

 

openstack環境:

1 版本:ocata 

2 系統:ubuntu16.04.2 

3 控制節點 1個 + 計算節點 1個 

4 控制節點網卡為ens33,ip = 172.171.5.200 ens34 manual模式 無IP

  

一 下載openswitch

controller :

apt-get install  neutron-openvswitch-agent

compute :

apt-get install neutron-openvswitch-agent

二 配置openvswitch

配置 /etc/neutron/plugins/ml2/ml2_conf.ini 文件

etc/neutron/plugins/ml2/openvswitch_agent.ini 在[ovs]增加

配置 /etc/neutron/l3_agent.ini

配置修改/etc/neutron/plugins/ml2/ml2_conf.ini 設置如下

配置修改/etc/neutron/plugins/ml2/openvswitch_agent.ini 設置如下

增加用於外部網絡的網橋

ovs-vsctl add-br br-ex 

向外部網橋添加物理網卡

ovs-vsctl add-port br-ex ens33 

 

 三  dashboard配置租戶網絡

1 使用admin用戶登錄,創建外部網絡。

 

 2 以demo用戶登錄,創建內網。因為在后台配置時已經選擇了內部網絡為vxlan,所以demo用戶創建的網絡為vxlan。

 

 這里配置的網段是創建的實例能夠分配的地址。 

 

 

創建好內網和外網之后,創建一個路由器連接兩個網段。在這個路由器上完成的功能是NAT,當實例出外網時,將內網地址NAT成外網地址以便訪問公網。

 當網絡創建好之后,網絡拓撲應該是如下圖所示。藍色為公網網段,黃色為私網網段,中間是路由器,連接黃色的為開啟的實例。

四  底層網絡分析

 與Linux-bridge不同,使用Openvswitch作為網絡驅動之后創建vxlan網絡會生成在controller生成三個網橋,分別是:

br-int 連接 Dnsmasq,流表邏輯處理

br-ex 連接網卡,出外網網橋

br-tun 隧道端點

在compute節點生成兩中網橋,分別是:

br-int 連接虛擬機

br-tun 隧道端點,連接到controller。

如下圖所示,分別是controller與compute節點的br-tun分析。 

 local_ip為本地隧道端點IP地址,remote_ip為對端隧道端點IP地址。本環境是管理網卡為隧道端點,也可以使用單獨的網卡。

具體如下圖所示:

 

下圖為 compute節點的br-int網橋,網橋上掛有兩個端點,第一個是與實例有關,第二個連接br-tun

具體見下圖compute節點

 

下圖為controller節點的端口信息,第一個為controller上br-int與br-tun的連接;第二個是dhcp的設備;第三個是dashboard中創建的路由器的一端;第四個是br-int與br-ex的連接。

                                               

上圖對應的連接為下圖所示                   

              

下圖為controller節點的br-ex網橋,三個端口分別是:

1 路由器的另一端(還有一端在br-int)

2 自身環回口,類似linux中的環回口。

3 外網網卡

上圖對應的關系如下圖所示:

 

 

 openstack使用openvswitch實現的VxLAN就如下圖所示。圖片出處為about 雲 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM