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

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

文档版本:1.0

本操作在控制节点上完成

三. 安装neutron服务软件包

root@controller:~(keystone)# apt-get -y install neutron-server neutron-metadata-agent neutron-plugin-ml2 python-neutronclient

四. 修改neutron配置文件

# 由于官方配置文件修改较为麻烦,这里直接创建一个新的配置文件
root@controller:~(keystone)# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
root@controller:~(keystone)# vim /etc/neutron/neutron.conf
 
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
dhcp_agent_notification = True
allow_overlapping_ips = True
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = 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

# 数据库连接设置
[database]
connection = mysql+pymysql://neutron:root@controller/neutron_ml2

# Nova服务连接设置
[nova]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = root

[oslo_concurrency]
lock_path = $state_path/tmp
 
# 因为配置文件是新建的,这里把权限加回去
root@controller:~(keystone)# chmod 640 /etc/neutron/neutron.conf
root@controller:~(keystone)# chgrp neutron /etc/neutron/neutron.conf
 
# 修改元数据代理配置
root@controller:~(keystone)# vim /etc/neutron/metadata_agent.ini
 
# 第22行:去掉注释并添加控制节点IP
nova_metadata_host = 192.168.0.10
 
# 第34行:去掉注释并输入元数据代理共享密码
metadata_proxy_shared_secret = metadata_secret
 
# 第260行:去掉注释并添加控制节点IP
memcache_servers = 192.168.0.10:11211
 
# 修改二层插件配置
root@controller:~(keystone)# 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

五. 修改nova配置文件

root@controller:~(keystone)# vim /etc/nova/nova.conf
 
# 把以下设置添加到[DEFAULT]栏目里
⚠ 如果使用LinuxBridge作为虚拟交换机则为以下代码
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
 
⚠ 如果使用OVS作为虚拟交换机则为以下代码
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
 
# 在配置文件最后添加新的栏目并填写以下设置,元数据代理共享密码要跟之前设置的一样
[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:~(keystone)# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
 
# 同步数据库
root@controller:~(keystone)# su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head"
 
# 重启相关服务并设置自启动
root@controller:~(keystone)# systemctl restart neutron-server neutron-metadata-agent nova-api
root@controller:~(keystone)# systemctl enable neutron-server neutron-metadata-agent
Leave a Reply