OpenStack—M Neutron(网络服务)

一、数据库配置

# mysql -uroot -p123456
MariaDB [(none)]> create database neutron;
MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'%' identified by '123456';
MariaDB [(none)]> exit

二、创建服务凭证和API端点

1.生效环境变量

# . admin-openrc

2.创建服务凭证

# 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

在这里插入图片描述
3.创建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

在这里插入图片描述

三、Controller节点—安装并配置Neutron组件

1.安装Neutron所需软件包

# yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables

2.配置Neutron所需组件
1)编辑/etc/neutron/neutron.conf文件

# vi /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
rpc_backend = rabbit
auth_strategy = keystone
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

[database]
connection = mysql+pymysql://neutron:123456@controller/neutron

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456

[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 = 123456

[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 = 123456

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

2)编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件

# vi /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security

[ml2_type_flat]
flat_networks = provider

[ml2_type_vxlan]
vni_ranges = 1:1000

[securitygroup]
enable_ipset = True

3)编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

# vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eno33554960(物理机的外网网卡名)

[vxlan]
enable_vxlan = True
local_ip = 192.168.100.10
l2_population = True

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

4)编辑/etc/neutron/l3_agent.ini文件
注:external_network_bridge = 为空值

# vi /etc/neutron/l3_agent.ini
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =       

5)编辑/etc/neutron/dhcp_agent.ini文件

# vi /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

6)编辑/etc/neutron/metadata_agent.ini文件
注:metadata代理密匙,自定义

# vi /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = 123456 

7)编辑/etc/nova/nova.conf文件
注: metadata_proxy_shared_secret 为刚刚设置的metadata代理密匙

# 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 = 123456
service_metadata_proxy = True
metadata_proxy_shared_secret = 123456

3.创建软链接

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

4.同步数据库

# 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

5.启动Nutron服务并设置开机自启

# systemctl restart openstack-nova-api.service
# systemctl start neutron-server.service neutron-linuxbridge-agent.service \
  neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service
# systemctl enable neutron-server.service neutron-linuxbridge-agent.service \
  neutron-dhcp-agent.service neutron-metadata-agent.service neutron-l3-agent.service

四、Compute节点—安装并配置Neutron组件

1.安装Neutron组件所需软件包

# yum install -y openstack-neutron-linuxbridge ebtables ipset

2.配置Neutron所需组件
1)编辑/etc/neutron/neutron.conf文件

# vi /etc/neutron/neutron.conf
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456

[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 = 123456

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

2)编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件

# vi /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eno33554960

[vxlan]
enable_vxlan = True
local_ip = 192.168.100.20
l2_population = True

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

3)编辑/etc/nova/nova.conf文件

# 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 = 123456

3.启动Neutron服务并设置开机自启

# systemctl restart openstack-nova-compute.service
# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service

五、验证Neutron服务

controller节点

# . admin-openrc
# neutron ext-list

在这里插入图片描述

# neutron agent-list

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40791253/article/details/83419712