Openstack基础环境配置(八):控制节点Neutron安装与配置
文章目录
1. 创建数据库1)创建Neutron数据库,并进行授权2)创建Neutron服务凭证3)创建Neutron服务的API端点
2. 配置网络选项1)安装网络节点2)编辑/etc/neutron/neutron.conf文件进行配置3)编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件进行配置ML24)编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini配置Linux 桥接代理5)编辑 /etc/neutron/l3_agent.ini文件配置layer-3 agent服务6)编辑/etc/neutron/dhcp_agent.ini文件配置DHCP代理服务
3. 完成安装1)网络服务初始化脚本需要指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini的符号连接/etc/neutron/plugin.ini。如果该符号连接未创建,执行以下命令创建2)初始化数据库3)重启计算API服务4)启动网络服务并将其配置为开机自动启动
1. 创建数据库
1)创建Neutron数据库,并进行授权
mysql -u root -p create database neutron; grant all privileges on neutron.* to ‘neutron’@‘localhost’ identified by ‘neutron_pwd’; grant all privileges on neutron.* to ‘neutron’@’%’ identified by ‘neutron_pwd’;
"neutron_pwd":为设置neutron数据库密码 验证授权是否成功:
mysql -h 主机名 -u 数据库名 -p
2)创建Neutron服务凭证
首先要先加载admin凭据的环境变量 . admin-openrc.sh 创建neutron用户 openstack user create --domain default --password-prompt neutron 将管理员角色授予该用户 openstack role add --project service --user neutron admin 创建neutron的服务条目 openstack service create --name neutron --description “OpenStack Networking” network
3)创建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 将"controller"替换为本机IP地址
2. 配置网络选项
1)安装网络节点
yum install openstack-neutron yum install openstack-neutron-ml2 yum install openstack-neutron-linuxbridge ebtables
2)编辑/etc/neutron/neutron.conf文件进行配置
[database]
# ...
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
将NEUTRON_DBPASS改为neutron数据库授权的密码 将controller改为IP地址
[DEFAULT]
# ...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
RABBIT_PASS改为rabbit消息队列密码 controller改为IP地址
[DEFAULT]
# ...
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 = NEUTRON_PASS
[DEFAULT]
# ...
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
在配置文件末尾添加
[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 = NOVA_PASS
[oslo_concurrency]
# ...
lock_path = /var/lib/neutron/tmp
3)编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件进行配置ML2
[ml2]
# ...
type_drivers = flat,vlan,vxlan
[ml2]
# ...
tenant_network_types = vxlan
[ml2]
# ...
mechanism_drivers = linuxbridge,l2population
[ml2]
# ...
extension_drivers = port_security
[ml2_type_flat]
# ...
flat_networks = provider
[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
[securitygroup]
# ...
enable_ipset = true
4)编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini配置Linux 桥接代理
[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = true
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = true
# OVERLAY_INTERFACE_IP_ADDRESS 替换成controller ip地址
[securitygroup]
# ...
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
5)编辑 /etc/neutron/l3_agent.ini文件配置layer-3 agent服务
[DEFAULT]
# ...
interface_driver = linuxbridge
6)编辑/etc/neutron/dhcp_agent.ini文件配置DHCP代理服务
[DEFAULT]
# ...
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
配置元数据代理
编辑etc/neutron/metadata_agent.ini 文件 vi /etc/neutron/metadata_agent.ini 配置元数据主机和共享密码 nova_metadata_host = controller metadata_proxy_shared_secret = METADATA_SECRET
编辑 /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 = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET
3. 完成安装
1)网络服务初始化脚本需要指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini的符号连接/etc/neutron/plugin.ini。如果该符号连接未创建,执行以下命令创建
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
2)初始化数据库
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
查看初始化是否成功
3)重启计算API服务
重启服务 systemctl restart openstack-nova-api.service 查看状态 systemctl status openstack-nova-api.service
4)启动网络服务并将其配置为开机自动启动
设置开机自动启动 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 查看状态 systemctl status neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service