openstack M 版 neutron網絡組件基礎入門

     在我們openstack學習當中,網絡組件neutron無疑是令很多人很難理解的,可以說要深入理解

了neutron組件,你基本完成了openstack 60%的學習,存儲方面只要不涉及到分佈式,剩下的基本都比較簡單了


wKioL1hkfNax-VLLAAPyr5atlEM580.png


相信很多人第一次看到這種圖的時候都會被嚇一跳,沒錯,這就是openstack  neutron組件裏面涉及到的數據流程,裏面涉及到的知識點很多很多


Openstack網絡模型中的幾個概念網絡:

Management Network: 管理網絡,連接所有節點。
External Network: 外部網絡,虛擬機通過此接口連通外部網絡
Data Network: 虛擬機網絡,提供之間內部數據線通訊的網絡.


這裏搭建過程略過,可以參考之前寫的L版本的搭建過程,這次環境如下,一個控制節點和一個計算節點

wKioL1hkffKToSySAACJQK_92G8629.png


上面是控制節點,三張網卡

eno1777736  10.10.80.133  作爲外部網絡

eno33554960  10.10.10.130  作爲管理網絡

eno50332184  作爲虛擬機網絡


支持的網絡類型有 flat vlan vxlan gre 而具體實現的這些的則有Linux bridge  和openvswitch


這裏我們以Linux bridge 來實現flat網絡爲例來說明,其他基本差不多,更多內容可以參閱官方文檔,這裏有趣的是在最新版本 N ,官方已經提供了 ansible來部署openstack的指導說明



Flat網絡,顧名思義是平面網絡,要求宿主機的物理網卡直接與Linux bridge連接,,每個flat network都會獨佔一個物理網卡,關鍵參數配置如下

[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
tenant_network_types = flat
 
[ml2_type_flat]
 
flat_networks = martin_flat  #這個名字自定義
[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
 
physical_interface_mappings = martin_flat:eno50332184 #名字保持與上面一樣,後面是flat網卡名稱


我們打開dashboard來創建第一個flat網絡

wKioL1hkgHTzm65lAADL4OHA-SM535.png


wKiom1hkgJSzs7_4AADqnb1tT6s447.png


wKiom1hkgLuhvselAAA-LZWVx18731.png



wKiom1hkgNjC9StPAADijP9Tpu8076.png



接下來觀察這些操作在服務器上面引起了什麼變化

wKiom1hkgSSDp7q5AABjKZAOXYc091.png



wKioL1hkgULTFmnIAABx_1ro5OQ268.png


接下來我們來創建第一臺虛擬機並關聯到flat網絡


wKiom1hkgaSy5LQ-AACCxoyhAfs664.png


wKiom1hkgbDhGlLmAABdMtaP3x4079.png


wKioL1hkgbvwf4uCAAA98-_cRxY901.png



觀察計算節點的變化情況

wKioL1hkggbzE4fjAABQzD3DAS8838.png

wKiom1hkghKBBz5iAACTzg0zUNQ575.png


wKioL1hkginwT16mAAAeCR3nUKg594.png


dhcp功能

Neutron提供dhcp服務的組件是dhcp agent ,在網絡節點上面運行,默認是通過dnsmasq是實現dhcp功能


配置文件在

[root@controller ~]# vim /etc/neutron/dhcp_agent.ini


interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver


wKiom1hkgqmgPZBkAABX9OIWR7c755.png

wKioL1hkgrfSrjHlAAAoon7uFjU031.png


ns-26782a82-61tap26782a82-61是一對veth pair,他們將9225f654-522b-478e-80bc-06bf2948cd08 連接到網橋 brq9225f654-52上面



wKioL1hkgsLBoZ-HAACH4K3ABdE060.png

以上這些都只是openstack  neutron網絡組件最基本的東西,裏面的內容實在是太多了,涉及到的知識點也很多 如 liunx bridge tap設備  虛擬對  namespace  openvswitch  虛擬交換機  虛擬路由器 iptables  高可用 dvr  等等,包括我自己還有很多的東西需要學習,但是大家無需害怕,就從最簡單的學習起,學會了一個,其他你照着模仿應該也能學會


最後給大家看一下 通過openvswith構建的vxlan網絡時,兩個虛擬機通訊的流程,有興趣的可以自己深入一下

wKiom1hkhJqi3kCaAABhK8gYTHk423.png


openvswitch流表結構

wKioL1hkhMmgOF4BAAB482pgT1E538.png


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