23.neutron的工作原理及controller安装配置
配置模式:
neutron:
flat
flat DHCP
VLAN
VXLAN
- 网络节点neutron和计算节点compute都会有br-tun,默认创建的,它们之间建立v*n隧道的
- 数据包通过每个计算节点的br-int连接到计算节点的br-tun,然后通过br-tun之间的v*n送到网络节点的br-tun,在送到br-int,在送到路由器从br-ext出去
- 每个计算节点之间也会建立br-tun之间的v*n通道
- 虚拟机VM和br-int不是直接连接的,qbr是linuxbridge, ovs不支持tap设备,用linux桥接qbr做中间转换连接到br-int,如下图
- A是虚拟机的接口,B是虚拟网络设备驱动,通过iptables实现对虚拟机的访问策略,B的位置就是实现安全组SecurityGroup的策略处。
配置控制节点
环境: OSP3-控制节点,OSP2-计算节点,neutronserver-网络节点 三台服务器。(RHEL7.2)
- 保证ntp, 各个compute之间是同步的,安装ntp软件包
- 配置NTP同步设置,配置yum源
- 配置hosts
最好保证ntp 各个compute之间是同步的,可以安装ntp包
控制Controller节点上:
需要安装的软件包:
- openstack-neutron.noarch
- openstack-neutron-ml2.noarch
ml2 可以实现对不同的设备进行管理,比如思科,IBM等的设备
# yum install openstack-neutron-ml2.noarch openstack-neutron.noarch -y
- 创建服务同名用户:
# openstack user create neutron --password redhat
- 添加neutron用户的admin 角色role:
# openstack role add --user neutron --project services admin
- 创建服务:
# openstack service create --name neutron network
- 创建endpoint:
# openstack endpoint create --region RegionOne --publicurl 'http://192.168.179.140:9696' --int
ernalurl 'http://192.168.179.140:9696' --adminurl 'http://192.168.179.140:9696' 565fc011c8d74a099836c6425a8bb525
- 修改配置文件:
控制节点上需要运行neutron-server这个服务
[[email protected] ~(keystone_adminv2)]# cat /usr/lib/systemd/system/neutron-server.service [Unit] Description=OpenStack Neutron Server After=syslog.target network.target
[Service] Type=notify User=neutron ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server -- config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.logPrivateTmp=true NotifyAccess=all KillMode=process
[Install] WantedBy=multi-user.target |
修改neutron.conf配置文件:如下
其中nova_admin_tenant_id可以查看openstack project list 中的services tenant id:[nova是放在services 这个tenant里面的]
neutron server启动时候是调用plugin.ini文件的,所以做个软链接
--config-file /etc/neutron/plugin.ini
修改这个plugin.ini配置文件:
- 数据库配置
create database neutron;
grant all privileges on neutron.* to [email protected]'%' identified by 'redhat';
grant all privileges on neutron.* to [email protected]'localhost' identified by 'redhat';
grant all privileges on neutron.* to [email protected]'192.168.179.140' identified by 'redhat';
# sh -c 'neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head' neutron
- 控制节点启动neutron-server的服务:
#####################################################################################################################