安装Neutron
Neutron为其他服务组件提供网络连接功能,如Nova计算服务组件;同时提供API给用户使用;支持多个网络供应商的设备和技术。请在控制节点和计算节点安装Neutron。在控制节点和计算节点场景安装Neutron的操作有所不同,操作过程中请仔细分辨。
在控制节点创建Neutron数据库
- 创建Neutron数据库。
- 以root用户登录数据库。
mysql -u root -p
- 在数据库中,创建Neutron数据库并授权。
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';
将NEUTRON_DBPASS替换为Neutron数据库用户的密码,请根据实际情况进行设置。密码中请勿包含字符“#@$”,支持特殊字符“&=- _ . + ! * ()”
- 退出数据库。
exit
- 以root用户登录数据库。
- 创建Neutron服务凭据。
source ~/.admin-openrc 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
密码请勿包含字符“#@$”,支持特殊字符“&=- _ . + ! * ()”
- 创建Neutron 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
在控制节点安装和配置Neutron(以Self service-OVS为例)
在Self service-OVS网络类型的控制节点执行以下操作。
- 安装组件。
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch openstack-neutron-metering-agent ebtables
- 编辑配置文件“/etc/neutron/neutron.conf”。
- 打开文件。
vi /etc/neutron/neutron.conf
- 按“i”进入编辑模式,添加如下内容。
#a . 配置数据库访问 [database] connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron #b. 启用ML2插件,禁用其他插件。 [DEFAULT] core_plugin = ml2 service_plugins = router,metering,qos,placement,trunk,segments transport_url = rabbit://openstack:RABBIT_PASSWORD@controller auth_strategy = keystone notify_nova_on_port_status_changes = true notify_nova_on_port_data_changes = true #c. 配置身份访问。 [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_PASSWORD #d. 配置[nova]模块参数。 配置文件中默认没有[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 = NOVA_PASSWORD #e. 配置锁定路径。 [oslo_concurrency] lock_path = /var/lib/neutron/tmp #f. 配置placement。配置文件中默认没有[placement]模块参数,需要新增。 [placement] region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://controller:5000/v3 username = placement password = PLACEMENT_PASSWORD
- username以及password字段在安装Nova以后根据Nova信息配置,或者在此处预定Nova的密码,在之后安装和配置Nova时保持一致。
- 将NEUTRON_DBPASS替换为Neutron数据库密码,将NEUTRON_PASSWORD替换为Neutron用户密码,将PLACEMENT_PASSWORD替换为Placement用户密码,请根据实际情况进行设置。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 编辑ML2插件“/etc/neutron/plugins/ml2/ml2_conf.ini”。
- 打开文件。
vi /etc/neutron/plugins/ml2/ml2_conf.ini
- 按“i”进入编辑模式,添加如下内容。
#启用Flat、VLAN和VXLAN网络。 #默认是没有的,需要新建 [ml2],[ml2_type_flat],[ml2_type_vlan],[ml2_type_vxlan] [ml2] type_drivers = flat,vlan,vxlan tenant_network_types = flat,vlan,vxlan mechanism_drivers = openvswitch extension_drivers = port_security,qos [ml2_type_flat] flat_networks = provider [ml2_type_vlan] network_vlan_ranges = provider [ml2_type_vxlan] vni_ranges = 1:1000
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改OVS配置文件“/etc/neutron/plugins/ml2/openvswitch_agent.ini”。
- 打开文件。
vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[securitygroup] enable_ipset = true enable_security_group = true firewall_driver = openvswitch [agent] tunnel_types = vxlan extensions = qos [ovs] bridge_mappings = provider:br-ex tunnel_bridge = br-tun local_ip = 192.168.16.2 resource_provider_bandwidths = br-ex:10000000:10000000
192.168.16.0子网用于OpenStack业务流量的通信。上述192.168.16.2为当前节点业务流量通信IP地址,请根据实际情况进行替换。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改dhcp配置文件“/etc/neutron/dhcp_agent.ini”。
- 打开文件。
vi /etc/neutron/dhcp_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[DEFAULT] dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = true force_metadata = true interface_driver = openvswitch
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改l3 agent配置文件“/etc/neutron/l3_agent.ini”。
- 打开文件。
vi /etc/neutron/l3_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[DEFAULT] interface_driver = openvswitch
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改MetaData agent配置文件“/etc/neutron/metadata_agent.ini”。
- 打开文件。
vi /etc/neutron/metadata_agent.ini
- 按“i”进入编辑模式,修改如下内容。
[DEFAULT] nova_metadata_host = 192.168.14.2 metadata_proxy_shared_secret = NEUTRON_PASSWORD
- 192.168.14.2为控制节点的管理IP地址,请根据实际情况进行替换。
- NEUTRON_PASSWORD为Neutron用户密码,请根据实际情况进行替换。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改系统配置文件“/etc/sysctl.conf”。
- 编辑文件。
vi /etc/sysctl.conf
- 按“i”进入编辑模式,修改如下内容。
net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 使配置生效。
sysctl -p
- 编辑文件。
- 创建网络初始化。
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
- 启动网络服务并配置为系统引导时启动。
systemctl enable neutron-server.service neutron-openvswitch-agent.service neutron-metadata-agent.service neutron-dhcp-agent.service neutron-l3-agent.service neutron-metering-agent.service systemctl start neutron-server.service neutron-openvswitch-agent.service neutron-metadata-agent.service neutron-dhcp-agent.service neutron-l3-agent.service neutron-metering-agent.service
- 添加OVS网桥。
ovs-vsctl add-br br-ex
- 查看服务运行状态。
- 查看服务状态。
systemctl status neutron-openvswitch-agent
- 查看日志是否正常。
vi /var/log/neutron/openvswitch-agent.log
- 查看服务状态。
在计算节点安装和配置Neutron(以Self service-OVS为例)
- 安装组件。
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch ebtables
- 配置Neutron组件,编辑“/etc/neutron/neutron.conf”文件。
- 打开文件。
vi /etc/neutron/neutron.conf
- 按“i”进入编辑模式,添加如下内容。
#a. 配置RabbitMQ 消息队列访问。 [DEFAULT] transport_url = rabbit://openstack:RABBIT_PASSWORD@controller auth_strategy = keystone #b. 配置身份访问服务。 [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_PASSWORD #c.配置锁定路径 [oslo_concurrency] lock_path = /var/lib/neutron/tmp
将RABBIT_PASSWORD替换为RabbitMQ中OpenStack账户的密码,将NEUTRON_PASSWORD替换为Neutron用户密码,请根据实际情况进行设置。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 配置元数据代理,修改“/etc/neutron/metadata_agent.ini”文件。
- 打开文件。
vi /etc/neutron/metadata_agent.ini
- 按“i”进入编辑模式,添加如下内容,配置元数据主机和共享密钥。
[DEFAULT] nova_metadata_host = controller metadata_proxy_shared_secret = NEUTRON_PASSWORD
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改dhcp配置文件“/etc/neutron/dhcp_agent.ini”。
- 打开文件。
vi /etc/neutron/dhcp_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[DEFAULT] enable_isolated_metadata = true force_metadata = true interface_driver = openvswitch
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 配置l3 agent,修改“/etc/neutron/l3_agent.ini”文件。
- 打开文件。
vi /etc/neutron/l3_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[DEFAULT] interface_driver = openvswitch
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 配置openvswitch agent,修改“/etc/neutron/plugins/ml2/openvswitch_agent.ini”文件。
- 打开文件。
vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
- 按“i”进入编辑模式,添加如下内容。
[securitygroup] enable_ipset = true enable_security_group = true firewall_driver = openvswitch [agent] tunnel_types = vxlan extensions = qos [ovs] local_ip = 192.168.16.4
192.168.16.0/24子网用于OpenStack业务流量的通信。上述192.168.16.4为当前节点业务面网络IP,用户可根据实际环境部署调整IP。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 修改系统配置文件“/etc/sysctl.conf”。
- 打开文件。
vi /etc/sysctl.conf
- 按“i”进入编辑模式,修改如下内容。
net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 使配置生效。
sysctl -p
- 打开文件。
- 启动网络服务并配置为系统引导时启动。
systemctl enable neutron-openvswitch-agent.service neutron-metadata-agent.service neutron-dhcp-agent.service neutron-l3-agent.service systemctl start neutron-openvswitch-agent.service neutron-metadata-agent.service neutron-dhcp-agent.service neutron-l3-agent.service
计算节点的其余服务根据用户自身需求启动。
- 查看计算节点运行状态。
systemctl status neutron-openvswitch-agent
验证Neutron
在控制节点执行以下命令,验证Neutron。
source ~/.admin-openrc openstack network agent list
父主题: 部署并验证