Openstack安装Taas扩展

1.Taas扩展

Taas(tap-as-a-service):监控及服务,这个插件的主要功能就是它提供了实例的端口流量镜像功能,并且,是以物理机为单位,进行安装部署。用来做基于网络型的入侵检测系统非常合适。该项目目前的地址如下:

tap-as-a-service

2.Taas安装

Taas目前在它的git分支出了对应各个openstack版本的发行版,如下图,安装的时候最好对应自己目前openstack的版本。

2.1 安装前的注意事项

Taas的架构如下图所示,从架构图可以看出来,它底层是以openvswitch做的开发,之前如果l2层是用的是linux-bridge要换成openswitch,切换方法参考《Neutron替换linuxbridge-agent为openvswitch-agent》。

2.2 查看你的openstack版本

openstack各个发行版基本上和他的nova版本都是相对应的。查看nova版本可以直接查看python包下面的nova版本。我这里nova版本是15.1.5:

ls /usr/lib/python2.7/dist-packages/ | grep nova-

然后在openstack发行版官网点击进入各个release版本,可以查到各个版本对应的nova版本。这里我的nova版本跟Queens版本对应,说明安装的是Queens版本的openstack。

2.3 安装过程

注:以下命令均在root权限下执行

2.3.1 控制节点安装

1.下载对应版本的源码

git clone -b stable/queens https://opendev.org/x/tap-as-a-service

2.执行安装脚本

cd tap-as-a-service/
python setup.py install

:如果出现如下图所示的编码错误提示,请执行如下命令:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

3.修改/etc/neutron/neutron.conf

#添加如下内容
[service_providers]
service_provider = TAAS:TAAS:neutron_taas.services.taas.service_drivers.taas_rpc.TaasRpcDriver:default

[default]节中service_plugins添加taas
service_plugins = router,taas

4.同步数据库

neutron-db-manage --subproject tap-as-a-service upgrade head

5.重启服务使配置生效

service neutron-server restart
service neutron-openvswitch-agent restart

2.3.2 计算节点安装

1.下载对应版本的源码

git clone -b stable/queens https://opendev.org/x/tap-as-a-service

2.执行安装脚本

cd tap-as-a-service/
python setup.py install

3.修改配置文件/etc/neutron/plugins/ml2/openvswitch_agent.ini

[agent]节添加如下内容
extensions = taas

4.重启服务使配置生效

service neutron-openvswitch-agent restart

5.查看日志,应该会包含如下提示加载taas插件的内容

tail -n 40 /var/log/neutron/neutron-openvswitch-agent.log
2020-03-21 14:38:29.850 2915 INFO neutron.agent.agent_extensions_manager [-] Loaded agent extensions: ['taas']
2020-03-21 14:38:30.030 2915 INFO neutron.plugins.ml2.drivers.openvswitch.agent.openflow.native.ovs_bridge [-] Bridge br-int has datapath-ID 0000c2c0df87f842
2020-03-21 14:38:34.245 2915 INFO neutron.plugins.ml2.drivers.openvswitch.agent.openflow.native.ovs_bridge [req-e1f4e65e-dd1d-43ab-bd44-94b2e3f1c688 - - - - -] Bridge br-tun has datapath-ID 000096e69ff1374a
2020-03-21 14:38:34.258 2915 INFO neutron.agent.agent_extensions_manager [req-e1f4e65e-dd1d-43ab-bd44-94b2e3f1c688 - - - - -] Initializing agent extension 'taas'

参考

  • https://docs.openstack.org/openstack-helm/latest/install/plugins/deploy-tap-as-a-service-neutron-plugin.html