neutron服务安装配置(controller)
###1. 创建数据库
mysql
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
flush privileges;
exit
###2.创建服务凭证
openstack user create --domain default --password-prompt neutron
User Password: (neutron)
Repeat User Password: (neutron)
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 56dbc71875364c8298760b01ecc6ae56 |
| name | neutron |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
###3.向neutron用户添加角色
openstack role add --project service --user neutron admin
###4.创建neutron服务
openstack service create --name neutron --description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | 93b2c751c47d4886b762b27ae9e8376e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
###5.创建网络服务API
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
[root@controller ~(keystone)]# openstack endpoint list | grep neutron
| 2d8b214f500541fb8c2fc781e8e21d0f | RegionOne | neutron | network | True | internal | http://controller:9696 |
| 33d9bab5b7064311bf7557d85d7b0b66 | RegionOne | neutron | network | True | admin | http://controller:9696 |
| 4e758cd61bfe46e0a86a02be0966e376 | RegionOne | neutron | network | True | public | http://controller:9696 |
######选择网络方式, 这里采用ovs+vxlan 模式
###6.安装软件包
yum --enablerepo=centos-openstack-train,epel -y install openstack-neutron openstack-neutron-ml2
###7. /etc/neutron/neutron.conf 配置
[root@controller ~(keystone)]# egrep -v "^$|^#" /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit://openstack:password@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[cors]
[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
[keystone_authtoken]
www_authenticate_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 = neutron
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[privsep]
[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 = nova
[ssl]
###8./etc/neutron/metadata_agent.ini 配置
[root@controller ~(keystone)]# egrep -v "^$|^#" /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_host = controller
metadata_proxy_shared_secret = METADATA_SECRET
[cache]
###9. /etc/neutron/plugins/ml2/ml2_conf.ini配置
[root@controller ~(keystone)]# egrep -v "^$|^#" /etc/neutron/plugins/ml2/ml2_conf.ini
[DEFAULT]
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch
extension_drivers = port_security
[ml2_type_flat]
flat_networks = physnet1
[ml2_type_vxlan]
vni_ranges = 1:1000
###10. /etc/nova/nova.conf 添加neutron配置
# add follows into [DEFAULT] section
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
#add follows to the end : Neutron auth info
[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 = neutron
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET
###10 网络服务初始化脚本需要/etc/neutron/plugin.ini指向ML2插件配置文件
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
###11.填充数据库:
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
###12.重启服务
systemctl restart openstack-nova-api.service
systemctl start neutron-server neutron-metadata-agent
systemctl enable neutron-server neutron-metadata-agent
###13. 验证在controller节点,neutron agent
[root@controller ~(keystone)]# openstack network agent list
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
| 1685e764-1747-49f1-95dd-3e155f6782d2 | Metadata agent | controller | None | :-) | UP | neutron-metadata-agent |