OpenStack Train版-8.安装neutron网络服务(控制节点)
Posted wang-hongwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack Train版-8.安装neutron网络服务(控制节点)相关的知识,希望对你有一定的参考价值。
1. 创建neutron数据库并授权
[root@controller ~]# mysql -uroot MariaDB [(none)]> CREATE DATABASE neutron; Query OK, 1 row affected (0.000 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron‘@‘localhost‘ -> IDENTIFIED BY ‘NEUTRON_DBPASS‘; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO ‘neutron‘@‘%‘ -> IDENTIFIED BY ‘NEUTRON_DBPASS‘; Query OK, 0 rows affected (0.000 sec)
2. 创建neutron用户
[root@controller ~]# openstack user create --domain default --password NEUTRON_PASS neutron +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 53701656df754e03a7971010f81eb3da | | name | neutron | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
3. 向neutron用户添加admin角色
[root@controller ~]# openstack role add --project service --user neutron admin
4. 创建neutron服务实体
[root@controller ~]# openstack service create --name neutron --description "OpenStack Networking" network +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Networking | | enabled | True | | id | 533f64aabf8240a3965ffd196579a060 | | name | neutron | | type | network | +-------------+----------------------------------+
5. 创建neutron服务端点
[root@controller ~]# openstack endpoint create --region RegionOne network public http://controller:9696 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 50645eaf294b4b649ee324c4250b40b8 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 533f64aabf8240a3965ffd196579a060 | | service_name | neutron | | service_type | network | | url | http://controller:9696 | +--------------+----------------------------------+ [root@controller ~]# openstack endpoint create --region RegionOne network internal http://controller:9696 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | eb1194025aee4581bd428a138288f93d | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 533f64aabf8240a3965ffd196579a060 | | service_name | neutron | | service_type | network | | url | http://controller:9696 | +--------------+----------------------------------+ [root@controller ~]# openstack endpoint create --region RegionOne network admin http://controller:9696 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 41708d9ae7704b008d404c641f39d4c6 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 533f64aabf8240a3965ffd196579a060 | | service_name | neutron | | service_type | network | | url | http://controller:9696 | +--------------+----------------------------------+
6. 安装软件包{配置二层网络}
[root@controller ~]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables -y 说明: openstack-neutron:neutron-server的包 openstack-neutron-ml2:ML2 plugin的包 openstack-neutron-linuxbridge:linux bridge network provider相关的包 ebtables:防火墙相关的包
7. 修改 neutron 配置文件
(1)neutron server的配置文件neutron.conf [root@controller ~]# cp -a /etc/neutron/neutron.conf{,.bak} [root@controller ~]# grep -Ev ‘^$|#‘ /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf openstack-config --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2 openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@controller openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes true openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes true openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://controller:5000 openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:5000 openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers controller:11211 openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp [root@controller ~]# vim /etc/neutron/neutron.conf [nova]([nova]自己加,加8行) auth_url = http://ct:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = nova password = NOVA_PASS (2)ML2 plugin的配置文件ml2_conf.ini [root@controller ~]# cp -a /etc/neutron/plugins/ml2/ml2_conf.ini{,.bak} [root@controller ~]# grep -Ev ‘^$|#‘ /etc/neutron/plugins/ml2/ml2_conf.ini.bak > /etc/neutron/plugins/ml2/ml2_conf.ini openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks provider openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset true (3)linux bridge network provider的配置文件linuxbridge_agent.ini [root@controller ~]# cp -a /etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak} [root@controller ~]# grep -Ev ‘^$|#‘ /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak > /etc/neutron/plugins/ml2/linuxbridge_agent.ini openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings provider:eth0 openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan false openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group true openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver 从配置文件中可以看出,INTERFACE_NAME指的是eth0,就是连接外部网络的那块网卡(provider interface)
8. 修改内核参数
[root@controller ~]# echo ‘net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1‘ >> /etc/sysctl.conf [root@controller ~]# modprobe br_netfilter [root@controller ~]# sysctl -p net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 {1}
9. dhcp agent配置文件dhcp_agent.ini
[root@controller ~]# cp -a /etc/neutron/dhcp_agent.ini{,.bak} [root@controller ~]# grep -Ev ‘^$|#‘ /etc/neutron/dhcp_agent.ini.bak > /etc/neutron/dhcp_agent.ini openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true
10. 配置元数据代理,以便和nova通讯
[root@controller ~]# cp -a /etc/neutron/metadata_agent.ini{,.bak} [root@controller ~]# grep -Ev ‘^$|#‘ /etc/neutron/metadata_agent.ini.bak > /etc/neutron/metadata_agent.ini openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host controller openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET
11. 修改nova的配置文件,也是为了和neutron进行交互
openstack-config --set /etc/nova/nova.conf neutron url http://controller:9696 openstack-config --set /etc/nova/nova.conf neutron auth_url http://controller:5000 openstack-config --set /etc/nova/nova.conf neutron auth_type password openstack-config --set /etc/nova/nova.conf neutron project_domain_name default openstack-config --set /etc/nova/nova.conf neutron user_domain_name default openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne openstack-config --set /etc/nova/nova.conf neutron project_name service openstack-config --set /etc/nova/nova.conf neutron username neutron openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS openstack-config --set /etc/nova/nova.conf neutron service_metadata_proxy true openstack-config --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret METADATA_SECRET
12. 初始数据库
建立ml2的软连接 [root@controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini 填充Neutron数据库 [root@controller ~]# 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
13. 重新启动nova-api服务
systemctl restart openstack-nova-api.service
14. 启动neutron服务和配置开机启动
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命令查看各个服务运行的状态,使用netstat -tnlup查看是否有9696端口。 [root@controller ~]# netstat -lntup|grep 9696 tcp 0 0 0.0.0.0:9696 0.0.0.0:* LISTEN 11930/server.log
至此,控制节点上的neutron服务组件安装完毕,下面切换到另外一台机器,在计算节点上安装neutron服务。
以上是关于OpenStack Train版-8.安装neutron网络服务(控制节点)的主要内容,如果未能解决你的问题,请参考以下文章
OpenStack Train版-2.安装keystone身份认证服务
OpenStack Train版-3.安装glance镜像服务
OpenStack Train版-3.安装glance镜像服务