#干货满满#OpenAD之lbaas上架接入配置
  

Hacking 104354人觉得有帮助

{{ttag.title}}


背景:深信服OpenAD是专门针对多租户云场景的负载均衡解决方案,以华为FusionCloud+深信服OpenAD组合”仅需要使用一台OpenAD就可以虚拟出多个负载均衡设备vLB,并和华为的FusionCloud融合。用户在使用华为云平台时可直接申请获得虚拟负载均衡设备,并做到网络隔离。

LBaaS是OpenStack的负载均衡服务,默认采用的是Haproxy作为Driver实现其负载均衡功能,默认情况下,LBaaS不提供高可能功能,也就是说,一个LBaaS实例故障,将可能会影响业务的负载均衡功能。




废话不多讲,直接开始上干货,现网配置,已脱敏仅供参考:

环境变量设置:
Source set_env
密码为  FusionSphere123
Please choose environment variable  -- 选1
注意:192.168.144.244 提示修改密码  已改成 Sangfor123


一、 AD设备部署
AD设备上架较简单,大概分为以下几个步骤:
1、 设备升级到最新OpenAD版本
2、 接通对应管理、业务和双机口
3、 将设备两两配置成集群
4、 在集群上将之前选取的业务口配置成bond,这里需要找交换机负责人在对应交换机上配置bond和trunk口
AD常规操作,这里不做详细描述

二、 Saas平台操作

1. 整体结构介绍

首先介绍一下整体云环境。
XX公司拥有“XX”和“XX”两个机房,每个机房又分别划分为互联网区和外网区,所以后面我们以“XX互联网”、“XX外网”、“XX互联网”和“XX外网”来称呼这几个区域。
我们需要关心两点,每个区域的控制节点和统一的前台配置管理页面。
1) 控制节点
每个区域有三个控制节点做冗余,我们需要登录每一个控制节点去上架我们的plugin部分代码。
这里列出所有区域的控制节点ip:
XX互联网:192.168.22.213、192.168.22.17、192.168.23.211
XX外网:192.168.144.244、192.168.144.213、192.168.146.191
XX互联网:192.168.83.140、192.168.82.175、192.168.82.43
XX外网:192.168.211.120、192.168.210.71、192.168.209.33
2) 前台配置管理
所有区域使用统一的配置管理前台,需要设置host文件通过域名登录,host格式如下:
192.168.132.58 console.digitalgd.com.cn
192.168.132.58 auth.digitalgd.com.cn
192.168.132.58 docs.digitalgd.com.cn
通过console.digitalgd.com.cn登录即可,我们的测试账号密码为:
User_id: sxf_test   passwd: sangfor@123
登录后可选择配置区域:
注意区域名字后面的缩写,mmzwww对应的就是“XX外网”,其他以此类推即可。

2. 上架plugin
注意:以下操作需要在每一个控制节点上执行
首先,我们需要上传我们的代码包到每一台控制节点上面,建议使用winscp工具,账号密码如下:
User_name:fsp   passwd:Huawei@CLOUD8
暂时改成 Sangfor123
上传位置建议在fsp用户的个人目录/home/fsp下建立lbaas_tmp目录,将压缩包传到此位置。
接着通过ssh登录控制节点,用户名密码和winscp使用的相同。登陆成功后,执行su root切换用户为root,root密码为:Huawei@CLOUD8!
登陆后最好使用TMOUT=0命令,将超时时间去掉,登录永不超时。
进入刚才放置压缩包的lbaas_tmp目录,在解压之前,需要修改umask,不然解压后文件权限会有问题。执行 umask 0000
执行过后,可以解压代码包了,使用tar xvf <包名>解压。解压后文件列表如下:
由于使用setup.py安装存在权限问题,这里直接拷贝plugion文件到相应位置即可,执行命令如下:
cp -rf sangfor /usr/lib/python2.7/site-packages/neutron_lbaas/drivers/
cp -rf sangfor-openstack-lbaasv2-driver/sangforlbaasdriver /usr/lib/python2.7/site-packages/
如果不放心,可以尝试切换回fsp用户,用python加载对应路径,加载成功即可认为拷贝正常。
确认拷贝成功之后即可尝试修改neutron配置,这里操作和我们openstack测试环境不同,华为saas平台有统一的配置管理,需要通过特殊命令修改并下发配置。命令如下:
1、 修改service_plugin,增加loadbalancerV2(注意commit):
cps template-params-update --parameter service_plugins=qos_extension,huawei_ac_l2br,huawei_ac_ext,networking_huawei.drivers.ac.plugins.fwaas.fwaas_plugin.HuaweiACFwaasPlugin,networking_huawei.drivers.ac.plugins.vpnaas.vpnaas_plugin.HuaweiIPsecVPNPlugin,networking_huawei.drivers.ac.plugins.l3.ac_l3_router_plugin.HuaweiACL3RouterPlugin,neutron_lbaas.services.loadbalancer.plugin_vlb.VlbLoadBalancerPluginV2 --service neutron neutron-server
cps commit
2、 修改service_provider将我们的插件路径替换上去(注意commit):
cps template-params-update --parameter service_provider=LOADBALANCERV2:Sangfor:neutron_lbaas.drivers.sangfor.driver_v2.SangforLBaaSV2Driver:default --service neutron neutron-server
cps commit
3、 这时可以使用命令:
cps template-params-show --service neutron neutron-server
查看参数是否修改成功,成功截图如下:
4、 确认无误后重启neutron-server,命令如下:
cps host-template-instance-operate --service neutron neutron-server --action stop
cps host-template-instance-operate --service neutron neutron-server --action start
重启后可以通过:
tail -f /var/log/fusionsphere/component/neutron-server/neutron-server_info.log.200
查看三台控制节点的日志,如果存在我们插件问题导致的neutron-server启动失败,则需要立即查明原因并恢复
5、 这里有比较快速的修复方法,如果发现我们导致neutron-sever起不来,可以执行:
cps template-params-update --parameter service_provider=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default --service neutron neutron-server
cps commit
将provider恢复为默认,之后再重启neutron-server即可。
3. 部署sangfor_lbaasv2_agent
以下操作在其中一台控制节点执行即可
进入之前解压文件的lbaas_tmp目录,进入其中的sangfor-openstack-agent文件夹,执行python setup.py install,将agent代码安装到设备上。
修改agent配置文件/etc/neutron/services/sangfor/sangfor-openstack-agent.ini,形式如下:
其中server_host为对应ad集群的管理ip,server_port为管理端口。Server_admin为集群用户,server_password为集群密码。External_physical_mappings和network_segment_physical_network按图中填写即可,后面如果有需求可以找编码人员更新。
配置修改后,使用service sangfor-openstack-agent start启动agent。
执行service sangfor-openstack-agent status验证进程是否启动成功,成功则执行结果如下:
接下来使用openstack平台命令验证,执行:
neutron agent-list |grep sangfor
结果中agent状态为: )即可。

三、 AC(sdn)平台操作
可以参考华为AC配置文档。
四、 配置平台测试
1. 创建隶属于不同VPC的多个lb
登录“Saas整体结构介绍”中提到的配置平台,修改URL为:
登录后页面如下:
点击弹性负载均衡选项,进入负载配置页面:
在创建负载之前,建议登录AD后台执行:
tail -f /tmp/openstack_api.log
观察配置期间调试日志,防止一些非明显错误引发的问题。
开始创建lb,测试vpc和subnet可以找华为实施方确认,找到合适的配置项,供应商务必选择sangfor。配置截图如下:
创建后,需要在AD上确认 netns、vlan、macvlan、wan口、IP组配置是否下发成功。并且用刚刚创建的网口尝试ping网关能通:
最后,尝试在另外一个vpc上创建lb,重复上面的测试步骤即可。
4. 在单个lb中创建多个监听器
进入上一步创建好的lb配置页面,点击添加监听器:
这里配置比较特殊,监听器包括传统openstack中的listener、pool和health_monitor,创建时可以指定会话保持。这里配置组合比较多,我只截取一种作为示范:
新建后建议继续观察设备上的/tmp/openstack_api.log日志,是否会有配置下发出错。
下发成功后,在ad设备上检查 服务、会话保持、节点监视器、节点池、虚拟服务配置。
重复上述步骤,新建多个监听器,配置建议尽量尝试多种配置组合。
下面尝试修改监听器配置,修改页如下:
建议一次修改包括  调度算法、会话保持和监视器的所有字段,方便测试。
修改后,观察ad上是否也走了对应改动。
下面测试添加后端云服务器,对应openstack的member,也就是我们的节点,添加比较简单,只能使用vpc内部的云服务器:
添加后,观察AD上的节点池中是否存在对应节点。
业务测试这里建议根据实际情况测试,如果云服务器比较难做处理,可以尝试用四层负载ssh。如果操作比较方便,可以直接测试http,这里是很常规的AD上架测试,不做赘述了。

5. 删除配置测试
根据 后端云服务器->监听器->负载 的顺序删除配置,每次删除后,去AD上查看openstack_api.log日志,同时检查对应配置是否删除成功。

打赏鼓励作者,期待更多好文!

打赏
41人已打赏

发表新帖
热门标签
全部标签>
西北区每日一问
安全效果
高手请过招
【 社区to talk】
干货满满
社区新周刊
每日一问
新版本体验
技术盲盒
技术咨询
产品连连看
纪元平台
标准化排查
GIF动图学习
功能体验
社区帮助指南
信服课堂视频
安装部署配置
解决方案
SDP百科
自助服务平台操作指引
玩转零信任
S豆商城资讯
秒懂零信任
每周精选
畅聊IT
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
2023技术争霸赛专题
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人