漫步云中网络,第 2 部分---Neutron LbaaS的应用场景及实现要点
来源:互联网 发布:代表中国的域名后缀 编辑:程序博客网 时间:2024/05/17 22:49
LBaaS
OpenStack 最初的目标是做 x86 平台下的开源 IaaS 云,但它目前也有了类似于 LBaaS (Load Balance as a Service)这样本属于 SaaS 的特性。
LbaaS 服务可以为一个 tenant 下的多台虚机提供负载均衡服务,要点如下:
- 提供负载均衡的虚机之间组成一个服务组
- 虚机之间提供心跳检查
- 外部通过 VIP 来访问 LB 服务组提供的服务,动态地将 VIP 根据负载均衡策略绑定到具体提供服务虚机的 fixed ip 上
下图 3 显示了 LBaaS 应用的几种情形:
图 3. LBaaS 的应用场景
说明如下:
- 有两个虚机 192.168.0.3 和 192.168.0.1 组成负载均衡池,它们之间做心跳(采用了NAT)
- 如果这个 LB 服务只用在内网,可以只为虚机提供一个内部的 vip,如 192.168.0.4
- 如果这个 LB 服务也需要从外部访问,那么这个 vip 可以做成 floating ip,如 10.1.1.10
所以实现上述 LB 服务的 neutron 命令如下:
清单 1. 实现例子 LB 服务的 neutron 命令
neurton lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id <subnet-id>neurton lb-member-create --address 192.168.0.3 --protocol-port 80 mypoolneurton lb-member-create --address 192.168.0.1 --protocol-port 80 mypoolneurton lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3neurton lb-healthmonitor-associate <lb-healthomonitor-id> mypoolneurton lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-id> mypoolneurton lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-id> mypoolneurton floatingip-create publicneurton floatingip-associate <floating-ip-id> <lb-vip-port-id>
http://www.cnblogs.com/feisky/p/3857885.html
Neutron LbaaS的应用场景及实现要点
NeutronLbaaS实现了下列应用场景:
VIP可以设置在router上
VIP也可以不设置在router上
所以在下图的实现中,要特别注意防火墙规则保证sgdefault名空间能访问sgweb名空间,即应该让VIP用的port和网关port关联,也和提供LB的虚机所用的TAP关联起来。
防火墙的流程,我分析应该如下:
1)组成LB服务的虚机所在的计算节点上应为虚机nova-compute-haproxy-instance生成它自己的nova-compute-local防火墙规则:
-A nova-compute-local -d 10.0.0.8/32 -jnova-compute-haproxy-instance
-A nova-compute-haproxy-instance -s 10.0.0.0/24-j ACCEPT
-A nova-compute-haproxy-instance -s 10.0.0.1/32-p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A nova-compute-haproxy-instance -jnova-compute-sg-fallback
-A nova-compute-sg-fallback -j DROP
同时,它也应该有一条默认路由让vip的port(位于sgweb名空间)能访问它所在的网关
route add default gw 10.0.0.1
2)L3-agent的下列防火墙规则能保证l3-agent上的vip可以访问LB池中的其他虚机。
-A nova-network-POSTROUTING -s 10.0.0.0/8 -d10.0.0.0/8 -m conntrack ! --ctstate DNAT -j ACCEPT
neurton lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id <subnet-id>neurton lb-member-create --address 192.168.0.3 --protocol-port 80 mypoolneurton lb-member-create --address 192.168.0.1 --protocol-port 80 mypoolneurton lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3neurton lb-healthmonitor-associate <lb-healthomonitor-id> mypoolneurton lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-id> mypoolneurton lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-id> mypoolneurton floatingip-create publicneurton floatingip-associate <floating-ip-id> <lb-vip-port-id>
http://www.cnblogs.com/feisky/p/3857885.html
Neutron LbaaS的应用场景及实现要点
NeutronLbaaS实现了下列应用场景:
VIP可以设置在router上
VIP也可以不设置在router上
所以在下图的实现中,要特别注意防火墙规则保证sgdefault名空间能访问sgweb名空间,即应该让VIP用的port和网关port关联,也和提供LB的虚机所用的TAP关联起来。
防火墙的流程,我分析应该如下:
1)组成LB服务的虚机所在的计算节点上应为虚机nova-compute-haproxy-instance生成它自己的nova-compute-local防火墙规则:
-A nova-compute-local -d 10.0.0.8/32 -jnova-compute-haproxy-instance
-A nova-compute-haproxy-instance -s 10.0.0.0/24-j ACCEPT
-A nova-compute-haproxy-instance -s 10.0.0.1/32-p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A nova-compute-haproxy-instance -jnova-compute-sg-fallback
-A nova-compute-sg-fallback -j DROP
同时,它也应该有一条默认路由让vip的port(位于sgweb名空间)能访问它所在的网关
route add default gw 10.0.0.1
2)L3-agent的下列防火墙规则能保证l3-agent上的vip可以访问LB池中的其他虚机。
-A nova-network-POSTROUTING -s 10.0.0.0/8 -d10.0.0.0/8 -m conntrack ! --ctstate DNAT -j ACCEPT
- 漫步云中网络,第 2 部分---Neutron LbaaS的应用场景及实现要点
- 漫步云中网络,第 2 部分
- 漫步云中网络,第 2 部分
- OpenStack网络迷宫:Neutron以及LBaaS
- Neutron 理解 (7): Neutron 是如何实现负载均衡器虚拟化的 [LBaaS V1 in Juno]
- LBaas之(五) Liberty版本Neutron LBaas实现分析
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 漫步云中网络
- 云安全之Neutron 是如何实现负载均衡器虚拟化的 [LBaaS V1 in Juno]
- Neutron 是如何实现负载均衡器虚拟化的 [LBaaS V1 in Juno]
- neutron中网络虚拟化技术的应用
- 漫步OpenStack云中网络
- ios按钮图片显示模糊
- UIButton 等控件 增加事件的方法
- HDU 4919 打表找规律 java大数 map 递归
- 頁面列印
- System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
- 漫步云中网络,第 2 部分---Neutron LbaaS的应用场景及实现要点
- win7+64位+Oracle+11g+64位下使用PLSQL+Developer+的解决办法
- Elevator
- 畅通工程 hdoj 1232
- HDOJ 题目1010Tempter of the Bone(搜索,dfs)
- NetConnection 工具类
- 自定义Tabbar实现push动画隐藏效果
- 解决linux下olt读取MySQL数据库中文乱码的问题
- VC Http提交表单