OpenStack實踐(三):Linux Bridge方式實現Flat Network

版本信息

openstack版本pike
控制節點主機openstack-controller(ubuntu 16.04.5) 172.27.34.37
計算節點主機openstack-computer(ubuntu 16.04.5) 172.27.34.38
鏡像cirros-0.3.3-x86_64-disk.img
宿主機環境
esxi 6.5.0


ubuntu安裝詳見Ubuntu16.04.5以lvm方式安裝全記錄

openstack安裝詳見OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStack


flat網絡

flat網絡是無vlan tagging的網絡。flat網絡中的instance能與位於同一網絡的instance通信,並且可以跨多個節點。


目標:cirros01和cirros02互通。網絡拓撲如下:

圖片.png


一、製作鏡像

上傳介質cirros-0.3.3-x86_64-disk.img至/tmp目錄,鏡像下載地址:http://download.cirros-cloud.net/

製作鏡像:

root@openstack-controller:~# su - stackstack@openstack-controller:~$ source devstack/openrc admin admin
stack@openstack-controller:~$ glance image-create --name cirros-cli --file /tmp/cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --progress

圖片.png

查看新建的image:

圖片.png

圖片.png


二、在ML2中配置flat network
1.Neutron默認使用ML2作爲core plugin,控制節點和計算節點分別編輯ML2的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini

tenant_network_types = flat
mechanism_drivers = linuxbridge
type_drivers = local,flat,vlan,gre,vxlan,geneve
flat_networks = default
physical_interface_mappings = default:ens192

如果要配置兩個flat network,可以做如下設置

flat_networks = default,flat02
physical_interface_mappings = default:ens192,flat02:ens224


2.重啓neutron服務

stack@openstack-controller:~$ sudo systemctl restart devstack@q*



三、創建flat network

創建flat-network01

圖片.png

創建flatnetwork01

圖片.png

物理網絡爲default,與ml2_conf.ini中的參數flat_networks保持一致。

圖片.png

子網爲172.16.2.0/24,地址段爲172.16.2.50~172.16.2.100

圖片.png

創建完成

圖片.png



四、創建instance

1.查看實例類型

stack@openstack-controller:~$ nova flavor-list

圖片.png

本文選擇m1.tiny


2.查看主機名和zone

stack@openstack-controller:~$ nova service-list

圖片.png


3.新建cirros01

啓動cirros01,節點爲openstack-controller,網絡爲flatnetwork01

stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-controller --nic net-name=flatnetwork01 cirros01

圖片.png


4.新建cirros02

啓動cirros02,節點爲openstack-computer,網絡爲flatnetwork01

stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-computer --nic net-name=flatnetwork01 cirros02

圖片.png


5.控制檯查看新建實例

圖片.png


6.查看虛擬網卡

控制節點:

root@openstack-controller:~# brctl show

圖片.png

計算節點:

圖片.png

控制面板查看端口信息

圖片.png

可以看到Linux bridge01 brq9a198413-3b包含的虛擬網卡爲cirros01的tap7d88a7f4-a7和cirros02的tap79e963af-dd。


五、測試

分別登陸cirros01、cirros02互ping

1.開啓宿主機網卡混雜模式

由於是在esxi虛擬機上做的測試,網卡需開啓混雜模式

圖片.png

圖片.png默認不支持混雜模式

圖片.png

編輯網卡信息

圖片.png

開啓混着模式


2.cirros01

圖片.png

獲取的ip爲172.16.2.63

圖片.png

ping cirros02通的。


3.cirros02

圖片.png

獲取的ip爲172.16.2.56

圖片.png

ping cirros01通的。


另外,由於虛擬機網卡開啓了混雜模式,當新建同一網段的flat網絡flatnetwork02並和flatnetwork01同一網段時,即都是172.16.2.0/24,則flatnetwork01和flatnetwork02下的vm能互通,若flatnetwork02的subnet與flatnetwork01不同,比如爲172.16.3.0/24,則兩個網絡下的vm實例不同。




測試結果符合預期。



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