配置網絡節點:
網絡節點需要安裝的包:
- openstack-neutron.noarch
- openstack-neutron-openvswitch.noarch
- openvswitch.x86_64
# yum install -y openstack-neutron.noarch openstack-neutron-openvswitch.noarch openvswitch.x86_64
網絡節點需要運行br-ex br-int br-tun,這些網橋是由openvswitch 管理的,所以先啓動起來openvswitch
# systemctl start openvswitch
# systemctl enable openvswitch
# systemctl is-active openvswitch
查看並創建網橋:
# ovs-vsctl list-br
# ovs-vsctl add-br br-ex
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-tun
將控制節點的neutron.conf同步到網絡節點和計算節點上:
[root@neutron ml2]# vim /usr/lib/systemd/system/neutron-l3-agent.service [Unit] Description=OpenStack Neutron Layer 3 Agent After=syslog.target network.target
[Service] Type=simple User=neutron ExecStart=/usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agen t --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l3- agent --log-file /var/log/neutron/l3-agent.log PrivateTmp=false KillMode=process
[Install] WantedBy=multi-user.target |
neutron-l3-agent 調用neutron.conf,所以將neutron server的配置文件複製到網絡節點和計算節點上
- 網絡節點配置DHCP服務,修改dhcp_agent.ini文件:
- 配置路由服務,修改l3_agent.ini:
- 修改元數據代理: [先訪問網絡節點上的元數據代理,再訪問元數據(controller server)然後應用apply]
#keystone 信息等:
後期裝nova的nova的密碼: 提前設定在[neutron] section 中
配置VM是從eth0出去找網絡節點eth0:
寫入相關local接口的ip地址即可:
- 啓動neutron在網絡節點的服務:
# systemctl list-unit-files | grep neutron
# systemctl start neutron-dhcp-agent.service neutron-l3-agent.service neutron-metadata-agent.service neutron-openvswitch-agent.service neutron-ovs-cleanup.service
#########################################################################################################
配置計算節點:
啓動ovs服務:
# systemctl start openvswitch
新建網橋:
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-tun
計算節點只需要啓動openvswitchagent服務,只需要修改/plugins/ml2/openvswitch_agent.ini,修改此文件:
最後網絡節點和計算節點都重啓下服務:
網絡節點:
計算節點:
# systemctl restart neutron-openvswitch-agent.service
從計算節點和網絡節點都可以看到br-tun的連接關係:
創建網絡來測試:
- 首先橋接br-ex,將eno33554992橋接到br-ex上
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
IPADDR=192.168.253.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
TYPE=OVSPort
OVS_BRIDGE=br-ex
BOOTPROTO=none
DEVICE=eno33554992
ONBOOT=yes
DEVICETYPE=ovs
- 重啓網絡:
- ###解釋bridge關聯性,下圖顯示的是網絡節點的VPN關係,同理計算節點也是如此,從而形成了VPN通道傳輸數據
- 創建外部網絡:
# neutron net-create --router:external --provider:network_type vxlan --provider:segmentation_id 1 --tenant-id services pub-ex
- 創建外部網絡網段:
# neutron subnet-create --name ex_ip --allocation-pool start=192.168.253.20,end=192.168.253.40 pub-ex 192.168.253.0/24
- 創建內部私有網絡:
# neutron net-create sub_1
- 創建內部私有網絡網段:
# neutron subnet-create --name sub1_ip sub_1 10.0.0.0/24
- 創建路由器:
# neutron router-create r1
- 路由連接到外部網絡:
# neutron router-gateway-set r1 pub-ex
- 路由連接到私有網絡的子網裏:
# neutron router-interface-add r1 sub1_ip