OpenStack Queens三节点从零部署-安装部署Neutron(三)

最后修改时间:2018年6月28日

文档版本:1.0

本操作在计算节点上完成

一. 安装neutron软件包

⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
root@compute:~# apt-get -y install neutron-common neutron-plugin-ml2 neutron-plugin-linuxbridge-agent
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
root@compute:~# apt-get -y install neutron-common neutron-plugin-ml2 neutron-openvswitch-agent

二. 修改neutron配置文件

# 由于官方配置文件修改较为麻烦,这里直接创建一个新的配置文件
root@compute:~# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
root@compute:~# vim /etc/neutron/neutron.conf
 
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
# 消息队列连接设置
transport_url = rabbit://openstack:root@controller

[agent]
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf

# Keystone连接设置
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = root

[oslo_concurrency]
lock_path = $state_path/tmp
 
# 因为配置文件是新建的,这里把权限加回去
root@compute:~# chmod 640 /etc/neutron/neutron.conf
root@compute:~# chgrp neutron /etc/neutron/neutron.conf
 
# 修改二层插件配置
root@compute:~# vim /etc/neutron/plugins/ml2/ml2_conf.ini
 
# 第129行:添加相应设置(tenant_network_types设置暂时留空,之后会设置)
⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types =
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
 
# 第262行:去掉注释并添加firewall_driver
⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
 
# 最后一行:取消注释
enable_ipset = True
 
⚠ 如果二层交换的虚拟使用LinuxBridge还需要执行以下操作
root@compute:~# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
 
# 第235行:取消注释并添加本节点的数据网络IP
local_ip = 172.16.0.30

三. 修改nova配置文件

root@compute:~# vim /etc/nova/nova.conf
 
# 把以下设置添加到[DEFAULT]栏目里
⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300
 
# 在配置文件最后添加新的栏目并填写以下设置,元数据代理共享密码要跟之前设置的一样
[neutron]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = root
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata_secret

四. 创建连接文件、重启服务

# 创建连接文件
root@controller:~# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
 
# 重启服务
⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
root@compute:~# systemctl enable neutron-linuxbridge-agent
root@compute:~# systemctl restart nova-compute neutron-linuxbridge-agent
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
root@compute:~# systemctl enable openvswitch-switch neutron-openvswitch-agent
root@compute:~# systemctl restart nova-compute openvswitch-switch neutron-openvswitch-agent
Leave a Reply