Ubuntu搭建Openstack平台(kilo)(五.neutron(一)控制节点)

一.neutron环境
参考文档:http://www.aboutyun.com/thread-13108-1-1.html
http://docs.openstack.org/mitaka/install-guide-ubuntu/neutron-controller-install.html
1.创建neutron数据库并授权

  • 创建
mysql -u root -p

CREATE DATABASE neutron;
  • 授权
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_PASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_PASS';
  • 退出
exit

2.生效环境变量

source admin-openrc.sh

3.创建网络用户并授权

  • 创建neutron用户
openstack user create --password-prompt neutron
User Password:(我的设置neutron)
Repeat User Password: +-----------+----------------------------------+
| Field | Value | +-----------+----------------------------------+
| domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | b20a6692f77b4258926881bf831eb683 | | name | neutron | +-----------+----------------------------------+
  • 添加admin角色到neutron用户
openstack role add --project service --user neutron admin
  • 创建neutron 服务实例
 openstack service create --name neutron --description "OpenStack Networking" network
 +-------------+----------------------------------+
| Field | Value | +-------------+----------------------------------+
| description | OpenStack Networking             |
| enabled     | True                             |
| id          | f71529314dab4a4d8eca427e701d209e |
| name        | neutron                          |
| type | network | +-------------+----------------------------------+
  • 创建网络服务API endpoint
openstack endpoint create \
--publicurl http://controller:9696 \
--adminurl http://controller:9696 \
--internalurl http://controller:9696 \
--region RegionOne \
network +--------------+----------------------------------+
| Field | Value | +--------------+----------------------------------+
| adminurl     | http://controller:9696           |
| id           | 85d80a6d02fc4b7683f611d7fc1493a3 |
| internalurl  | http://controller:9696           |
| publicurl    | http://controller:9696           |
| region_id | RegionOne | | service_id   | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron | | service_type | network                          |
+--------------+----------------------------------+

二.安装Neutron
1.安装neutron组件

apt-get install neutron-server neutron-plugin-ml2 python-neutronclient

2.配置环境

vim /etc/neutron/neutron.conf

[DEFAULT]
verbose = True
rpc_backend = rabbit
#配置认证访问
auth_strategy = keystone

#启用 Modular Layer 2 (ML2) plug-in,路由服务, 和 overlapping IP addresses:
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

#配置计算节点网络拓扑变化通知
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
nova_url = http://controller:8774/v2

[database]
connection = mysql://neutron:NEUTRON_DBPASS(neutron的数据库密码)@controller/neutron

[oslo_messaging_rabbit]
#配置RabbitMQ 消息队列服务
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS(密码为创建的消息中间件密码,我的为123)

[keystone_authtoken]
#配置认证访问
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS(我的密码neutron)

[nova]
#配置计算节点网络拓扑变化通知
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS(上一篇设置的nova密码,我的为nova)

3.配置Modular Layer 2 (ML2) plug-in

vim /etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]
#启用flat,VLAN,GRE和VXLAN网络类型驱动,GRE租户网络,和OVS机制驱动:
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = gre
mechanism_drivers = openvswitch

[ml2_type_gre]
#配置隧道标识符的id范围
tunnel_id_ranges = 1:1000

[securitygroup]
#启用security groups, 启用 ipset, 和 配置 OVS iptables firewall 驱动
enable_security_group = True
enable_ipset = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

4.重新配置网络(修改控制节点nova.conf,添加如下内容)

vim /etc/nova/nova.conf

[DEFAULT]
#配置Apis与驱动
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[neutron]
#配置访问参数
url = http://controller:9696
auth_strategy = keystone
admin_auth_url = http://controller:35357/v2.0
admin_tenant_name = service
admin_username = neutron
admin_password = NEUTRON_PASS(密码为neutron的密码,我的为neutron)

5.同步数据库(同步之后,可以看看数据库中是否存在表,有则成功,没有则表明可能sqlite数据库没删,删除后在同步rm -f /var/lib/neutron/neutron.sqlite)

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

6.重启计算服务与网络服务

service nova-api restart
service neutron-server restart

7.验证安装

  • 加载环境
source admin-openrc.sh
  • 查看创建的neutron-server进程(大概是这几项,我的好像多了一项,不知道为什么)
neutron net-list +-----------------------+-----------------------------------------------+
| alias | name | +-----------------------+-----------------------------------------------+
| security-group        | security-group                                |
| l3_agent_scheduler    | L3 Agent Scheduler                            |
| ext-gw-mode           | Neutron L3 Configurable external gateway mode |
| binding               | Port Binding                                  |
| provider              | Provider Network                              |
| agent                 | agent                                         |
| quotas                | Quota management support                      |
| dhcp_agent_scheduler  | DHCP Agent Scheduler                          |
| l3-ha                 | HA Router extension                           |
| multi-provider        | Multi Provider Network                        |
| external-net          | Neutron external network                      |
| router                | Neutron L3 Router                             |
| allowed-address-pairs | Allowed Address Pairs                         |
| extraroute            | Neutron Extra Route                           |
| extra_dhcp_opt        | Neutron Extra DHCP opts                       |
| dvr | Distributed Virtual Router | +-----------------------+-----------------------------------------------+

你可能感兴趣的:(openstack)