一、
1.1创建neutron数据库
授予对neutron数据库的适当访问权限
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE neutron;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123qwe
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123qwe';
1.2 输入admin凭据以访问仅管理CLI命令
source /home/admin-openrc.sh
创建neutron用户,
将admin角色添加到neutron用户,
创建neutron服务实体,
创建网络服务API端点
openstack user create --domain default --password-prompt neutron
openstack role add --project service --user neutron admin
openstack service create --name neutron --description "OpenStack Networking" network
openstack endpoint create --region RegionOne \
network public http://controller:9696
openstack endpoint create --region RegionOne \
network internal http://controller:9696
openstack endpoint create --region RegionOne \
network admin http://controller:9696
3.配置提供商网络
安装组件
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
编辑/etc/neutron/neutron.conf
在本[database]节中,配置数据库访问,
在本[DEFAULT]节中,启用模块化第2层(ML2)插件并禁用其他插件,
在本[DEFAULT]节中,配置RabbitMQ 消息队列访问,
在[DEFAULT]和[keystone_authtoken]部分,配置身份服务访问,
在[DEFAULT]和[nova]部分中,配置网络以通知计算网络拓扑变化,
在该[oslo_concurrency]部分中,配置锁定路径。
[database]
connection = mysql+pymysql://neutron:123qwe@controller/neutron
[DEFAULT]
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
core_plugin = ml2
service_plugins =
transport_url = rabbit://openstack:123qwe@controller
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 123qwe
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 123qwe
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
4.配置模块化二层(ML2)插件
编辑/etc/neutron/plugins/ml2/ml2_conf.ini
vi /etc/neutron/plugins/ml2/ml2_conf.ini
在本[ml2]节中,启用平面和VLAN网络,
在本[ml2]节中,禁用自助服务网络,
在本[ml2]节中,启用Linux桥机制,
在本[ml2]节中,启用端口安全扩展驱动程序,
在该[ml2_type_flat]部分中,将提供商虚拟网络配置为平面网络,
在本[securitygroup]节中,启用ipset以提高安全组规则的效率,
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[securitygroup]
enable_ipset = true
5.配置Linux桥接器
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
在本[linux_bridge]节中,将提供商虚拟网络映射到提供商物理网络接口,
在本[vxlan]节中,禁用VXLAN覆盖网络,
在本[securitygroup]节中,启用安全组并配置Linux bridge iptables防火墙驱动程序,
[linux_bridge]
physical_interface_mappings = provider:enp3s0
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
6.配置DHCP代理
编辑/etc/neutron/dhcp_agent.ini
vi /etc/neutron/dhcp_agent.ini
在本[DEFAULT]节中,配置Linux网桥接口驱动程序Dnsmasq DHCP驱动程序,并启用隔离元数据,以便提供商网络上的实例可以通过网络访问元数据
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
7.配置元数据代理
编辑/etc/neutron/metadata_agent.ini
在本[DEFAULT]节中,配置元数据主机和共享密钥
vi /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = 123qwe
8.配置计算服务以使用网络服务
编辑/etc/nova/nova.conf
在本[neutron]节中,配置访问参数,启用元数据代理,并配置密码
vi /etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123qwe
service_metadata_proxy = true
metadata_proxy_shared_secret = 123qwe
9.完成安装
网络服务初始化脚本
填充数据库
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
重新启动Compute API服务
启动网络服务并将其配置为在系统启动时启动
#systemctl restart openstack-nova-api.service
# systemctl enable neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service
# systemctl start neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service
10 验证
输入admin凭据以访问仅管理CLI命令
列出加载的扩展以验证成功启动的 neutron-server过程
列出代理商,以验证中子剂的成功发射
source /home/admin-openrc.sh
openstack extension list --network
openstack network agent list