openstack-o版-neutron安装

    Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和
××× 等。Neutron 提供了一个灵活的框架,经过配置,不管是开源仍是商业软件均可以被用来实现
这些功能。下面咱们来搭建neutron服务。
mysql

    

    建立数据库linux

[root@wang01 ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE neutron;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
    ->   IDENTIFIED BY 'NEUTRON_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
    ->   IDENTIFIED BY 'NEUTRON_DBPASS';

    建立neutron用户
sql

[root@wang02 ~]# openstack user create --domain default --password NEUTRON_PASS neutron
wKiom1lkJ26CRXBGAAAeifvFjL8374.png数据库


    将admin角色添加到neutron项目中api

[root@wang02 ~]# openstack role add --project service --user neutron admin网络


    建立neutron实体app

[root@wang02 ~]#  openstack service create --name neutron \
>   --description "OpenStack Networking" network
wKiom1lkKcOi-DX4AAAfpYfx9bU095.png负载均衡


    建立neutron的api框架

[root@wang02 ~]# openstack endpoint create --region RegionOne \
>   network public http://wang02:9696
wKiom1lkKmXyvnboAAArMLprHmQ670.pngdom


[root@wang02 ~]#  openstack endpoint create --region RegionOne \
>   network internal http://wang02:9696
wKiom1lkKqzxZyUgAAAtEOo9VV0971.png


[root@wang02 ~]# openstack endpoint create --region RegionOne \
>   network admin
http://wang02:9696

wKiom1lkKuehdLucAAAsdn5Ogl4580.png


    下载neutron的安装包

[root@wang02 ~]# yum install openstack-neutron openstack-neutron-ml2 \
>   openstack-neutron-linuxbridge ebtables -y

    修改配置文件

<1> /etc/neutron/neutron.conf

[root@wang02 ~]# sed -i '/^\[database\]$/a\
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@wang01/neutron' /etc/neutron/neutron.conf
[root@wang02 ~]# sed -i '/^\[DEFAULT\]$/a\
core_plugin = ml2 \
service_plugins = \
transport_url = rabbit://openstack:rabbit_pass@wang01 \
auth_strategy = keystone \
notify_nova_on_port_status_changes = true \
notify_nova_on_port_data_changes = true' /etc/neutron/neutron.conf
[root@wang02 ~]# sed -i '/^\[keystone_authtoken\]$/a\
auth_uri = http://wang02:5000 \
auth_url = http://wang02:35357 \
memcached_servers = wang01:11211 \
auth_type = password \
project_domain_name = default \
user_domain_name = default \
project_name = service \
username = neutron \
password = neutron_pass' /etc/neutron/neutron.conf
[root@wang02 ~]# sed -i '/^\[nova\]$/a\
auth_url = http://wang02:35357 \
auth_type = password \
project_domain_name = default \
user_domain_name = default \
region_name = RegionOne \
project_name = service \
username = nova \
password = nova_pass' /etc/neutron/neutron.conf
[root@wang02 ~]# sed -i '/^\[oslo_concurrency\]$/a\
lock_path = /var/lib/neutron/tmp' /etc/neutron/neutron.conf


<2>/etc/neutron/plugins/ml2/ml2_conf.ini

[root@wang02 ~]# cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.bak
[root@wang02 ~]# cat /etc/neutron/plugins/ml2/ml2_conf.ini.bak | grep -v ^# | uniq > /etc/neutron/plugins/ml2/ml2_conf.ini

[root@wang02 ~]# sed -i '/^\[ml2\]$/a\
type_drivers = flat,vlan,gre,vxlan,geneve \
tenant_network_types = flat,vlan,gre,vxlan,geneve \
mechanism_drivers = linuxbridge \
extension_drivers = port_security' /etc/neutron/plugins/ml2/ml2_conf.ini
[root@wang02 ~]# sed -i '/^\[ml2_type_flat\]$/a\
flat_networks = provider' /etc/neutron/plugins/ml2/ml2_conf.ini
[root@wang02 ~]# sed -i '/^\[securitygroup\]$/a\
enable_ipset = true' /etc/neutron/plugins/ml2/ml2_conf.ini


<3>/etc/neutron/dhcp_agent.ini

[root@wang02 ~]# cp /etc/neutron/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.bak
[root@wang02 ~]# cat /etc/neutron/dhcp_agent.ini.bak | grep -v ^# | uniq > /etc/neutron/dhcp_agent.ini

[root@wang02 ~]# sed -i '/^\[DEFAULT\]$/a\
interface_driver = linuxbridge \
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq \
enable_isolated_metadata = true' /etc/neutron/dhcp_agent.ini


<5>/etc/neutron/plugins/ml2/linuxbridge_agent.ini

[root@wang02 ~]#cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
[root@wang02 ~]#cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak | grep -v ^# | uniq > /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[root@wang02 ~]#sed -i '/^\[linux_bridge\]$/a\
physical_interface_mappings = provider:eth0' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[root@wang02 ~]#sed -i '/^\[vxlan\]$/a\
enable_vxlan = false' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[root@wang02 ~]#sed -i '/^\[securitygroup\]$/a\
enable_security_group = true \
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver' /etc/neutron/plugins/ml2/linuxbridge_agent.ini


<4>/etc/neutron/metadata_agent.ini

[root@wang02 ~]#cp /etc/neutron/metadata_agent.ini /etc/neutron/metadata_agent.ini.bak
[root@wang02 ~]#cat /etc/neutron/metadata_agent.ini.bak | grep -v ^# | uniq > /etc/neutron/metadata_agent.ini

[root@wang02 ~]#sed -i '/^\[DEFAULT\]$/a\
nova_metadata_ip = ctrl.ryb.edu \
metadata_proxy_shared_secret = metadata_secret' /etc/neutron/metadata_agent.ini

[root@wang02 ~]#sed -i '/^\[neutron\]$/a\
url = http://ctrl.ryb.edu:9696 \
auth_url = http://ctrl.ryb.edu: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' /etc/nova/nova.conf


[root@wang02 ~]#ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini


    同步数据库

[root@wang02 ~]# 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


    重启NOVA服务

[root@wang02 ~]# systemctl restart openstack-nova-api.service

    

    启动NEUTRON服务
[root@wang02 ~]# systemctl enable neutron-server.service \
neutron-linuxbridge-agent.service \
neutron-dhcp-agent.service \
neutron-metadata-agent.service

[root@wang02 ~]# systemctl restart neutron-server.service \
neutron-linuxbridge-agent.service \
neutron-dhcp-agent.service \
neutron-metadata-agent.service


    计算节点配置


    下载安装包

[root@wang03 ~] yum install openstack-neutron-linuxbridge ebtables ipset

    修改配置文件

[root@wang03 ~] cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
[root@wang03 ~] cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak | grep -v ^# | uniq > /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[root@wang03 ~] sed -i '/^\[linux_bridge\]$/a\
physical_interface_mappings = provider:eth0' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[root@wang03 ~] sed -i '/^\[vxlan\]$/a\
enable_vxlan = false' /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[root@wang03 ~] sed -i '/^\[securitygroup\]$/a\
enable_security_group = true \
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver' /etc/neutron/plugins/ml2/linuxbridge_agent.ini


    修改NOVA的配置文件

[root@wang03 ~] sed -i '/^\[neutron\]$/a\
url = http://wang02:9696 \
auth_url = http://wang02:35357 \
auth_type = password \
project_domain_name = default \
user_domain_name = default \
region_name = RegionOne \
project_name = service \
username = neutron \
password = neutron_pass' /etc/nova/nova.conf


    重启NOVA服务

[root@wang03 ~] systemctl restart openstack-nova-compute.service
    

    启动neutron服务
[root@wang03 ~] systemctl enable neutron-linuxbridge-agent.service
[root@wang03 ~] systemctl restart neutron-linuxbridge-agent.service


    控制节点验证服务

[root@wang02 ~]#  openstack network agent list
wKioL1lkOO-z3DAOAABRKL9J_VM455.png

相关文章
相关标签/搜索