EasyStack-OpenStack负载均衡的现状与发展
------------------------------------------------------------------------------------------------
EasyStack-OpenStack负载均衡的现状与发展
OpenStack负载均衡的现状与发展
大纲
OpenStackLBaaS的现状
Octavia实现方式及其发展方向
EASYSTAC
K
负载均衡前存在的问题
?大量用户发起请求的情况下,服务器负载过高,导致部分请求无响应
负载均衡的产生
?负载均衡器将请求分发到不同的后端服务器,保证所有请求被正常处理
主流实现-LVS
?采用IP负载均衡技术和基于
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
请求分发。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉故障的服务器,从而将一组服务器构成一个高性能的、高可用的服务器集群
主流实现-
Nginx
?Nginx是一个很强大的高性能Web和反向代理服务器,最大优——————————————————————————————————————
------------------------------------------------------------------------------------------------
势在于高负载情况下对内存和CPU的低消耗,在高并发的情况下,Nginx是Apache服务器不错的替代品
主流实现-HAProxy?
?
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理特别适用于那些负载特大的Web站点,这些站点通常需要会话保持或七层处理
大纲
负载均衡及主流实现技术
Octavia实现方式及其发展方向
EASYSTAC
K
Neutronlbaas?Neutron中的loadbalance服务lbaas,可以将来自公网或内部网络的访问流量分发到资源池中的云主机上,可以随时增加减少提供服务的云主机而不影响业务
Neutronlbaas?Neutron lbaas是基于Neutron实现的,架构遵循service plugin的要求
Neutronlbaas?lbaas在OpenStack的Grizzly版本集成到Neutron中
Neutronlbaasv2?社区lbaas的最新API版本是v2,在Kilo中发布,包含以下概念:
lbaas/lbaasv2与HAProxy的关系
——————————————————————————————————————
------------------------------------------------------------------------------------------------
大纲
负载均衡及主流实现技术OpenStackLBaaS的现状
EASYSTAC
K
Octavia介绍?Octavia当前作为lbaasv2的一个driver存在,完全兼容lbaasv2的接口,最终会作为一个独立的项目代替lbaasv2
Octavia架构
Octavia实现原理
Octavia版本OpenStack release
liberty
0.5mitaka0.8newton0.9ocata1.0?
Octavia
active/active模式(设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
)
Octavia目前存在的问题
?使用Octavia时,在Neutron和Octavia中都会有database,会重复记录一些资源信息,需要我们保证数据的一致性。
Octavia每创建一个loadbalancer,都会在admin租户下创建包含同样policy的ServerGroup。虚拟机以及虚拟机上的port也属于admin租户,会占用admin租户下的配额。同时,一个loadbalancer的创建会占用租户subnet内额外的IP资源和port配额,会影响当前租户的配额。
Lbaasnetwork等参数的使用不够灵活,目前是写在octavia配置文——————————————————————————————————————
------------------------------------------------------------------------------------------------
件中。??
Octavia的发展方向
LBaaS独立的项目完全兼容
lbaasv2API?wsgi?endpointimplementation
Octavia是否短时间内会取代lbaasreference
社区的声音赞成
1.neutron和lbaas在不同的项目里,修改neutron项目可能对lbaas造成破坏,同时维护不方便
2.使用相类似的测试方法对lbaas和octavia都进行测试,比较浪费时间
3.lbaas和neutron两个项目中活跃的team并
不一样,对neutron和lbaas的发展没有益处
4.Octavia拥有自己的restAPI,可以直接发起请求,当前维护两套api太浪费反对1.将octavia独立成为一个project还需要很多大量工作,目前维护两个简单的项目还是相对值得的2.目前将所有的networking API进行统一管理还是有价值的
Octavia社区规划目标
巴塞罗那峰会的消息1.
2.
3.
4.
5.
——————————————————————————————————————
------------------------------------------------------------------------------------------------
6.
7.
8.
9.lbaasv2的API继续保留,octavia中也会继续对v2版本功能保持兼容添加policy的支持,将对policy的支持从neutron中提取出来,放入octavia项目中继续tempest测试工作,包括TLS/SNI、L7等scenario测试将lbaas的部分bug移入到octavia来解决lbaas相关DB的迁移,从neutron中迁移到Octavia完成octavia的A/A多活模式
openstackclient相关工作暂时不紧急,继续使用python-neutronclient提供支持lbaasv2版本的horizon支持和完善添加更多lbaas的功能,比如L7 content modification
DemoTime
——————————————————————————————————————