版本信息
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 |
ubuntu安裝詳見:Ubuntu16.04.5以lvm方式安裝全記錄
openstack安裝詳見:OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStack
local網絡
local網絡與其他網絡和節點隔離。不會與宿主機的任何物理網卡相連,也不關聯任何的 VLAN ID,local網絡中的instance只能與位於同一節點上同一網絡的instance通信,local網絡主要用於單機測試。
目標:cirros01和cirros02互通,cirros03與cirros01、cirros02不通,三個虛擬機都與宿主機不通。網絡拓撲如下:
一、製作鏡像
上傳介質cirros-0.3.3-x86_64-disk.img至/tmp目錄,鏡像下載地址:http://download.cirros-cloud.net/
製作鏡像:
root@openstack-controller:~# su - stack stack@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
查看新建的image:
二、在ML2中配置local network
1.Neutron默認使用ML2作爲core plugin,控制節點和計算節點分別編輯ML2的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini
tenant_network_types = local mechanism_drivers = linuxbridge type_drivers = local,flat,vlan,gre,vxlan,geneve
2.重啓neutron服務
stack@openstack-controller:~$ sudo systemctl restart devstack@q*
三、創建local network
1.創建local-network01
下一步,配置子網
子網爲172.16.1.0/24
子網網段爲172.16.1.2至172.16.1.50
2.創建localnetwork02
localnetwork01創建完成,同理創建localnetwork02,網段爲172.16.1.51至172.16.1.100
四、創建instance
因爲DHCP agent在控制節點上運行,local網絡的流量只能侷限在本節點之內,故計算節點部署的instance發送的DHCP請求無法到達控制節點,無法獲取到ip地址。
本文的instance都位於控制節點
1.查看實例類型
stack@openstack-controller:~$ nova flavor-list
本文選擇m1.tiny
2.查看主機名和zone
stack@openstack-controller:~$ nova service-list
3.指定控制節點啓動虛擬機cirros01和cirros02,網絡爲localnetwork01
stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli --availability-zone nova:openstack-controller --nic net-name=localnetwork01 cirros01
stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli --availability-zone nova:openstack-controller --nic net-name=localnetwork01 cirros02
4.新建虛擬機cirros03,網絡爲localnetwork02
stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli --availability-zone nova:openstack-controller --nic net-name=localnetwork02 cirros03
5.控制檯查看新建實例
6.查看虛擬網卡
命令查看tap
root@openstack-controller:~# brctl show
控制面板查看
可以看到Linux bridge01 brq91c5618d-18包含的虛擬網卡爲tap08d6746a-10和tap4909a73b-da,Linux bridge02 brq7bd9076e-84包含的虛擬網卡爲tap3efd4160-79。
五、測試
分別登陸cirros01、cirros02、cirros03,互ping和ping宿主機
1.cirros01
獲取的ip爲172.16.1.19
ping cirros02通的,ping cirros03和宿主機不通。
2.cirros02
獲取的ip爲172.16.1.12
ping cirros01通的,ping cirros03和宿主機不通。
3.cirros03
獲取的ip爲172.16.1.52
ping cirros01、cirros02和宿主機都不通。
測試結果符合預期。