赞
踩
该功能的实现参照了社区的spec:https://docs.openstack.org/octavia/latest/contributor/specs/version1.1/active-active-l3-distributor.html
实现代码:https://github.com/jeffyjf/octavia/tree/ct_dev
由于代码并未完全参照社区spec,并且初步实现代码比较粗糙,所有代码并未提交到社区。
负载均衡器多活模式抽象架构示意图:
在该模式下,一个负载均衡器有多个amphora组成,这些amphora同时工作,提供强大的并发性能,和高强度的稳定性(一个amphora失败时不影响整体的功能)。工作原理:amphora集群前端有一高性能分发器,集群内的amphora要提前注册到前端分发器,该分发器在二、三层分发流量,把用户访问负载均衡器VIP的流量按照一定算法分配到不同的amphora,然后由amphora提供四、七层的负载均衡功能。
负载均衡横向扩展架构图
目前多活模式的实现我们借助核心路由器充当分发器,借助核心路由器的ECMP协议分发流量,借助bgp协议向分发器(核心路由器)注册amphora。
1、amphora通过管理网向核心路由器发布路由,因此amphora管理网要和核心路由连通,核心路由上的bgp需要和管理网上的所有amphora建立对等(路由器这边需要手工提前建立好)
2、amphora向核心路由发布的路由的目的地址为负载均衡的VIP地址,下一跳为前端网络在amphora上的地址,因此前端网络要直连到核心路由器,访问VIP地址的流量需要路由到核心路由器,上报路由不能和路由器上现有路由冲突,因此前端网络和VIP网络需要提前规划
2、流量经前端网络访问VIP,然后再经haproxy转发到租户网络,因此在amphora内:前端网络,VIP网络,租户网络要位于同一namespace,因此三个网络地址不能冲突
使用步骤:
1、规划VIP网络,并创建VIP网络(访问VIP网络的流量需要经过核心路由,因此横向扩展目前只支持外网)
2、创建distributor(distributor是用于在负载均衡器集群前端分发流量的设备,设想将来可以支持多种distributor,目前实现的是l3 distributor, 该distibutor借助核心路由器的ECMP分发流量,amphora通过bgp分发路由的形式注册到distributor)
3、创建flavor,(topology为ACTIVE_ACTIVE, distributor为第2步创建的distibutor,max_amphora_num为为单个distirubtor可以注册的 amphora的数量,由于目前ECMP最大支持32条等价路由,所有该值最大为32)
4、创建负载均衡器,openstack loadbalancer create --vip-network-id <第1步规划的VIP网络> --flavor <第3步创建的flavor> --name
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。