CONTENTS
1、neutron网络介绍
(1)neutron基本概念
- 网络连接服务
- 面向租户API接口,用于创建虚拟网络、路由器、负载均衡、关联网络接口至指定网络和路由
- 通过API接口管理虚拟或物理交换机
- 提供Plugin架构来支持不同的技术平台
- Neutron Private Network——提供固定私网地址
- Neutron Public Network——提供浮动IP 地址
(2)neutron关键概念
- Network
- 一个L2网络单元
- 租户可通过Neutron API创建自己的网络
- Subnet
- 一段IPV4/IPV6 地址段
- 为Instance提供私网或公网地址
- Router
- 三层路由器
- 为租户的Instance 提供路由功能
- Port
- 虛拟交换机上的端口
- 管理Instance 的网卡
(3)组件架构
(4)neutron plugin
- Open vSwitch
- Linux Bridge
- Ciso NX1000
- Nicira NVP
- Ryu
- NEC OpenFlow
- Floodnight
(5)neutron+Nova架构
(6)neutron组件
组件沟通方式
(7)neutron常见的构建类型
- Single FLAT Network
- Multi FLAT Ne twork
- Mixed FLAT and Private Network
- Provider Router with Private Network
- Per-tenant Routers with Private Network
2、neutron配置
2.1 安装并配置controller节点
(1)创建数据库,完成下列步骤:
#a.使用root用户连接mysql数据库
mysql -u root -p
#b.创建neutron数据库
CREATE DATABASE neutron;
#c.创建数据库用户neutron,并授予neutron用户对neutron数据库完全控制权限
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
d.退出数据库连接
(2)执行admin环境变量脚本并在认证服务中创建网络服务的认证信息,完成下列步骤:
source admin.sh
#a.创建neutron用户
keystone user-create --name neutron --pass NEUTRON_PASS
#b.连接neutron用户到serivce租户和admin角色
keystone user-role-add --user neutron --tenant service --role admin
#c.创建neutron服务
keystone service-create --name neutron --type network --description "OpenStackNetworking"
#d.创建neutron服务端点
keystone endpoint-create \
--service-id $(keystone service-list | awk '/ network / {print $2}') \
--publicurl http://controller.nice.com:9696 \
--adminurl http://controller.nice.com:9696 \
--internalurl http://controller.nice.com:9696 \
--region regionOne
(3)安装网络服务组件并配置
#安装
yum install openstack-neutron openstack-neutron-ml2 python-neutronclient which -y
#配置网络服务组件
#编辑/etc/neutron/neutron.conf文件,并完成下列操作:
#a.编辑[database]小节,配置数据库访问
[database]
...
connection=mysql://neutron:NEUTRON_DBPASS@controller.nice.com/neutron
#b.编辑[DEFAULT]小节,配置RabbitMQ消息队列访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest
#c.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http://controller.nice.com:5000/v2.0
identit